<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1259118976010164221</id><updated>2024-08-27T21:15:18.713-07:00</updated><category term="Respaldo y Recuperacion Export / Import Oracle 9i y Oracle 10g"/><category term="seguridad oracle usuarios roles perfiles"/><title type='text'>Oracle 9i</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ltioracle9i.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://ltioracle9i.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>regh</name><uri>http://www.blogger.com/profile/10982628756721687344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1259118976010164221.post-4402683482674631405</id><published>2011-06-08T15:02:00.000-07:00</published><updated>2011-06-08T15:03:46.771-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Respaldo y Recuperacion Export / Import Oracle 9i y Oracle 10g"/><title type='text'>Respaldo y Recuperacion Export / Import Oracle 9i y Oracle 10g</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; &quot;&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;Proyecto punto 9.b&lt;/h3&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;1. Objetivos&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Breves apuntes de cómo hacer un &lt;strong&gt;export/import&lt;/strong&gt; en Oracle9i ( &lt;strong&gt;DataPump utility&lt;/strong&gt; en oracle10g sustituye al export/Import de oracle9i )&lt;/p&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;2. ¿Qué es un export/import en Oracle?&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Export/Import es una utilidad de Oracle para realizar &lt;strong&gt;backups lógicos de Oracle &lt;/strong&gt;( y luego poderlos restaurar ). Esto significa que copian el contenido de la BD pero sin almacenar la posición física de los datos. Para realizar estas operaciones la base de datos tiene que estar abierta.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Para crear el fichero de backup se utiliza la utilidad &lt;strong&gt;export&lt;/strong&gt; y para importar el contenido o recuperar la base de datos se realiza &lt;strong&gt;import&lt;/strong&gt;.&lt;br /&gt;Este tipo de backup se utiliza en los siguientes casos:&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;- Para realizar backups de bases de datos ( pequeñas/medianas bases de datos )&lt;br /&gt;- Para corregir &quot;Row Migration &amp;amp; Row Chaining&quot;&lt;br /&gt;- Detectar alguna corrupción en la base de datos, puesto que al hacer el export se lee toda la bd.&lt;br /&gt;- Para &quot;migrar&quot; una base de datos a otro servidor&lt;/p&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;3. Export en Oracle 9i&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Mediante unos ejemplos vamos a explicar cómo realizar algunos export en una versión de base de datos 9i, por supuesto existirán más formas de hacer exports según los argumentos que se le pasen:&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;El &lt;strong&gt;comando&lt;/strong&gt; para realizar export en Oracle 9i es &lt;strong&gt;exp&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Para ver todos los argumentos y significado de ellos de un export basta con realizar un &lt;strong&gt;exp help=yes&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Ejemplo1: Copia completa de la base de datos&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;codigo&quot; style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;$exp file=/oracle9/export_orasite.dmp full=yes log=/oracle9/log/export_orasite.log buffer=1000000&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;file=/oracle9/export_orasite.dmp &amp;gt; Nombre y ubicación del archivo del export ( el usuario oracle tiene que tener permisos para escribir ahi. La extensión de este archivo es dmp.&lt;br /&gt;&lt;br /&gt;full=yes&amp;gt; Con esto indicamos que el export es completo, todos los esquemas de la base de datos y sus datos permisos, privilegios ..&lt;br /&gt;&lt;br /&gt;log=/oracle9/log/export_orasite.log &amp;gt; fichero para tener el log del export, el usuario oracle también tiene que tener permisos en ese directorio para escribir.&lt;br /&gt;&lt;br /&gt;buffer=1000000 &amp;gt; reservamos buffer para la operación.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Ejemplo2: Copia de tablas especificas de un usuario&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;codigo&quot; style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;$exp scott/tiger file=orasitescott.dmp tables=(emp,dept) buffer=1000000&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;En este caso realizamos sólo un backup de las tablas especificadas en el argumento tables del usuario scott&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Ejemplo3: Copiar tablas de un usuario con una condición especifica&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;codigo&quot; style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;$exp scott/tiger file=c:\orasitempleados.dmp tables=emp query=\&quot;where deptno=10\&quot;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Exportamos la tabla emp del usuario scott y en el argumento query espeficificamos una condición para realizar el export de esa tabla&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&quot;&lt;strong&gt;Export interactivo&lt;/strong&gt;&quot;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Otra forma de realizar un export es poniendo simplemente en la línea de comando exp y esperar a que te vaya pidiendo la utilidad los parámetros que requiere.&lt;br /&gt;De esta forma te pedirá el usuario, constraseña, si quieres hacer copia sólo de la estructura, con datos, sin datos, nombre del archivo ... etc.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Recomendaciones&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Se pueden hacer &lt;strong&gt;exports con diferentes versiones de Oracle&lt;/strong&gt;, aunque es recomendable realizar el export con la misma versión de la base de datos.En todo caso si se hace con un cliente, si la versión es superior o la misma a la de la base de datos, Oracle &quot;asegura&quot; que no existe ningún problema en realizarlo.&lt;/p&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;4. Import Oracle 9i&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Partiendo de un archivo realizado con la utilizad export podemos recuperar datos de toda la base de datos, de ciertas tablas, etc.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;El &lt;strong&gt;comando&lt;/strong&gt; para realizar export en Oracle 9i es &lt;strong&gt;imp&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Para ver todos los argumentos y significado de ellos de un export basta con realizar un &lt;strong&gt;imp help=yes&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Ejemplo1: Importar todo el archivo exportado&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;codigo&quot; style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;$imp system/manager file=c:\orasitefull.dmp full=yes ignore=yes&lt;br /&gt;log=c:\orasite\log\import_log.log buffer=1000000&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Importamos con el usuario system que tiene permisos para importar el archivo orasitefull.dmp dejando un log de dicha importación en import_log.log reservando un buffer de 100000&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;Ejemplo2: Importar una tabla de un usuario concreto&lt;/strong&gt;&lt;/p&gt;&lt;p class=&quot;codigo&quot; style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;$imp scott/tiger file=orasitempleados.dmp fromuser=scott touser=scott tables=dept&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Importamos del archivo orasitempleados.dmp sólo del usuario scott de ese archivo al esquema del usuario scott la tabla departamento&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&quot;&lt;strong&gt;Import interactivo&lt;/strong&gt;&quot;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Otra forma de realizar un import al igual que el export es introducir en la línea de comando &lt;strong&gt;imp&lt;/strong&gt; y esperar a que te vaya pidiendo la utilidad los parámetros que requiere.&lt;br /&gt;De esta forma te pedirá el usuario, constraseña, el archivo para importar, qué quieres importar del archivo ... etc.&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://ltioracle9i.blogspot.com/feeds/4402683482674631405/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/respaldo-y-recuperacion-export-import.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/4402683482674631405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/4402683482674631405'/><link rel='alternate' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/respaldo-y-recuperacion-export-import.html' title='Respaldo y Recuperacion Export / Import Oracle 9i y Oracle 10g'/><author><name>regh</name><uri>http://www.blogger.com/profile/10982628756721687344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1259118976010164221.post-6407287891238363836</id><published>2011-06-08T14:57:00.001-07:00</published><updated>2011-06-08T15:01:01.260-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="seguridad oracle usuarios roles perfiles"/><title type='text'>Seguridad Oracle</title><content type='html'>Punto 9.c proyecto&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;*SEGURIDAD&lt;/div&gt;&lt;div&gt;*USUARIO ROOT&lt;/div&gt;&lt;div&gt;**ROL&lt;/div&gt;&lt;div&gt;-QUITAR ROL DBA&lt;/div&gt;&lt;div&gt;ALTER USER &quot;ROOT&quot; DEFAULT ROLE  ALL EXCEPT DBA&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-ASIGNAR ROL DBA&lt;/div&gt;&lt;div&gt;REVOKE &quot;DBA&quot; &lt;/div&gt;&lt;div&gt;    FROM &quot;ROOT&quot;;&lt;/div&gt;&lt;div&gt;GRANT &quot;DBA&quot; TO &quot;ROOT&quot; WITH ADMIN OPTION;&lt;/div&gt;&lt;div&gt;ALTER USER &quot;ROOT&quot; DEFAULT ROLE  ALL&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-QUITAR PRIVILEGIO UPDATE&lt;/div&gt;&lt;div&gt;REVOKE UPDATE ANY &lt;/div&gt;&lt;div&gt;    TABLE &lt;/div&gt;&lt;div&gt;    FROM &quot;ROOT&quot;&lt;/div&gt;&lt;div&gt;GRANT UPDATE ANY TABLE TO &quot;ROOT&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-DAR PRIVILEGIO UPDATE&lt;/div&gt;&lt;div&gt;REVOKE UPDATE ANY &lt;/div&gt;&lt;div&gt;    TABLE &lt;/div&gt;&lt;div&gt;    FROM &quot;ROOT&quot;&lt;/div&gt;&lt;div&gt;GRANT UPDATE ANY TABLE TO &quot;ROOT&quot; WITH ADMIN OPTION&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;*ROLES&lt;/div&gt;&lt;div&gt;**CREAR ROL&lt;/div&gt;&lt;div&gt;CREATE ROLE &quot;USUARIO&quot;  &lt;/div&gt;&lt;div&gt;    IDENTIFIED BY &quot;uaa&quot;;&lt;/div&gt;&lt;div&gt;GRANT SELECT ANY TABLE TO &quot;USUARIO&quot; WITH ADMIN OPTION&lt;/div&gt;&lt;div&gt;GRANT &quot;CONNECT&quot; TO &quot;USUARIO&quot; WITH ADMIN OPTION;&lt;/div&gt;&lt;div&gt;GRANT &quot;DBA&quot; TO &quot;USUARIO&quot; WITH ADMIN OPTION;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;**DAR ROL&lt;/div&gt;&lt;div&gt;REVOKE &quot;USUARIO&quot; &lt;/div&gt;&lt;div&gt;    FROM &quot;ROOT&quot;;&lt;/div&gt;&lt;div&gt;GRANT &quot;USUARIO&quot; TO &quot;ROOT&quot; WITH ADMIN OPTION;&lt;/div&gt;&lt;div&gt;ALTER USER &quot;ROOT&quot; DEFAULT ROLE  ALL&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;**QUITAR ROL&lt;/div&gt;&lt;div&gt;REVOKE &quot;USUARIO&quot; &lt;/div&gt;&lt;div&gt;    FROM &quot;ROOT&quot;;&lt;/div&gt;&lt;div&gt;GRANT &quot;USUARIO&quot; TO &quot;ROOT&quot;;&lt;/div&gt;&lt;div&gt;ALTER USER &quot;ROOT&quot; DEFAULT ROLE  ALL&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;-------------------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;-------------------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;-------------------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;mas sobre seguridad&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: rgb(51, 51, 51); font-family: Tahoma, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; &quot;&gt;&lt;h2 class=&quot;contentheading&quot; style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 5px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; font-weight: normal; font-size: 24px; &quot;&gt;&lt;a href=&quot;http://www.orasite.com/administracion-de-oracle/administracion-de-usuarios-en-oracle&quot; class=&quot;contentpagetitle&quot; style=&quot;color: rgb(207, 51, 57); text-decoration: none !important; cursor: pointer; &quot;&gt;Administración de usuarios en Oracle&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;1. Creación de usuarios&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Una de las más básicas tareas de un administrador de base de datos es identificar los usuarios. Cada usuario que conecta en la base de datos debe de tener una cuenta. En las cuentas compartidas son difíciles de aplicar una auditoria.&lt;br /&gt;&lt;br /&gt;Para crear un usuario utilizamos la sentencia &lt;strong&gt;CREATE USER&lt;/strong&gt;. Cuando creas una cuenta como mínimo tienes que asignar un único nombre (username) y una contraseña para poder autenticarse.&lt;br /&gt;&lt;br /&gt;Para cambiar alguno de los atributos que se le ha añadido al usuario creado se utiliza la sentencia &lt;strong&gt;ALTER USER&lt;/strong&gt;.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;2. Autenticación Oracle&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Cuando uno se conecta con una instancia de una base de datos la cuenta de usuario debe de estar autenticada. ORACLE provee tres métodos de autenticación para nuestra cuenta de usuario.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;AUTENTICACIÓN MEDIANTE PASSWORD&lt;/strong&gt;:&lt;br /&gt;&lt;br /&gt;Cuando un usuario conecta con una base de datos verifica que este usuario y la contraseña introducida almacenada en la base de datos, sea correcta. Las contraseñas se guardan encriptadas en la base de datos (en el data dictionary).&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER david IDENTIFIED BY tititus;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;En este caso tititus es la contraseña de david que será guardada encriptada en la base de datos.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;&lt;strong&gt;AUTENTICACIÓN EXTERNA:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Cuando un usuario conecta con la base de datos se verifica que el nombre de usuario es el mismo que el nombre de usuario del sistema operativo para permitir la validación.&lt;br /&gt;&lt;br /&gt;No se almacenan las cuentas en la base de datos de ninguna forma. Estas cuentas están siempre referidas con OPS$ .A partir de la versión 10g puedes configurar&lt;strong&gt;OS_AUTHENT_PREFIX&lt;/strong&gt; en el spfile&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER ops$david IDENTIFIED BY tititus;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Mediante &lt;strong&gt;IDENTIFIED EXTERNALLY&lt;/strong&gt; decimos a la base de datos que nuestra cuenta es externa y tiene que ser validada con el sistema operativo.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;AUTENTICACIÓN GLOBAL:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Cuando un usuario se conecta con la base de datos se verifica globalmente cuando la información pasa por una opción avanzada de seguridad ( &lt;strong&gt;ADVANCED SECURITY OPTION&lt;/strong&gt; ) para la autenticación tal como Kerberos, RADIUS ....&lt;br /&gt;&lt;br /&gt;Para las cuentas globales no se almacena tampoco nada en la base de datos.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER david IDENTIFIED GLOBALLY AS ‘CN=alumnos,OU=campus .......’&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Mediante &lt;strong&gt;IDENTIFIED GLOBALLY&lt;/strong&gt; decimos a la base de datos que nuestra cuenta se autentica globalmente, mediante otra opción de seguridad avanzada.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;h3 style=&quot;font-family: &#39;Segoe UI&#39;, Arial, Helvetica, sans-serif; margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(59, 89, 152); &quot;&gt;3. Asignaciones a los usuarios&lt;/h3&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;ASIGNACIÓN DE UN USUARIO A UN TABLESPACE ( DEFAULT TABLESPACE )&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;Mediante esta sentencia asignamos un usuario a un tablespace, este será su tablespace por defecto cuando creamos un usuario.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;Mediante esta sentencia, en caso de tener creado ya el usuario le asignamos un tablespace.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; ALTER USER david DEFAULT TABLESPACE users;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;La base de datos toma un tablespace por defecto, en caso de querer cambiar este tablespace utilizamos la siguiente sentencia&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; ALTER DATABASE DEFAULT TABLESPACE users;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;ASIGNACIÓN DE UN USUARIO A UN TABLESPACE TEMPORAL&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Un tablespace temporal se utiliza para almacenar “segmentos” temporales que son creados durante operaciones como&lt;strong&gt; ORDER BY,SELECT DISTINCT, MERGE JOIN o CREATE INDEX&lt;/strong&gt;. A veces a los usuarios se les asocia un tablespace temporal para realizar este tipo de operaciones, cuando estas operaciones finalizan este segmento temporal que se ha creado exclusivamente para la operación desaparece.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER david IDENTIFIED BY tititus DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;Mediante &lt;strong&gt;TEMPORARY TABLESPACE&lt;/strong&gt; asignamos como tablespace temporal temp al usuario david. En caso de que el usuario esté creado si queremos asignarle un tablespace temporal utilizamos &lt;strong&gt;ALTER USER&lt;/strong&gt;&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; ALTER USER david TEMPORARY TABLESPACE Temp;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;ASIGNACIÓN DE UN PERFIL A UN USUARIO&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Al igual que podemos asignar un tablespace a un usuario, también podemos asignarle un perfil (profile). El principal perfil ( profile ) por defecto se denomina default.&lt;br /&gt;&lt;br /&gt;Si el usuario no está lo podemos crear de la siguiente forma:&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; CREATE USER david IDENTIFIED BY tititus&lt;br /&gt;DEFAULT TABLESPACE users&lt;br /&gt;TEMPORARY TABLESPACE temp&lt;br /&gt;PROFILE resource_profile;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;En caso de que el usuario ya esté creado al igual que en los anteriores casos utilizamos la sentencia &lt;strong&gt;ALTER USER&lt;/strong&gt;.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; ALTER USER david PROFILE resource_profile;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;BORRADO DE UN USUARIO&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para borrar un usuario utilizamos la sentencia &lt;strong&gt;DROP USER&lt;/strong&gt;, podemos opcionalmente incluir la opción &lt;strong&gt;CASCADE&lt;/strong&gt;, se utiliza para borrar recursivamente los objetos del usuario que se pretende borrar.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; DROP USER david CASCADE&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;OTORGANDO PRIVILEGIOS (GRANTING)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;A un usuario podemos otorgarle una serie de privilegios. Un privilegio permite a un usuario acceder a ciertos objetos o realizar ciertas acciones:.&lt;br /&gt;- Privilegios sobre Objetos ( Object privileges ) a permisos sobre vistas, tablas, secuencias, procedimientos, paquetes.&lt;br /&gt;- Privilegios del Sistema ( System privileges ) a permisos sobre “niveles de la base de datos” como pueden ser conexión a la base de datos, creación de usuarios, limitar cuentas.&lt;br /&gt;- Privilegios sobre Roles ( Role privileges ) a muchos permisos son otorgados mediante roles agrupando un conjunto de privilegios.&lt;br /&gt;&lt;br /&gt;Para otorgar privilegios utilizamos la sentencia &lt;strong&gt;GRANT&lt;/strong&gt;, para quitar un privilegio o permiso a un usuario utilizamos la sentencia &lt;strong&gt;REVOKE&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;EJEMPLOS:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Privilegio sobre una tabla:&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; GRANT ALL ON tabla_alumnos TO david&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;Siendo tabla_alumnos una tabla de nuestra base de datos y david un usuario de esta, hemos asignado mediante GRANT ALL,todos los permisos al usuario david sobre esta tabla.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;GRANT ALL = permisos SELECT, INSERT, UPDATE, DELETE&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;Si queremos asignar sólo uno de estos permisos utilizamos la misma sentencia pero con el permiso que queramos otorgar.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; GRANT SELECT ON tabla_alumnos TO david&lt;br /&gt;SQL &amp;gt; GRANT SELECT,INSERT ON tabla_alumnos TO david&lt;br /&gt;&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;&lt;strong&gt;Privilegio sobre una vista:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Para el caso de las vistas podemos a un usuario otorgar permisos &lt;strong&gt;SELECT, INSERT, UPDATE, DELETE, DEBUG, REFERENCES&lt;/strong&gt;.&lt;br /&gt;Siendo vista_alumnos una vista de nuestra base de datos y david un usuario de esta:&lt;br /&gt;&lt;br /&gt;Otorgamos al usuario david todos los permisos sobre la vista vista_alumnos.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; GRANT ALL ON vista_alumnos TO david&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;Otorgamos al usuario david algunos permisos sobre la vista_alumnos&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; GRANT SELECT ON vista_alumnos TO david&lt;/pre&gt; &lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; GRANT SELECT,INSERT ON vista_alumnos TO david&lt;/pre&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;br /&gt;&lt;strong&gt;Privilegio sobre una secuencia:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Con las secuencias pasa lo mismo que con los anteriores objetos vistos, para otorgar permisos se utiliza &lt;strong&gt;GRANT&lt;/strong&gt;. Los permisos que podemos otorgar a una secuencia es&lt;strong&gt;SELECT &lt;/strong&gt;o &lt;strong&gt;ALTER&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Privilegio sobre un paquete,función o procedimiento:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Los permisos que podemos otorgar a las funciones, paquetes o procedimientos almacenados en nuestra base de datos son los siguientes: &lt;strong&gt;EXECUTE&lt;/strong&gt;, &lt;strong&gt;DEBUG&lt;/strong&gt;.&lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt; &lt;/p&gt;&lt;p style=&quot;margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; &quot;&gt;&lt;strong&gt;QUITANDO PRIVILEGIOS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Si queremos quitar un privilegio a uno de estos objetos haremos lo mismo que con GRANT pero utilizando la sentencia REVOKE.&lt;/p&gt;&lt;pre style=&quot;margin-top: 15px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; display: inline-table; min-width: 53%; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(0, 0, 0); font-family: &#39;Courier New&#39;; font-size: 12px; color: rgb(255, 255, 255); background-position: initial initial; background-repeat: initial initial; &quot;&gt;SQL &amp;gt; REVOKE ALL ON tabla_usuarios FROM david&lt;/pre&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ltioracle9i.blogspot.com/feeds/6407287891238363836/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/seguridad-oracle.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/6407287891238363836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/6407287891238363836'/><link rel='alternate' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/seguridad-oracle.html' title='Seguridad Oracle'/><author><name>regh</name><uri>http://www.blogger.com/profile/10982628756721687344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1259118976010164221.post-4286397701896306964</id><published>2011-06-08T14:35:00.000-07:00</published><updated>2011-06-08T14:39:00.672-07:00</updated><title type='text'>Conectar Java a Oracle</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; align=&quot;center&quot; style=&quot;width: 635px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;span id=&quot;VisorContenido1_lblContenido&quot;&gt;&lt;p&gt;&lt;span class=&quot;Titulo1&quot;&gt;&lt;span &gt;&lt;span class=&quot;Titulo1&quot;&gt;Como conectar a ORACLE con Java&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Subtitulo&quot; id=&quot;a1&quot;&gt;¿Que es JDBC y para que se utiliza?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Subtitulo&quot;&gt;&lt;/span&gt;&lt;strong&gt;    JDBC&lt;/strong&gt; es la interfaz que proporciona Java para la conexión a bases de datos. Son un conjunto de clases e interfaces que permiten a Java ejecutar consultas y ordenes en una bases de datos.&lt;/p&gt;&lt;p&gt;    Para poder conectar a Java con ORACLE lo primero que necesitamos es la implementación de JDBC para ORACLE. Esta implementación se encuentra en el archivo &lt;strong&gt;Classes12.jar&lt;/strong&gt; que podemos encontrar en el siguiente directorio del servidor de Oracle.&lt;/p&gt;&lt;blockquote dir=&quot;ltr&quot; style=&quot;margin-right: 0px; &quot;&gt;&lt;p&gt;%ORACLE_HOME%\jdbc\lib&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;nota&quot;&gt;ORACLE_HOME es una variable de entorno que se crea durante la instalación del servidor ORACLE, y que indica donde está instalado fisicamente ORACLE dentro del sistema de archivos, normalmente C:\oracle\ora92 para servidores Windows y ORACLE 9i. Esta .misma nomenclatura se aplica al hablar de la instalación cliente&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span class=&quot;nota&quot;&gt;&lt;span class=&quot;texto&quot;&gt;    Debemos configurar correctamente nuestra variable &lt;strong&gt;CLASSPATH&lt;/strong&gt; para incluir en ella el archivo&lt;strong&gt;Classes12.jar.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p dir=&quot;ltr&quot;&gt;&lt;span class=&quot;nota&quot;&gt;&lt;span class=&quot;texto&quot;&gt;&lt;/span&gt;&lt;/span&gt;    Oracle proporciona los siguientes drivers en su implementacion JDBC:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;JDBC Thin Driver&lt;/strong&gt;: No requiere de la instalación cliente de ORACLE. Ideal para Applets. &lt;/li&gt;&lt;li&gt;&lt;strong&gt;JDBC OCI&lt;/strong&gt; :API nativa de ORACLE, para aplicaciones J2EE.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;JDBC KPRB driver&lt;/strong&gt;: (default connection) para Java Stored Procedures y Database JSP&#39;s.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;    Todos los drivers soportan la misma sintaxis y funcionalidad, por lo que nuestro código variará únicamente en la forma de crear la conexion.&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Subtitulo&quot; id=&quot;a2&quot;&gt;Conectar a ORACLE con JDBC Thin Driver&lt;/span&gt;&lt;/p&gt;&lt;p&gt;    El driver JDBC Thin se conecta y comunica con ORACLE a nivel de sockets. Proporciona su propia versión del protocolo Net8 (SQL*Net) sobre TCP/IP, por lo que no es necesario que exista una instalación de la parte cliente de ORACLE. Dado que este driver es código 100% Java es completamente independiente de la plataforma de ejecución, y como implementa su propia versión del protocolo es ideal para aplicaciones que se ejecutan sobre un navegador Web (applets)    &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;607&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 87px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;pre&gt;&lt;span &gt;&lt;strong&gt; import&lt;/strong&gt;&lt;/span&gt; java.sql.*;&lt;br /&gt;&lt;strong&gt;&lt;span &gt; class&lt;/span&gt;&lt;/strong&gt; dbAccess {&lt;br /&gt;  &lt;strong&gt;&lt;span &gt;public static void&lt;/span&gt;&lt;/strong&gt; main (&lt;strong&gt;&lt;span &gt;String&lt;/span&gt;&lt;/strong&gt; args []) &lt;strong&gt;&lt;span &gt;throws&lt;/span&gt;&lt;/strong&gt; SQLException&lt;br /&gt;  {   &lt;br /&gt;&lt;br /&gt;   DriverManager.registerDriver (&lt;strong&gt;&lt;span &gt;new&lt;/span&gt;&lt;/strong&gt; oracle.jdbc.driver.OracleDriver());&lt;/pre&gt;&lt;pre&gt;    Connection conn = DriverManager.getConnection&lt;br /&gt;          (&lt;span &gt;&quot;jdbc:oracle:thin:@WIN01:1521:oracleBD&quot;&lt;/span&gt;, &lt;span &gt;&quot;user&quot;&lt;/span&gt;, &lt;span &gt;&quot;passw&quot;&lt;/span&gt;);&lt;br /&gt;         &lt;span &gt;// driver@machineName:port:SID           ,  userid,  password&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    Statement stmt = conn.createStatement();&lt;br /&gt;    ResultSet rset =&lt;br /&gt;             stmt.executeQuery(&lt;span &gt;&quot;select BANNER from SYS.V_$VERSION&quot;&lt;/span&gt;);&lt;br /&gt;    &lt;strong&gt;&lt;span &gt;while &lt;/span&gt;&lt;/strong&gt;(rset.next())&lt;br /&gt;         System.out.println (rset.getString(1));   &lt;span &gt;// Print col 1&lt;/span&gt;&lt;br /&gt;    stmt.close();&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;} &lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Subtitulo&quot; id=&quot;a3&quot;&gt;Conectar a ORACLE con JDBC OCI Driver&lt;/span&gt;&lt;/p&gt;&lt;p&gt;    El driver JDBC OCI usa el API ORACLE OCI (Oracle Call Interface) para interactuar con ORACLE, por lo que es necesaria la instalación y configuración de la parte cliente de ORACLE. El driver OCI trabaja con SQL*Net o Net8, por lo que tamdebemos haber creado un alias en el archivo TNS names&lt;br /&gt;(%ORACLE_HOME%\network\ADMIN):&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;607&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 87px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;blockquote dir=&quot;ltr&quot; style=&quot;margin-right: 0px; &quot;&gt;&lt;pre&gt;ORACLEBD =&lt;br /&gt;  (DESCRIPTION =&lt;br /&gt;    (ADDRESS_LIST =&lt;br /&gt;      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN01)(PORT = 1521))&lt;br /&gt;    )&lt;br /&gt;    (CONNECT_DATA =&lt;br /&gt;      (SERVICE_NAME = ORACLEBD)&lt;br /&gt;    )&lt;br /&gt;  )&lt;/pre&gt;&lt;/blockquote&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;    El driver JDBC OCI permite realizar llamadas a ORACLE OCI directamente desde Java proporcionando&lt;br /&gt;un alto grado de compatibilidad con una versión específica de ORACLE utilizando métodos nativos, pero específicos de la plataforma. &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;607&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 87px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;pre&gt;&lt;strong&gt;&lt;span &gt; import&lt;/span&gt;&lt;/strong&gt; java.sql.*;&lt;br /&gt;&lt;strong&gt;&lt;span &gt; class&lt;/span&gt;&lt;/strong&gt; dbAccess&lt;br /&gt;{&lt;br /&gt;  &lt;strong&gt;&lt;span &gt;public static void&lt;/span&gt;&lt;/strong&gt; &lt;strong&gt;main&lt;/strong&gt; (&lt;strong&gt;&lt;span &gt;String&lt;/span&gt;&lt;/strong&gt; args []) &lt;strong&gt;&lt;span &gt;throws&lt;/span&gt;&lt;/strong&gt; SQLException&lt;br /&gt;  {&lt;br /&gt;    &lt;strong&gt;&lt;span &gt;try&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;    {&lt;br /&gt;     Class.forName (&lt;span &gt;&quot;oracle.jdbc.driver.OracleDriver&quot;&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;    &lt;strong&gt;&lt;span &gt;catch&lt;/span&gt;&lt;/strong&gt; (ClassNotFoundException e)&lt;br /&gt;    {&lt;br /&gt;     e.printStackTrace();&lt;br /&gt;    }&lt;/pre&gt;&lt;pre&gt;    Connection conn = DriverManager.getConnection&lt;br /&gt;         (&lt;span &gt;&quot;jdbc:oracle:oci:@ORACLEBD&quot;&lt;/span&gt;, &lt;span &gt;&quot;user&quot;&lt;/span&gt;, &lt;span &gt;&quot;passw&quot;&lt;/span&gt;);&lt;br /&gt;          &lt;span &gt;//               @TNSNames_Entry,  userid,  password&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;    Statement stmt = conn.createStatement();&lt;br /&gt;    ResultSet rset =&lt;br /&gt;             stmt.executeQuery(&lt;span &gt;&quot;select BANNER from SYS.V_$VERSION&quot;&lt;/span&gt;);&lt;br /&gt;    &lt;strong&gt;&lt;span &gt;while&lt;/span&gt;&lt;/strong&gt; (rset.next())&lt;br /&gt;          System.out.println (rset.getString(1));   &lt;span &gt;// Print col 1&lt;/span&gt;&lt;br /&gt;    stmt.close();&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span class=&quot;Subtitulo&quot; id=&quot;a4&quot;&gt;Conectar a ORACLE con JDBC KPRB Driver&lt;/span&gt;&lt;/p&gt;&lt;p&gt;    Por último el driver ORACLE JDBC KPRB es utilizado para escribir en Java  procedimientos almacenados, funciones,  triggers ... Ofrece acceso a la conexion activa por lo que no es necesario crear ninguna conexión adicional.&lt;/p&gt;&lt;p&gt;    El driver JDBC KPRB de ORACLE permite obtener un handle de la conexion actual del contexto a través del método &lt;strong&gt;OracleDriver.defaultConenction()&lt;/strong&gt;. Como hemos dicho, se utiliza para procedimientos almacenados, triggers .... Para ejecutar un procedimiento almacenado debemos estar conectados a ORACLE a través de una herramienta cliente como SQL*Plus., lo que hacemos con defaultConenction() es acceder a está conexion.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;607&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 87px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;blockquote dir=&quot;ltr&quot; style=&quot;margin-right: 0px; &quot;&gt;&lt;pre&gt;&lt;strong&gt;&lt;span &gt;CREATE OR REPLACE AND COMPILE&lt;br /&gt;JAVA SOURCE NAMED &lt;span &gt;BANNER&lt;/span&gt; AS&lt;br /&gt;import&lt;/span&gt;&lt;/strong&gt; java.sql.*;&lt;br /&gt;&lt;strong&gt;&lt;span &gt;class&lt;/span&gt;&lt;/strong&gt; dbAccess&lt;br /&gt;{&lt;br /&gt;  &lt;span &gt;&lt;strong&gt;public static String&lt;/strong&gt; &lt;/span&gt;showBanner() &lt;strong&gt;&lt;span &gt;throws&lt;/span&gt;&lt;/strong&gt; SQLException&lt;br /&gt;  {&lt;br /&gt;    String banner=&lt;span &gt;&quot;&quot;&lt;/span&gt;;&lt;br /&gt;   Connection conn =&lt;br /&gt;   (&lt;strong&gt;&lt;span &gt;new&lt;/span&gt;&lt;/strong&gt; oracle.jdbc.driver.OracleDriver()).defaultConnection();&lt;/pre&gt;&lt;pre&gt;    Statement stmt = conn.createStatement();&lt;br /&gt;    ResultSet rset =&lt;br /&gt;             stmt.executeQuery(&lt;span &gt;&quot;select BANNER from SYS.V_$VERSION&quot;&lt;/span&gt;);&lt;br /&gt;    &lt;strong&gt;&lt;span &gt;while&lt;/span&gt;&lt;/strong&gt; (rset.next())&lt;br /&gt;          banner += rset.getString(1);          &lt;span &gt;&lt;br /&gt;&lt;/span&gt;    &lt;span &gt;//stmt.close(); NO CERRAR LA CONEXION&lt;/span&gt;&lt;br /&gt;   &lt;span &gt;&lt;strong&gt;return&lt;/strong&gt;&lt;/span&gt; banner;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;    Es necesario crear un &quot;wrapper&quot; para poder ejecutar el programa desde PL/SQL o SQL.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;607&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 87px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;blockquote dir=&quot;ltr&quot; style=&quot;margin-right: 0px; &quot;&gt;&lt;pre&gt;&lt;span &gt;&lt;strong&gt;CREATE OR REPLACE FUNCTION&lt;/strong&gt;&lt;/span&gt; ShowBanner &lt;strong&gt;&lt;span &gt;RETURN VARCHAR2&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span &gt;IS&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span &gt;LANGUAGE JAVA NAME&lt;/span&gt;&lt;/strong&gt; &lt;span &gt;&#39;dbAccess.showBanner() return java.lang.String&#39;&lt;/span&gt;;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;    Una vez hecho esto, podemos ejecutar la función como si se tratase de una función PL/SQL.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;table class=&quot;ejemplo&quot; width=&quot;605&quot; align=&quot;center&quot; style=&quot;table-layout: fixed; width: 605px; height: 30px; &quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;texto&quot;&gt;&lt;pre&gt; &lt;strong&gt;SELECT&lt;/strong&gt; ShowBanner &lt;strong&gt;FROM DUAL&lt;/strong&gt;;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;fuente: &lt;/a&gt;&lt;a href=&quot;http://www.devjoker.com/html/Como-conectar-a-ORACLE-con-Java-.html&quot;&gt;http://www.devjoker.com/html/Como-conectar-a-ORACLE-con-Java-.html&lt;/a&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt; &lt;/a&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;----------------------------------------------------------------------------------------------------------------&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;/a&gt;&lt;a&gt;----------------------------------------------------------------------------------------------------------------&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;/a&gt;&lt;a&gt;&lt;/a&gt;&lt;a&gt;----------------------------------------------------------------------------------------------------------------&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;Conexion, en la cual definimos la config de la conexion a la BD&lt;br /&gt;y una clase Conector que retorna la conexion activa en caso de que exista o crea una nueva en caso negativo.&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; *&lt;br /&gt; * @author atocarruncho&lt;br /&gt; */&lt;br /&gt;import java.sql.*;&lt;br /&gt;&lt;br /&gt;public class Conexion&lt;br /&gt;{&lt;br /&gt;static String bd = &quot;ORCL&quot;;&lt;br /&gt;static String login = &quot;nombreesquema&quot;;&lt;br /&gt;static String password = &quot;clave&quot;;&lt;br /&gt;static String url = &quot;jdbc:oracle:thin:@172.16.1.3:1521:&quot;+bd;&lt;br /&gt;private Connection conn;&lt;br /&gt;private Statement leam;&lt;br /&gt;private ResultSet resultado;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public Conexion() {&lt;br /&gt;   &lt;br /&gt;        try {&lt;br /&gt;            Class.forName(&quot;oracle.jdbc.driver.OracleDriver&quot;).newInstance();&lt;br /&gt;        } catch (IllegalAccessException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        } catch (ClassNotFoundException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        } catch (InstantiationException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;        try {&lt;br /&gt;            conn = DriverManager.getConnection(url,login,password);&lt;br /&gt;        } catch (SQLException ex) {&lt;br /&gt;            ex.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;   &lt;br /&gt;  if (conn != null)&lt;br /&gt;    {&lt;br /&gt;            try {&lt;br /&gt;                leam = conn.createStatement();&lt;br /&gt;                System.out.println(&quot;hay conexion con BD&quot;);&lt;br /&gt;            } catch (SQLException ex) {&lt;br /&gt;                ex.printStackTrace();&lt;br /&gt;            }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void ejecutarSQL(String sentencia)&lt;br /&gt;   throws SQLException,Exception{  &lt;br /&gt;      System.out.println(sentencia);&lt;br /&gt;      leam.execute(sentencia);     &lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;public ResultSet ejecutar(String sentencia)throws SQLException,Exception{&lt;br /&gt;      System.out.println(sentencia);&lt;br /&gt;                resultado =null;&lt;br /&gt;      resultado = leam.executeQuery(sentencia);&lt;br /&gt;     &lt;br /&gt;      return resultado;&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;protected void finalize(){&lt;br /&gt;      try {&lt;br /&gt;         conn.close();  &lt;br /&gt;      }&lt;br /&gt;      catch(Exception e){              &lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public class Conector{&lt;br /&gt;     &lt;br /&gt;     private static Conexion conectorBD = null;&lt;br /&gt;  &lt;br /&gt;   /**&lt;br /&gt;    *Método estático que devuelve el&lt;br /&gt;    *objeto AccesoBD para que sea utilizado&lt;br /&gt;    *por las clases&lt;br /&gt;    *@return objeto del tipo AccesoBD del paquete&lt;br /&gt;    *CapaAccesoDatos&lt;br /&gt;    */&lt;br /&gt;   &lt;br /&gt;   public static Conexion getConector() throws&lt;br /&gt;   java.sql.SQLException,Exception{&lt;br /&gt;      if (conectorBD == null){        &lt;br /&gt;         conectorBD = new Conexion();&lt;br /&gt;      }&lt;br /&gt;      return conectorBD;&lt;br /&gt;   }&lt;br /&gt;  &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-------------&lt;br /&gt;Podrás simplemente lanzar una consulta de la siguiente manera:&lt;br /&gt;&lt;br /&gt;ResultSet rs = Conector.getConector().ejecutar(&quot;SELECT * from EMP&quot;);&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Times New Roman&#39;; font-size: medium; &quot;&gt;&lt;a&gt;fuente: &lt;/a&gt;&lt;/span&gt;&lt;a href=&quot;http://www.zonaoracle.com/foro/index.php?topic=935.0;wap2&quot;&gt;http://www.zonaoracle.com/foro/index.php?topic=935.0;wap2&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ltioracle9i.blogspot.com/feeds/4286397701896306964/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/conectar-java-oracle.html#comment-form' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/4286397701896306964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/4286397701896306964'/><link rel='alternate' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/conectar-java-oracle.html' title='Conectar Java a Oracle'/><author><name>regh</name><uri>http://www.blogger.com/profile/10982628756721687344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1259118976010164221.post-7451828214868539735</id><published>2011-06-07T14:51:00.000-07:00</published><updated>2011-06-07T14:55:09.143-07:00</updated><title type='text'>Proyecto</title><content type='html'>&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;1.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-spacerun:yes&quot;&gt; &lt;/span&gt;Aplicación desarrollada en esquema Cliente - Servidor &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;2.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Utilización de transacciones a ni vel codigo(commit, rollback,savepoint)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg08sql.htm#2177&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg08sql.htm#2177&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;b.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_919a.htm#2065509&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_919a.htm#2065509&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;3.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Utilización de estructuras fisicas y lógicas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;4.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Administración de espacios de tablespace y segmentos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/tspaces.htm#5874&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/tspaces.htm#5874&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;b.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/undo.htm#9090&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/undo.htm#9090&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;5.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Utilización de índices (Bitmap o B-tree)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96520/indexes.htm#99539&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96520/indexes.htm#99539&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;6.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Aplicar la instancia de operación en código&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/start.htm#6089&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/start.htm#6089&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;b.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;a href=&quot;http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_22a.htm#2052902&quot;&gt;http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_22a.htm#2052902&lt;/a&gt;&lt;span class=&quot;label&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;7.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Aplicación de control de transacciones,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Punto 2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;8.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Aplicación de control de concurrencia y consistencia de datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;9.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;La aplicación debe incluir a través de un menú de Herramientas:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;a.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Prender y apagar la base de datos&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;b.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Respaldo y recuperación &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72.0pt;mso-add-space: auto;text-indent:-18.0pt;mso-list:l0 level2 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;c.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;Seguridad&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span class=&quot;label&quot;&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;10.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;10.- Entregar impreso y en Disco: Manual técnico y Manual de usuario.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-indent:-18.0pt;mso-list:l0 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin&quot;&gt;&lt;span style=&quot;mso-list:Ignore&quot;&gt;11.&lt;span style=&quot;font:7.0pt &amp;quot;Times New Roman&amp;quot;&quot;&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;label&quot;&gt;11.- Entregar en CD (Instalador) y Código fuente&lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://ltioracle9i.blogspot.com/feeds/7451828214868539735/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/proyecto.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/7451828214868539735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1259118976010164221/posts/default/7451828214868539735'/><link rel='alternate' type='text/html' href='http://ltioracle9i.blogspot.com/2011/06/proyecto.html' title='Proyecto'/><author><name>regh</name><uri>http://www.blogger.com/profile/10982628756721687344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>