Sunteți pe pagina 1din 186

Cons sultora y Ca apacitacin n

Ora acle e Da atab base e 10 0g

A minis Ad stra acin nI


Prime era Edicin

Eric Gu ustavo Corone el Castil llo

F Febrer ro - 20 009

Oracle Database 10g Administracin I


Derechos Reservados 2009 Eric Gustavo Coronel Castillo Primera Edicin

Contacto
Email: gcoronelc@gmail.com Telfono: (511) 996-664-457 Lima - Per

Contenido
Leccin 01: Arquitectura de la Base de Datos Oracle 10g
Arquitectura de Oracle 10g ..................................................................................................................... 2 La Instancia de Oracle............................................................................................................................. 3 La Base de Datos de Oracle ................................................................................................................... 4

Leccin 02: Introduccin a las Estructuras de Almacenamiento


Estructuras Lgicas ............................................................................................................................... 14 Estructuras Fsicas ................................................................................................................................ 16 Esquemas de Base de Datos ................................................................................................................ 18

Leccin 03: El Diccionario de Datos


Introduccin al Diccionario de Datos..................................................................................................... 22 Componentes Privados ......................................................................................................................... 23 Componentes Pblicos.......................................................................................................................... 28

Leccin 04: Usuarios Administradores


Administrador de la Seguridad y Privilegios de la Base de Datos ...................................................... 32 Autenticacin del Administrador de Base de Datos.............................................................................. 34 Creacin y Manteniendo el Archivo de Contraseas............................................................................ 44

Leccin 05: Inicio y Parada de la Base de Datos


Introduccin ........................................................................................................................................... 52 Inicio de una Base de Datos de Oracle................................................................................................. 53 Comando: STARTUP ............................................................................................................................ 55 Comando: SHUTDOWN ........................................................................................................................ 56 Comando: ALTER DATABASE ............................................................................................................. 59

Leccin 06: Acceso a la Base de Datos Oracle


Verificacin de Servicios Windows ....................................................................................................... 62 Identificacin del Servicio y la Instancia de Base de Datos ................................................................ 65 Configuracin del Mtodo de Nomenclatura Local ............................................................................... 75 Configuracin del Proceso Escucha ..................................................................................................... 77 Glosario.................................................................................................................................................. 79

Leccin 07: Administracin de la Instancia


Parmetros de Inicializacin ................................................................................................................. 84 Dimensionando el SGA ......................................................................................................................... 94 Manejo de Sesiones .............................................................................................................................. 97 Archivos de Alertas .............................................................................................................................. 103

III

Leccin 08: Administracin del Archivo de Control


Qu es el Archivo de Control? .......................................................................................................... 106 Establecer el Nombre de los Archivos de Control .............................................................................. 107 Multiplexado el Archivo de Control ...................................................................................................... 108 Creando Copias Adicionales, Renombrando y Reubicando Archivos de Control ............................. 109 Mostrando Informacin del Archivo de Control ................................................................................... 111

Leccin 09: Administracin del los Redo Logs


Que es el Redo Log? ........................................................................................................................ 114 Planificacin de los Redo Log Files .................................................................................................... 118 Creando Groupos y Miembros Redo Log ........................................................................................... 119 Eliminando Grupos y Miembros Redo Log ......................................................................................... 121 Consultando Informacin sobre los Redo Log .................................................................................... 123 Ejercicio ............................................................................................................................................... 123

Leccin 10: Administracin de Tablespaces


Esquema de la Base de Datos ............................................................................................................ 126 Gua para Administrar Tablespaces .................................................................................................... 128 Administracin de Tablespaces .......................................................................................................... 129 Tablespace Administrado Localmente ................................................................................................ 131 Tablespaces Temporales .................................................................................................................... 137 Especificando Bloques NO Estndares para Tablespaces ............................................................... 139 Gestionando Tablespaces ................................................................................................................... 140 Gestionando Tablespaces ................................................................................................................... 140

Leccin 11: Usuarios y Recursos


Administracin de Usuarios................................................................................................................. 144 Administracin de Recursos con Perfiles ........................................................................................... 149 Verificar Informacin sobre Usuarios y Perfiles .................................................................................. 160

Leccin 12: Privilegios y Roles


Entendiendo Privilegios y Roles .......................................................................................................... 164 Administracin de Roles ...................................................................................................................... 169 Concediendo Privilegios y Roles ......................................................................................................... 171 Revocando Privilegios y Roles ............................................................................................................ 176 Verificar Informacin sobre Privilegios y Roles................................................................................... 180

IV

Leccin 01
Arquitectura de la Base de Datos Oracle 10g
Contenido Arquitectura de Oracle 10g Esquema General Esquema Ampliado 2 2 3 4 4 5 7 9

La Instancia de Oracle Estructuras en Memoria El System Global Area (SGA) Procesos de Fondo

La Base de Datos de Oracle

Oracle Database 10 0g Ad dministracin nI

Arquit tectura de d Orac cle 10g


Esquem ma General
El servidor Oracle est compue esto de vario os archivos, procesos y estructuras s en memor ria grupan en dos compone entes: La Ins stancia Ora acle y la Base de Datos Oracle. que se ag

Por cada a instancia de d Oracle se e tiene una sola base de datos, en un servidor se puede en crear varias instanc cias, pero se s recomien nda solo un na, porque cada instan ncia consum me muchos recursos. r

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 01 ura de la Base e de Datos Oracle 10g Arquitectu

Esquem ma Ampliado

Para consultar el nom mbre de la in nstancia ejec cute la siguiente consult ta:
SQL L> select in nstance_nam me from v$in nstance; STANCE_NAME INS ---------------Orc cl [ [Enter]

Para consultar el nom mbre de la base b de dato os ejecute la siguiente co onsulta:


SQL L> select na ame from v$database; ME NAM --------ORC CL [Enter]

www.perudev.net

Oracle Database 10 0g Ad dministracin nI

La Ins stancia de d Oracl le


Estructuras en Memoria a

Oracle ut tiliza la mem moria para almacenar inf formacin co omo: Cdigo de los program mas. Informacin n sobre las sesiones s act tuales, incluso si no est activa. La informa acin necesa aria durante e la ejecuci n de un pr rograma, Po or ejemplo, el estado actu ual de una consulta c de la cual se es stn trayendo o las filas. Informacin n que es compartida c y se comun nica entre p procesos de e Oracle. Por ejemplo, informacin bloqueada. b Contiene los datos qu ue tambin se almace enan perman nentemente en memor ria perifrica. Por P ejemplo, los bloques s de los dato os y entrada as del redo lo og.

ucturas bsic cas de memoria asociad das con Orac cle incluyen: Las estru System Glo obal Area (S SGA), que es compartida por todos los proceso os del servidor y procesos s de fondo. Program Global G Area a (PGA), qu ue es priva ado a cada proceso del servidor y procesos de d fondo; ha ay un PGA p para cada proceso.

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 01 ura de la Base e de Datos Oracle 10g Arquitectu

El Syst tem Glob bal Area (SGA)


El SGA est e conform mado por tres s componen ntes obligatorios y tres opcionales.

Compon nentes Obligatorios del SGA


El siguien nte cuadro muestra m los componente c es obligatorio os del SGA. Compon nente SGA Shared Pool P Database Buffer Cac che og Buffer Redo Lo De escripcin Co ontiene las s sentencias SQL S usadas mas recient temente que e ha an sido ejecu utadas por lo os usuarios d de la base de d datos. Co ontiene los d datos que ha an sido mas recientemen nte ac ccedidos por r los usuarios s de la base e de datos. Alm macena info ormacin de las transacc ciones para propsitos de e recuperaci n.

Compon nentes Opc cionales del d SGA


El siguien nte cuadro muestra m los componente c es opcionales del SGA. Compon nente SGA Java Poo ol Large Po ool Descri ipcin Almace ena el cdig go de las aplicaciones y objetos Java a que se han usado ms recient temente cua ando se utiliz za el JVM de e Oracle. Almac n de datos para grande es operacion nes, como actividades a de bac ckup y restau uracin de Recovery R Ma anager (RMA AN) y compo onentes com mpartidos del l servidor. Almac n de data a asociada con n requerimie entos hechos s a la cola de mensa ajes cuando Oracles Advanced Que euing esta en n uso.

Streams Pool

www.perudev.net

Oracle Database 10 0g Ad dministracin nI

Para consultar el SG GA ejecute el l siguiente co omando:


SQL L> show sga [Enter] 289406976 6 1247528 8 83887832 2 197132288 8 7139328 8 bytes bytes bytes bytes bytes

tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers

La salida a de este co omando muestra el tam mao total de d SGA, es 289,406,976 bytes. Es ste tamao total t est co ompuesto de d un espac cio variable (Variable S Size) que lo o conforma el Shared Pool, P el Larg ge Pool, y el Java Poo ol (1,247,52 28 bytes), el l Database Buffer Cach he (197,132,288 bytes), el Redo Log Buffer (7,1 139,328 byte es), y el esp pacio adicion nal (1,247,52 28 bytes) qu ue guarda inf formacin usada por los s procesos de d fondo de la instancia. . Tambin podemos utilizar la vista V$SGA pa ara consulta ar informaci n sobre el SGA, S tal com mo se ilustra a a continuac cin:
SQL L> select * from v$sga; [Enter] VALUE ME NAM -------------------- ---------Fix xed Size 1247528 Var riable Size 83887832 Dat tabase Buffe ers 197132288 Red do Buffers 7139328

La vista V$SGA_DY V NAMIC_CO OMPONENTS S permite co onsultar deta alles adicion nales sobre el espacio asignado a dentro del SGA A; segn lo muestra la siguiente s con nsulta:
SQL L> select co omponent,current_size from v$sga_ _dynamic_co omponents; [Enter] [ MPONENT RENT_SIZE CURR COM ------------------------------ -----------sha ared pool 75497472 lar rge pool 4194304 jav va pool 4194304 str reams pool 0 DEF FAULT buffer r cache 1 197132288 KEE EP buffer ca ache 0 REC CYCLE buffer r cache 0 DEF FAULT 2K buf ffer cache 0 DEF FAULT 4K buf ffer cache 0 DEF FAULT 8K buf ffer cache 0 DEF FAULT 16K bu uffer cache 0 DEF FAULT 32K bu uffer cache 0 ASM M Buffer Cac che 0 ccionadas. 13 filas selec

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 01 ura de la Base e de Datos Oracle 10g Arquitectu

Tambin se puede usar u el Enter rprise Mana ager Databa ase Control para consultar el tama o de cada componente c e del SGA, ta al como se m muestra a co ontinuacin:

Proces sos de Fo ondo


Hay muc chos tipos de e procesos de fondo de e Oracle. Ca ada uno realiza un traba ajo especfic co que ayud da a maneja ar la instancia. Oracle requieren cinco c proces sos de fond do de manera obligatori ia, y varios procesos de e fondo son n opcionales s. Los proce esos de fond do opcionale es pueden o no ser utilizados dep pendiendo d de cuales so on las carac ctersticas opcionales o d de Oracle qu ue se estn utilizando en la base de e datos.

www.perudev.net

Oracle Database 10 0g Ad dministracin nI

Proceso os de Fond do Obligato orios


El siguien nte cuadro muestra m los procesos p de e fondo oblig gatorios: Operating System Pro ocess SMON

Process s Name System Monitor M

D Description Es el proceso encargado E o de recuper rar la in nstancia y abrir la base de datos en n caso de fallas en la in nstancia. Este proceso E o se encarga a de liberar los l recursos s d servidor asignados del a a la conexin n de un u usuario en ca aso que la c conexin a tr ravs del p proceso serv vidor asignad do falle. Escribe los bloques E b mod dificados de la base de d datos del Da atabase Buff fer Cache del d SGA a los a archivos de datos d (datafiles) en disc co. Escribe la inf E formacin de e recuperac cin de transaccione es del Redo L Log Buffer del SGA a os archivos Redo Log en lnea en disco. lo Actualiza los A s archivos de e la base de datos cada v que ocur vez rre un event to Checkpoin nt.

Process Monitor

PMON

Database Writer

DBWn*

ter Log Writ

LGWR

Checkpo oint

CKPT

* La n en n cualquier nombre de proceso del l sistema op perativo sign nifica que ms de uno de d estos pro ocesos pued den estar en n funcionamiento. En es stos casos, la n se subs stituye por un u valor numrico. Por ejemplo, si cuatro procesos Writer W de la a base de datos est n funcionan ndo, sus nombres de pr roceso en e el nivel del sistema s oper rativo son DBW0, D DBW W1, DBW2, y DBW3.

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 01 ura de la Base e de Datos Oracle 10g Arquitectu

La Base de Datos de Oracle

Una insta ancia es una a estructura a temporal e en memoria, pero la bas se de datos de Oracle se s compone e de un siste ema de arc chivos fsicos s que reside en en los discos del se ervidor. Esto os archivos se llaman control c files, datafiles s, y redo log gs. Los arc chivos fsico os adicionale es que se asocian a a la base de da atos de Ora acle, pero que tcnicam mente no so on parte de la base de datos, son el e password file, el PFI ILE y SPFIL LE, y los arc chived redo o log files. El siguiente e cuadro res sume el pa apel de cad da uno de estos e juego os de los archivos en la arquitectu ura de la bas se de datos. Tipo de Archivo Control Inform macin Contenida en el Archivo Ubicac cin de los otros o archivo os, nombre d de la base de datos, tamao del bloque e de la base de datos, ju uego de cara acteres de la a base de d datos, e informacin de recupera acin fsica. Estos archivo os se requie eren para ab brir la base d de datos. Toda la data de la as aplicacion nes y la meta adata interna a. Regist tra todos los s cambios he echos en la b base de dato os; usado para propsitos p de e recuperaci in. Parm metros de configuracin del d SGA, ca aractersticas s opcionales s de Ora acle, y proce esos de back kground. Copia el contenido o de los redo log en lne ea, usado pa ara sitos de recu uperacin. props Es un archivo opc cional usado para almace enar el nombre de los usuarios a los que e se les ha otorgado o el p privilegio SYSDBA y/o SYSOPER.

Datafile Redo Lo og Paramet ter (PFILE o SPFILEE) Archived d Log Passwor rd

www.perudev.net

Oracle Database 10 0g Ad dministracin nI

Podemos s consultar lo os archivos de control e ejecutando la a siguiente c consulta:


SQL L> select na ame from v$controlfile e; [Enter r]

ME NAM ------------------------------------------------------C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\CONTROL0 01.CTL C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\CONTROL0 02.CTL C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\CONTROL0 03.CTL

Tambin podemos re ealizar la mis sma consult ta en EM Da atabase Control:

s consultar lo os archivos de datos eje ecutando la siguiente co onsulta: Podemos


SQL L> select na ame from v$datafile; [Enter]

ME NAM --------------------------------------------------------C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\SYSTEM01 1.DBF C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\UNDOTBS0 01.DBF C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\SYSAUX01 1.DBF C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\USERS01. .DBF C:\ \ORACLE\PROD DUCT\10.2.0\ORADATA\OR RCL\EXAMPLE0 01.DBF

10

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 01 ura de la Base e de Datos Oracle 10g Arquitectu

Tambin podemos re ealizar la con nsulta de so obre loa data afiles en EM M Database Control:

rupos Redo Logs ejecute e la siguiente consulta: Para consultar los gr


SQL L> select gr roup#, members from v$ $log; GROUP# MEMBERS -------- -----------1 1 2 1 3 1 [Ent ter]

Esta consulta nos in ndica que tenemos tres grupos, y cada c grupo t tiene un solo miembro, o sea, un archivo. a Par ra consultar los archivo os miembros s de cada grupo ejecute e la siguiente consulta:
SQL L> select gr roup#, member from v$l logfile orde er by 1; GROUP# ---------1 2 3 [Enter]

MEM MBER -------------------------------------------------C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\OR RCL\REDO01.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\OR RCL\REDO02.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\OR RCL\REDO03.LOG

www.perudev.net

11 1

Oracle Database 10 0g Ad dministracin nI

El siguien nte grafico ilustra la form ma como trab bajan los arc chivos redo log:

Tambin podemos co onsultar los redo logs en n EM Databa ase Control: :

ara consultar los archivos miembro os de un gr rupo, hacem mos clic en el En esta ventana pa q correspo onde al grup po a consulta ar, en la colu umna Grupo o. nmero que 12 Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 02
Introduccin a las Estructuras de Almacenamiento
Contenido Estructuras Lgicas Estructuras Fsicas Esquemas de Base de Datos 14 16 18

Oracle Database 10 0g Ad dministracin nI

Estruc cturas Lgicas L


Oracle divide la bas se de datos s en unidades ms peq queas para a manejar, almacenar, y recuperar los datos eficienteme ente. El sigu uiente grafico muestra la estructura a lgica de la base de datos. d

La siguie ente consulta a muestra los tablespace es que se cr rean junto co on la base de datos:
SQL L> select na ame from v$tablespace; ; ME NAM -----------------------------SYS STEM UND DOTBS1 SYS SAUX USE ERS TEM MP EXA AMPLE f selecc cionadas. 6 filas [Enter r]

14

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 02 2 Introduccin a las Estru ucturas de Almacenamient to

A continu uacin tenem mos una bre eve descripc cin de los ta ablespaces q que se crean junto con la base de datos. d
Tablaspac ce Des scripcin

system

El tablespace SYSTEM se e utiliza para a el dicciona ario de los da atos y cdigo o PL L/SQL, y no debe ser us sado para alm macenar obj jetos de otro os es squemas. Almacena info ormacin de las transacc ciones para los propsit tos co onsistencia y recuperaci n. El tablespace SYSAUX es s nuevo a Oracle10g y a almacena se egmentos us sados para opciones o de la base de datos, d tales como Autom matic Workload Rep pository (repositorio que guarda peri idicamente e informacin n relativa a la ac ctividad del s sistema), On nline Analytical Processing (OLAP), y Spatial. S Ut tilizado como o tablespace e por defecto o para usuarios de la ba ase de datos s. Us sado para op peraciones d de grandes ordenamien o to.

undotbs1 1 sysaux

users temp

Tambin podemos co onsultar los tablespaces s utilizando la l herramien nta EM Data abase Contro ol, tal como se ilustra a continuacin n:

www.perudev.net

15 5

Oracle Database 10 0g Ad dministracin nI

Estruc cturas Fsicas F


El siguie ente grafico muestra la a relacin que q existe entre las estructuras e fsicas y la as estructura as lgicas de almacenamiento.

16

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 02 2 Introduccin a las Estru ucturas de Almacenamient to

Cada tab blespace tien ne asignado o por lo men nos un dataf file. Algunos s tablespace e, por razone es de admin nistracin y rendimiento pueden est tar conforma ados por varios datafile. La siguiente consulta nos muestra a los datafile es por tables space.
SQL L> select ta ablespace_name, file_n name from db ba_data_fil les; [Enter r] BLESPACE_NAM ME TAB -------------------USE ERS SYS SAUX UND DOTBS1 SYS STEM EXA AMPLE FILE_NAME ---------------------------------------------------DUCT\10.2.0\ \ORADATA\OR RCL\USERS01. .DBF C:\ORACLE\PROD DUCT\10.2.0\ \ORADATA\OR RCL\SYSAUX01 1.DBF C:\ORACLE\PROD DUCT\10.2.0\ \ORADATA\OR RCL\UNDOTBS0 01.DBF C:\ORACLE\PROD DUCT\10.2.0\ \ORADATA\OR RCL\SYSTEM01 1.DBF C:\ORACLE\PROD DUCT\10.2.0\ \ORADATA\OR RCL\EXAMPLE0 01.DBF C:\ORACLE\PROD

Para con nsultar los archivos a aso ociados con n los tablesp paces temporales, la consulta c es la siguiente e:
SQL L> select ta ablespace_name, file_n name from db ba_temp_fil les; [Enter r] BLESPACE_NAM ME FILE_NAME TAB -------------------- --------------------------------------------------TEM MP DUCT\10.2.0\ \ORADATA\OR RCL\TEMP01.D DBF C:\ORACLE\PROD

Tambin podemos us sar el EM pa ara consulta ar informaci n sobre loa datafiles.

www.perudev.net

17 7

Oracle Database 10 0g Ad dministracin nI

Esque emas de e Base de d Datos s


Un esque ema es una a coleccin de objetos de la base de datos perteneciente es un usuar rio especfico de la base e de datos. En una base e de datos de d Oracle, el l esquema ti iene el mism mo nombre que q el usuar rio de la base e de datos, as que los dos d trminos s son sinnimos. Por lo tanto, podemo os ver la ba ase de dato os como un conjunto de e esquemas s, tal como se s ilustra en n el siguiente e grafico:

18

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 02 2 Introduccin a las Estru ucturas de Almacenamient to

Para consultar inform macin de los usuarios, p podemos eje ecutar la sig guiente consulta:
SQL L> select us sername, default_table espace, temp porary_tabl lespace 2 from dba_ _users 3 where use ername in ('SYS', 'SYS STEM', 'SCOT TT', 'HR'); [Enter] ] ERNAME USE -------------------SCO OTT HR S SYS SYS STEM SPACE DEFAULT_TABLES -------------------USERS USERS SYSTEM SYSTEM TEMP PORARY_TABL LESPACE -------------------TEMP P TEMP P TEMP P TEMP P

Podemos s apreciar lo os tablespace por defe ecto de cad da usuario y el tablesp pace tempor ral asignado o a cada usu uario. El usuari io SYS es el dueo de e todas las tablas bas se y vistas d de acceso a la data del d diccionar rio de datos. Ningn otro usuario debe alte erar nunca (UPDATE, DELETE, o INSERT) ) cualquier fila u objetos del esquem ma SYS, porq que tal activ vidad puede comprometer la integrid dad de los datos. d El ad dministrador r de la base e de datos debe tener estricto e contr rol de esta cuenta. c Tambin podemos utilizar el EM para consultar informac cin sobre lo os usuarios de la base de d datos.

www.perudev.net

19 9

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

20

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 03
El Diccionario de Datos
Contenido Introduccin al Diccionario de Datos Componentes Privados Tablas X$ Vistas Dinmicas (V_$) Tablas $ 22 23 23 25 27 28

Componentes Pblicos

Oracle Database 10 0g Ad dministracin nI

Introd duccin al Diccionario d de Datos s


Una de la as partes m s important tes de una b base de dato os Oracle es s su diccionario de dato os, que es un n sistema de e solo lectur ra de tablas que proporc ciona la informacin sob bre la base de d datos. Un diccionario o de los dato os contiene: La definici in de los objetos de todos los esquemas (tablas, vis stas, ndice es, sinnimos, secuencias s, funciones, procedimientos, etc.). Cuanto esp pacio ha sido o asignado a cada esqu uema, y cuan nto ha sido utilizado. u Los valores s por defecto o de las colu umnas. Informacin n de restricc ciones de int tegridad. Los nombre es de los us suarios de O Oracle. Privilegios y roles otorg gados a cada usuario. Informacin n de auditoria, como por p ejemplo, que usuarios han inici iado sesin y cuanto tiem mpo estuvier ron activas. Etc.

El diccion nario de datos es una estructura e de e tablas y vis stas, similar r a otros datos de la bas se de datos s. Todas las s tablas y vistas del diccionario d d datos es de stn almace enadas en el tablespac ce SYSTEM M. No solo el e diccionario o de datos es e todo en cada c base de d datos Ora acle, esta es s tambin un na herramienta importante para tod dos los usu uarios, para los disead dores de ap plicaciones de d usuarios finales y pa ara los adm ministradores s de base de d datos. Ut tilice las sen ntencias SQ QL para real lizar consult tas al diccionario de los s datos. Deb bido a que e el diccionario o de datos es e de solo le ectura, solo se puede consultar (ins strucciones SELECT S )al las tablas y vistas. Por su complejidad y extensin, el dicciona ario de dato os se ha div vidido, en dos niveles de d objetos: privado p y p blico.

22

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 03 3 El Diccion nario de Datos s

Comp ponentes s Privad dos


Se denom mina compo onente privad do a todos a aquellos grup pos de objet tos (tablas y/o y vistas) qu ue conforma an el Diccion nario de Da atos que por r su naturaleza slo de eberan ser acezados y/o y utilizados s por usuario os que norm malmente so on Administ tradores de e la Base de e Datos. Es ste compone ente esta, a su s vez integrado por los s siguientes grupos de objetos: o Tablas X$ Vistas Din micas (V_$ $) Tablas $

Tablas s X$
Son estru ucturas en memoria m pre esentadas c como tablas y sirven co omo base para las vista as V$, norm malmente es stas tablas no n se encue entran docum mentadas. Para P ver su contenido un u DBA tien ne que hace erlo como us suario SYS. El problem ma que se tiene con est tas tablas, es e que, su nombre n y el nombre de sus columnas no son descriptivos, d por lo tanto o resulta difc cil darse cue enta del sign nificado de su s contenido o. Es de sup poner que por su import tancia, Orac cle haya dec cidido usar esas e convenc ciones para nombrarlas. No hay documentacin acerca de las tablas X$ prevista por Oracle Corporation; sin embarg go es posible mediante la revisin y el anlisis del contenido de las mismas m dedu ucir su utilida ad en la crea acin de las vistas V$. Las tabla as X$ son cr readas en memoria m al m momento de el inicio de la instancia y mantenida as en tiemp po real gua ardando info ormacin de e la activida ad de la Base B de Da atos desde el comienzo o de la instancia. El nico comando permitido p so obre estas ta ablas es el SELECT, ocurriendo o u error si se un s jecutar cualq quier tipo de e instruccin diferente al SELECT. intenta ej
SQL L> conn / as s sysdba Con nectado. [ [Enter]

SQL L> select ba anner from x$version;

[Enter]

NNER BAN ---------------------------------------------------------------Ora acle Databas se 10g Enterprise Edit tion Release e 10.2.0.1.0 - Prod PL/ /SQL Release e 10.2.0.1.0 - Product tion COR RE 10.2.0 0.1.0 Production TNS S for 32-bit t Windows: Version 10. .2.0.1.0 - Production P NLS SRTL Version n 10.2.0.1.0 Product tion

www.perudev.net

23 3

Oracle Database 10 0g Ad dministracin nI

No se puede otorgar el privilegio o de SELECT T sobre esas s tablas a nin ngn usuario o.
SQL L> conn / as s sysdba Con nectado. [ [Enter]

SQL L> grant sel lect on x$option to sc cott; [Ent ter] gra ant select on o x$option to scott * ROR en lnea a 1: ERR ORA A-02030: sl lo se puede selecciona ar de tablas s/vistas fi ijas

La nica operacin disponible d pa ara permitir acceso sob bre estas tab blas a usuar rios diferente es a SYS es e la creaci n de vistas sobre ella as y con es sas vistas p permitir el acceso, a de la siguiente e forma:
SQL L> conn / as s sysdba Con nectado. [Enter]

SQL L> create vi iew prueba$option as s select * fro om x$option n; sta creada. Vis SQL L> create p public synonym x$optio on for prueb ba$option;

[Enter r]

[Enter r]

nnimo cread do. Sin SQL L> grant sel lect on prueba$option to public; ncesin term minada correctamente. Con SQL L> conn scot tt/tigre Con nectado. SQL L> select * from x$option; INDX INST_ID DR ADD -------- ---------- ---------04B B79704 1 0 04B B79704 1 1 04B B79704 1 2 04B B79704 1 3 04B B79704 1 4 04B B79704 1 5 04B B79704 1 6 04B B79704 1 7 04B B79704 1 8 04B B79704 1 9 04B B79704 1 10 . . . . . . [Ent ter] [Enter r]

[Ent ter] PARA AMETER -------------------------------Part titioning Obje ects Real l Applicatio on Clusters s Adva anced replic cation Bit-mapped inde exes Conn nection mult tiplexing Conn nection pool ling Data abase queuin ng Incr remental bac ckup and re ecovery Inst tead-of trig ggers Para allel backup p and recov very VAL LUE ---------TRU UE TRU UE FAL LSE TRU UE TRU UE TRU UE TRU UE TRU UE TRU UE TRU UE TRU UE

24

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 03 3 El Diccion nario de Datos s

Las tabla as X$ no pueden ser r modificada as de ningu una manera a y su man ntenimiento lo desarrolla a Oracle de manera aut tomtica. La forma fcil de ver su informacin es e mediante el uso de la as vistas V$,
SQL L> conn / as s sysdba Con nectado. SQL L> select * from x$ksm msd; DR INDX INST_ID ADD -------- ---------- ---------03B BF0BB0 1 0 03B BF0BD0 1 1 03B BF0BF0 1 2 03B BF0C10 1 3 SQL L> select * from v$sga; ME VALUE NAM -------------------- ---------Fix xed Size 1247528 Var riable Size 109053656 Dat tabase Buffe ers 171966464 Red do Buffers 7139328 [Ent ter]

[Ent ter] KSMS SDNAM KS SMSDVAL -------------------- ---------Fixe ed Size 1 1247528 Vari iable Size 109 9053656 Data abase Buffer rs 171 1966464 Redo o Buffers 7 7139328 [Ent ter]

Vistas Dinmica as (V_$)


Oracle co ontiene un conjunto c de vistas v funda amentales qu ue son mant tenidas por el servidor de d base de datos y accesible por el usuario administrador de la ba ase de datos s SYS. Esta as e llaman dy ynamic per rformance views porq que son con ntinuamente e actualizada as vistas se mientras la base de datos est abierta a y en uso, y su co ontenido se relaciona so obre todo co on su funcio onamiento. Aunque estas vista as parecen ser tablas de la bas se de datos s, no son. Estas vista as proporcio onan datos en las estr ructuras inte ernas del disco y las estructuras de memoria. Podemos s realizar consultar de estas vistas, pero nunca podemos ac ctualizarlas alterarlas. El cdigo contenido o en catalog.sql con ntiene las definiciones d de estas vistas y su us correspondientes sin nnimos pblicos. Las vistas dinmicas s reales son identificadas s por el pref fijo V_$. Los s sinnimos pblicos para estas vistas tienen el e prefijo V$. Los admin nistradores de d la base d de datos y otros o usuario os solo debe en tener acc ceso a las vis stas V$, y n no a las vista as V_$.

www.perudev.net

25 5

Oracle Database 10 0g Ad dministracin nI

Las vista as dinmica as son utiliz zadas por Oracle O Ente erprise Mana ager, que es e la interfa az principal para accede er a informa acin sobre f funcionamie ento del siste ema. Despu us de que la instancia es iniciada, , las vistas V$ V que leen informacin n de la mem moria son acc cesibles. La as vistas que leen los datos d del dis sco requieren que la bas se de datos est monta ada, y alguna as requieren n que la base de datos est e abierta.
SQL L> conn / as s sysdba Con nectado. SQL L> shutdown immediate Bas se de datos cerrada. Bas se de datos desmontada. Ins stancia ORAC CLE cerrada. [Enter r]

[Enter r]

SQL L> select * from v$sga; [Enter r] sel lect * from v$sga * ROR en lnea a 1: ERR ORA A-01034: ORA ACLE not available SQL L> startup Ins stancia ORAC CLE iniciad da. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Bas se de datos montada. Bas se de datos abierta. SQL L> select * from v$sga; [Enter r]

6 289406976 1247528 8 109053656 6 171966464 4 7139328 8

bytes bytes bytes bytes bytes

[Enter r]

ME VALUE NAM -------------------- ---------Fix xed Size 1247528 Var riable Size 109053656 Dat tabase Buffe ers 171966464 Red do Buffers 7139328

26

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 03 3 El Diccion nario de Datos s

Tablas s$
El otro grupo g de obj jetos dentro o del Diccionario de Da atos, es el c conjunto de las tablas $. Estas tab blas tienen nombres m s compren nsibles que las anteriore es tablas X$ $, tales com mo COL$, TS S$, USER$ o TAB$. Es ste conjunto de tablas es creado po or la ejecuci n del archiv vo sql.bsq. De la misma manera qu ue con las ta ablas X$, se e recomienda que solo sean s usuario os administr radores (DBA A) los que accedan a esta as tablas.
SQL L> conn / as s sysdba Con nectado. SQL L> select na ame from ts$; [Enter r]

[Enter r]

ME NAM -----------------------------EXA AMPLE SYS SAUX SYS STEM TEM MP UND DOTBS1 UND DOTBS2 USE ERS f selecc cionadas. 7 filas

www.perudev.net

27 7

Oracle Database 10 0g Ad dministracin nI

Comp ponentes s Pblic cos


Dentro de este grup po de objeto os Oracle es stn todas las vistas que sobre el l componente as por los diferentes a archivos ca at*.sql, sien ndo el ms conocido el privado son creada catalog.s sql, que crea a vistas asoc ciadas a las tablas X$, $ y a las vist tas V$ o V_ _$. Dependie endo de qu caracterst ticas estn instaladas y configurada as, una base e de datos de d Oracle 10 0g puede co ontener ms s de 1,300 vistas del dic ccionario de los datos. Las vistas d del diccionar rio de datos tienen nomb bres que com mienzan con n el DBA_, A ALL_, y USE ER_. Estas vis stas son la manera ms m amigable de obser rvar la infor rmacin con ntenida en el Diccionar rio de Datos s. Son el gr rupo de obje etos Oracle ms conoc cido, como alternativa a d de seguridad d en el ma anejo del Diccionario D d de Datos po or parte de e los diferen ntes usuario os involucra ados en el manejo de la base de datos. La diferencia entre la as vistas DB BA_, ALL_, USER_ se puede ilustr rar usando como c ejemp plo io de datos DBA_TABL LES. La vista a DBA_TAB BLES muestr ra informaci n la vista del diccionari das las tabla as en la bas se de datos. . La vista AL LL_TABLES S, a pesar de d su nombr re, sobre tod muestra solamente a tablas que e un usuario particular de la base e de datos posee p o tien ne o, si inicia sesin s en la a base de datos d como usuario SCO OTT, la vis sta acceso. Por ejemplo ALL_TABLES mostr rar todas la as tablas per rtenecientes al usuario S SCOTT y las s tablas sobre las cuale es a SCOT TT otros usu uarios le ha an otorgado o acceso. L La vista US SER_TABLE ES muestra solamente s lo os objetos perteneciente p es a un usua ario. Si el us suario SCOT TT consulta la vista USE ER_TABLES S, slo las ta ablas que l posee se mostraran m en n el resultado o. El siguiente grfico muestra m una representacin grfica a de la relac cin entre la as vistas DB BA_, ALL_, y USER_.

28

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 03 3 El Diccion nario de Datos s

Las vista as DBA_ proporciona an la inform macin m s amplia d de la meta adata y so on generalm mente las vis stas del dicc cionario de datos usadas por los D DBAs. La siguiente tab bla muestra una u descripc cin sobre lo os tipos de v vistas. Prefijo USER_ ALL_ Descripcin Muestran M los objetos crea ados por el usuario u que hace la consulta. Muestran M los objetos a lo os cuales cad da usuario ti iene acceso, es decir to odos los que e l ha cread do como tam mbin aquello os sobre los cuales tiene e pe ermitido el acceso a y no le pertenece en. Muestran M todo os los objeto os creados a nivel de la Base de Da atos. Disponibles para p usuarios s administra adores.

DBA_

www.perudev.net

29 9

Oracle Database 10 0g Ad dministracin nI

Como las s vistas ALL L_ y DBA_ muestran o objetos perte enecientes a diferentes s usuarios, en e ellas se debe d estipula ar el propietario de cada a objeto refe erenciado. Normalm mente toda vista DBA_ _, tiene su u contrapart te USER_ y ALL_, c con contada as excepciones que no n amerita an la presencia de esas vista as, como por ejemplo: dba_tablespaces, db ba_data_file es, dba_roll s, etc. lback_segs
SQL L> conn scot tt/tigre Con nectado. [Enter]

SQL L> select ta able_name from user_ta ables; BLE_NAME TAB -----------------------------DEP PT EMP P BON NUS SAL LGRADE

[ [Enter]

30

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04
Usuarios Administradores
Contenido Administrador de la Seguridad y Privilegios de la Base de Datos Cuentas del Sistema Operativo Administradoras de la Base de Datos Nombres de Usuarios Administradores de la Base de Datos 32 32 32 34 34 37 39 42 44 44 46 47 49

Autenticacin del Administrador de Base de Datos Privilegios Administrativos Seleccionar un Mtodo de Autenticacin Usando Autenticacin del Sistema Operativo (OS) Usando la Autenticacin del Archivo de contraseas

Creacin y Manteniendo el Archivo de Contraseas Usando ORAPWD Estableciendo el valor de REMOTE_LOGIN_PASSWORDFILE Adicionando Usuarios al Archivo de Contraseas Mantenimiento del Archivo de Contraseas

Oracle Database 10 0g Ad dministracin nI

Admin nistrado or de la Segurida S ad y Privilegios de d la Ba ase de Datos D


Para llev var a cabo las tareas s administra ativas, un DBA D de Or racle necesita privilegio os especficos dentro de e la base de e datos y po osiblemente en el sistem ma operativo o del servidor en el cua al la base de e datos esta funcionando o. El acceso o a una cuen nta de admin nistrador de la base de datos d debe ser s celosam mente control lado.

Cuenta as del Sis stema Op perativo Administradora as de la Base B de Datos D


Para rea alizar mucha as de las ta areas admin nistrativas de e una base e de datos, es necesar rio poder eje ecutar coma andos del sis stema opera ativo. Depen ndiendo del s sistema ope erativo en qu ue se ejecuta Oracle, puede p ser que q se nec cesite una cuenta c del s sistema ope erativo o un na identificacin para acceder al sistema opera ativo. Si es as, la cuen nta del siste ema operativ vo pude req querir ms privilegios p o derechas de d acceso que q muchos s usuarios de d la base de d datos req quieren (por r ejemplo, re ealizar la ins stalacin del software d de Oracle). Aunque A no es e necesario o guardar lo os archivos de Oracle en nuestra cuenta per rsonal, si de ebemos tener acceso a ellos.

Nombr res de Us suarios Administra A adores de la Base e de Dato os


Dos cuen ntas de usua ario son crea adas autom ticamente con c la base de datos, co omo se ilustra en el sigu uiente cuadr ro. SYS SYSTEM

Durante la instalaci n de la ba ase de datos s Oracle se e establecen n las contra aseas de lo os usuarios SYS y SYSTEM. cional, y con ncederle el rol r DBA, para Se sugiere tambin crear por lo menos un usuario adic areas admin nistrativas dia arias. Se rec comienda no o utilizar las cuentas SY YS utilizarlo al realizar ta EM para esto os propsitos. y SYSTE

32

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

SYS
Cuando se s crea una base de da atos, el usua ario SYS se crea autom ticamente y se le asign na el rol de DBA D . Todas las tablas y vistas v del di iccionario de e datos son n almacenad das en el es squema SYS S. Estas tab blas y vista as son crtic cas para la operacin de la base e de datos Oracle. Para mantener la integrid dad del dic ccionario de e datos, las s tablas en n el esquem ma SYS so on manipula adas solame ente por Ora acle. Nunca deben ser modificadas s por cualqu uier usuario o administr rador de la base de da atos, y nadie e debe crea ar cualquier tabla en el esquema del d usuario SYS S . (Sin embargo, e se e pueden cambiar los parmetros de almace enamiento del d diccionar rio de datos en caso de que sea nec cesario.) Asegres se de que la a mayora de e los usuario os de la base e de datos n nunca pueda an conectars se con la cuenta SYS.

SYSTEM M
Cuando se s crea una a base de datos, el usu uario SYSTE EM se crea automticam mente y se le asigna el rol de DBA A. El usuar rio SYSTEM M es usad do para cre ear tablas y vistas adicionales para mostr rar informaci in adminis strativa, y tablas t y vi istas interna as usadas por varias s opciones y herramientas de Ora acle. Nunca se debe cre ear tablas en n el esquema SYSTEM de inters de d usuarios individuales s.

Rol DBA A
Un rol pr redefinido, de d nombre DBA D , se cre ea automtic camente con n cada base e de datos de d Oracle. Este E rol cont tiene la may yora de los privilegios del d sistema de base de datos. Por lo tanto, es s de muy gran g alcance e y debe ser concedid do solament te a los ad dministradore es completa amente funci ionales de la a base de da atos. Not ta: El papel p del DB BA no incluye e los privilegios del sistema SYSDB BA SYSOP PER. sto os son los pr rivilegios ad dministrativo os especiales que permiten a un adm ministrador realizar tare eas bsicas de d la admini istracin de la base de datos, tale es como crear la base de datos, el a arranque y la l parada de e la instancia.

www.perudev.net

33 3

Oracle Database 10 0g Ad dministracin nI

Auten nticacin n del Ad dministra ador de Base de e Datos


Como DB BA, realizam mos a menu udo operaci iones espec ciales tales como Inicia ar y Parar la base de datos. Porq que solamen nte un DBA debe realiza ar estas ope eraciones, lo os username es del admin nistrador de la base de datos d requie eren un esqu uema seguro o de autentif ficacin.

Privileg gios Adm ministrativ vos


Los privil legios admin nistrativos que q se requieren para que q un adm ministrador pueda p realizar operacion nes bsicas s de la base e de datos se s conceden con dos p privilegios especiales e d del sistema, SYSDBA y SYSOPER. Se debe ten ner uno de estos e dos privilegios, dep pendiendo del d nivel de autorizacin que se requ a uiera. Not ta Los s privilegios del sistema SYSDBA y SY YSOPER perm miten el acc ceso a la ins stancia de la base de datos d aun cu uando la bas se de datos no n est abie erta. El control de estos e privilegios est tot talmente fuera de la ba ase de datos s.

34

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

SYSDBA A y SYSOP PER


Las sigui ientes son las operacio ones que es stn autoriza adas para lo os privilegios del sistem ma SYSDBA A y de SYSO OPER: Privilegi io del Sistema SYSDBA A Operacin O A Autorizada Ejecutar operaciones o s de STARTUP y SHUTD DOWN OPEN, MOUNT, BACK ALTER DATABASE: D KUP, o camb biar el conjunto de caractere es CREATE E DATABASE E ARCHIVE ELOG y REC COVER CREATE E SPFILE Incluye el privilegio R RESTRICTED SESSION N

Este E privileg gio del sistem ma permite conectarnos c rio SYS. como usuar SYSOPE ER Ejecutar operaciones o s de STARTUP y SHUTD DOWN OPEN, MOUNT, BACK ALTER DATABASE: D KUP, o camb biar el conjunto de caractere es ARCHIVE ELOG y REC COVER CREATE E SPFILE Incluye el privilegio R RESTRICTED SESSION N

Este E privileg gio permite a un usuario realizar tare eas operacio onales bsicas, b per ro sin la capa acidad de ve er datos del otros usuari io. El contex xto en el cual c se auto orizan a utilizar estos privilegios depende d de el mtodo de d autentific cacin que se elige utilizar. Cuando nos n conecta amos con pri ivilegios de SYSDBA o SYSOPER, nos estamo os conectand do con un esquema por p defecto, no con el esquema que se aso ocia genera almente a su s e. Para SYS SDBA este esquema e es SYS; para SYSOPER el e esquema es e PUBLIC. username

www.perudev.net

35 5

Oracle Database 10 0g Ad dministracin nI

Conect ndonos con Privileg gios Admin nistrativos s: Ejemplo


En este ejemplo e se comprueba que a un usuario se le e asigna el e esquema SY YS cuando se s conecta con c el privile egio del siste ema SYSDB BA. Paso 1 Como pri imer paso, crearemos c una tabla com mo usuario scott s , y lueg go insertarem mos una fila.
SQL L> conn scot tt/tiger nectado. Con SQL L> show user r ER es "SCOTT T" USE SQL L> create ta able test( dato varcha ar2(30) ); bla creada. Tab SQL L> insert in nto test values( 'Gust tavo Coronel l' ); f creada. . 1 fila SQL L> select * from test; [Enter] [ [Enter] [ [Enter] [Enter] [Enter]

TO DAT -----------------------------Gus stavo Corone el

Paso 2 Como se egundo paso o, otorgaremos a scott e el privilegio SYSDBA S .


SQL L> conn sys/ /admin as sysdba nectado. Con SQL L> grant sys sdba to scott; ncesin term minada correctamente. Con [ [Enter] [ [Enter]

36

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

Paso 3 Ahora, co omprobarem mos que cua ando scott se conecta a utilizando el privilegio SYSDBA, el esquema a por defecto o ya no es sc cott, sino sy ys.
SQL L> conn scot tt/tiger as sysdba nectado. Con SQL L> show user r ER es "SYS" USE SQL L> select * from test; [ [Enter] [ [Enter] [ [Enter]

lect * from test sel * ROR en lnea a 1: ERR ORA A-00942: la tabla o vista no exis ste

Selecc cionar un Mtodo de d Auten nticacin


Los mto odos siguien ntes estn disponibles d para autenticar admini istradores de d la base de d datos: Autenticaci in por el Sistema Oper rativo (OS) Autenticaci in mediante e Archivo de e Contrasea as (Passwor rd Files)

Su opcin es afectad da si admini istramos la base de dat tos localmen nte en la misma mquin na donde re eside la bas se de datos s, o si administramos diversas d bas ses de dato os de un so olo cliente re emoto. La si iguiente figu ura ilustra la as opciones que tenemo os para los esquemas de d autentific cacin del ad dministrador r de la base de d datos.

www.perudev.net

37 7

Oracle Database 10 0g Ad dministracin nI

Si estamos realizand do la admini istracin rem mota de la base b de dato os, debemos consultar la documen ntacin de red de Ora acle para determinar si s estamos utilizando una u conexi n segura. La mayora de los proto ocolos comu unes de con nexin, tales como TCP/ /IP y DECne et, no son se eguros.

Conexio ones Remo otas No-Se eguras


Para con nectar con Oracle como usuario o privilegiad do sobre una conexi n no-segur ra, debemos s estar autenticados po or un archivo o de contraseas. Al usar la auten ntificacin del d archivo de d contrase a, la base de d datos uti iliza un arch hivo de contrasea para a no perder la identificacin de los usernames de la base de datos a los se han c concedido el e privilegio de d sistema SYSDBA S o SYSOPER S .

Conexio ones Local les y Cone exiones Re emotas Seg guras


Para con nectarnos co on Oracle como c usuario privilegiado sobre una conexin n local o un na conexin remota seg gura, tenemo os las siguientes opcione es: Podemos conectarnos c s y ser auten nticados por r un archivo de contrase eas, siempre y cuando la base de e datos tenga un arch hivo de contraseas y tengamos el S oS SYSOPER. privilegio del sistema SYSDBA Si el servid dor no est utilizando un archivo de contrase eas, o si no tenemos el privilegio SYSDBA S o SYSOPER, y por lo tanto t no es stamos en el e archivo de d contrasea as, podemos s utilizar la autentificac cin del OS S. En la ma ayora de lo os sistemas operativos, o la a autentificacin del OS S para los ad dministradores de la bas se de datos im mplica coloca ar el username del OS del d administr rador de la base b de dato os en un grupo especial, generalment g te designado o con el nom mbre OSDBA A.

38

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

Usando o Autenti icacin del d Sistem ma Opera ativo (OS) )


OSDBA y OSOPER R
Son dos grupos de usuarios u esp peciales del sistema ope erativo para a controlar la as conexione es de los us suarios administradores de la base de datos us sando la aut tenticacin del d OS. Esto os grupos so on genrica amente cono ocidos como o OSDBA y OSOPER. L Los grupos son s creados sy los nomb bres especf ficos asigna ados como p parte del pr roceso de in nstalacin de d la base de d datos. Lo os nombres especficos dependen d del sistema operativo y se ilustran en e el siguiente cuadro: Grupo G del Sis stema Operativo O OSDBA O OSOPER O UNIX dba oper Windo ows ORA_D DBA ORA_OPER

mbres por defecto d asumidos por el instalado or universal de Oracle e pueden ser Los nom eliminado os. Podemo os crear los grupos OS SDBA y OS SOPER espe ecficos seg n el sistem ma operativo o. A continu uacin hacem mos una des scripcin cmo un usua ario que perte enece al gru upo OSDBA u OSOPER R afecta la co onexin con Oracle: Si es un miembro del grupo g OSDB BA, y especi ifica AS SYS SDBA cuand do se conec cta e de datos, lo estar hac ciendo con el e privilegio d de sistema SYSDBA S . con la base Si es un miembro m de el grupo OS SOPER, y especifica e AS SYSOPE ER cuando se s conecta co on la base de datos, lo o estar ha aciendo con el privilegio de sistem ma SYSOPER. Si no es miembro m de e estos grup pos del sistema operat tivo e intent ta conectars se como SYSDBA o SYSOPER, el co omando CON NNECT fallar.

Prepara ando la Aut tenticacin n del SO


Para hab bilitar la aute entificacin de un usua ario adminis strador que usa el siste ema operativ vo debemos s hacer el sig guiente: 1. Crear un us suario en el sistema s ope erativo. 2. Agregar el usuario a los grupos OSDBA u OSOPER definidos en e el sistem ma operativo.

www.perudev.net

39 9

Oracle Database 10 0g Ad dministracin nI

Conect ndonos usando la Autenticac A in del SO O


Un usuar rio puede se er autenticado, habilitn ndolo como usuario adm ministrativo, y conectars se con una base b de dato os local con uno de los comandos siguientes s de el SQL*Plus:

NNECT / AS SYSDBA CON NNECT / AS SYSOPER CON

Para una a conexin re emota con la a base de da atos sobre una u conexin n segura, el usuario deb be tambin especificar e el e nombre de el servicio de e red de la base b de dato os remota:

NNECT /@net_ _service_name AS SYSDBA CON NNECT /@net_ _service_name AS SYSOPER R CON

El siguien nte grfico muestra m los miembros m de el grupo ORA_DBA.

40

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

A continu uacin tenem mos un ejem mplo de com mo se realiza a la conexin utilizando autenticaci n del sistem ma operativo o.
SQL L> conn / as s sysdba nectado. Con SQL L> show user r ER es "SYS" USE [Enter] [Enter]

Ejercicio o Experimental
El siguien nte ejercicio debe desar rrollarlo usted. 1. 2. 3. Cre ear el usuario del SO de e nombre ser rgio. Agr regue el usu uario sergio al grupo Administradore es. Cie erre todas la as aplicacion nes, cierre la sesin actual, e inic cie sesin con el usuar rio ser rgio. Inte ente conecta arse a Oracle e como SYS SDBA, come ente el result tado con su compaero. Agr regue el usu uario sergio al grupo OR RA_DBA. Inte ente nuevam mente conec ctarse a Oracle como SY YSDBA, com mente el res sultado con su s com mpaero.

4. 5. 6.

www.perudev.net

41 1

Oracle Database 10 0g Ad dministracin nI

Usando o la Aute enticacin n del Archivo de contrase c as


Esta secc cin describ be cmo autenticar a un n usuario administrativo usando la autentificaci a n del archivo de la co ontrasea. Le L sugiero r retirar a tod dos los miem mbros de lo os grupos del d o OR RA_DBA y ORA_OPER O . sistema operativo

Prepara ando el Arc chivos de Contrase C as de Aute enticacin


Para per rmitir la aute entificacin de un usua ario administ trativo que usa u la auten ntificacin d del archivo de d contrase as se debe hacer el siguiente: 1. Si no n existe, crear el archiv vo de contra aseas usando el utilitari io ORAPWD D:

ORA APWD FILE=filename PASSWO ORD=password ENTRIES=max_ _users

2.

Est tablecer el parmetro de inicializa acin REMO OTE_LOGIN_PASSWO ORDFILE en e EXCLUSIVE. Not ta REM MOTE_LOGIN N_PASSWORD DFILE es un parmetro de d inicializa acin esttic co y por lo tanto t no pue ede ser cambiado sin el reinicio de la base de datos. d

3.

Con nectarse a la base de datos com mo usuario SYS S (o con n otro usuar rio que teng ga priv vilegios adm ministrativos). Si el e usuario no o existe en la a base de da atos, crear el e usuario. Oto orgar el privilegio del sistema SYSD DBA SYSO OPER al usua ario.

4. 5.

Conect ndonos usando aut tenticacin n del archiv vo de cont traseas


Los usua arios con privilegios adm ministrativos pueden conectarse y a autenticarse e en una bas se de datos local rem mota usando o el comando o SQL*Plus CONNECT T. Deben con nectar con su s username e y contrase ea, y con la a clusula AS SYSDBA o AS SYSO OPER. Por ejem mplo, si al usuario sco ott se le h ha concedid do el privile egio SYSDB BA, l pued de conectars se de la sigu uiente mane era:

CON NNECT scott/tig ger AS SYSDBA A

42

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

Si se le concede c el privilegio p SYS SOPER, l p podra conec ctarse de la s siguiente ma anera:

NNECT scott/tig ger AS SYSOPE ER CON

Not tas La autentificac a cin del siste ema operati ivo toma pre ecedencia so obre la aut tentificacin n del archivo o de contras seas. Espec cficamente e, si pertenece al grupo OSDBA u OSOPER del sistema a operativo, y se conecta a como SYS SDBA o SYSOPER, se conectar c con privilegio os administr rativos sin im mportar el use ername/pass sword que se s especifiqu ue. Si no n pertenece e al grupo OSDBA O OS SOPER, y ta ampoco est en el archi ivo de con ntraseas, entonces la conexin c fallar.

Ejercicio o Dirigido
El siguien nte ejercicio debe resolv verlo junto co on su profes sor. 1. Est tablezca el EXCLUSIVE. valor del parme etro REMO OTE_LOGIN N_PASSWO ORDFILE e en

2.

el sistema operativo ORA_DBA y Quite todos los miembros de los grupos de RA_OPER. OR Cre ear el archivo o de contras seas con la as siguientes s caractersticas: 3. Contrasea a del usuario o SYS: supe er ximo de en ntradas: 10 4. Nmero m

3.

4. 5. 6. 7.

Cre ear el usuario gustavo, asgnele a la c contrasea clever c . Con ncdale el privilegio p SYS SDBA a gus stavo. Ver rifique el con ntenido del archivo a de co ontraseas. Ver rifique la con nexin de gu ustavo como o usuario administrador.

www.perudev.net

43 3

Oracle Database 10 0g Ad dministracin nI

Creac cin y Ma antenien ndo el A Archivo de d Cont traseas s


Podemos s crear un archivo de co ontraseas usando u el pr rograma utilitario para la a creacin del d archivo de d contrase as, ORAPW WD. Para algunos sistemas operativos, podem mos crear es ste archivo como c parte de d su instalacin estndar.

Usando o ORAPW WD
Cuando se s invoca el l programa utilitario u de creacin del archivo de e contrasea as sin proveer ningn pa armetro, se e recibe un mensaje que e indica el uso u apropiad do del comando, tal com mo se ilustra a a continuac cin:

C:\> orapwd

[ [Enter]

Usag ge: orapwd file= =<fname> pass sword=<passwo ord> entries=<u users> force=<y y/n> here wh file - name of password file (mand), password p - password for SYS (m mand), entries e - maximu um number of dis stinct DBA and OPERs (opt), fo orce - whether to t overwrite exis sting file (opt), There are no spac ces around the equal-to e (=) cha aracter. C:\>

El siguiente comand do crea un archivo de contraseas de nombr re acct.pwd d que permite hasta 30 usuarios privilegiados con diversa p as contraseas. En est te ejemplo, el archivo se s crea inicialmente con n la contrase ea secret p para los usuarios que co onectan com mo SYS.

C:\> ORAPWD FILE E=acct.pwd PAS SSWORD=secre et ENTRIES=30 0

[Enter]

Not ta Es crticamente c e importante e para la seguridad del sistema pro oteger el arc chivo de con ntraseas y las l variables s de entorno o que identif fican su loca alizacin. Cu ualquier usu uario con acc ceso podra potencialme ente compro ometer la se eguridad de la con nexin.

44

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

A continu uacin pasam mos a descr ribir los par metros del utilitario u ORA APWD. FILE Este parmetro p es stablece el n nombre del archivo a de c contraseas a ser creado. Se debe especific car el nombr re completo y la ruta del archivo. El contenido de d este archivo es encriptado, y no es posible le eerlo directa amente. Es ste parm metro es oblig gatorio. Los tip pos de nomb bre de archiv vo permitido os para el arc chivo de con ntraseas so on espec cficos del sis stema opera ativo. Alguno os sistemas operativos requieren r qu ue el arc chivo de con ntraseas te enga un for rmato espec cfico y loca alizado en un u directo orio especf fico. Otros sistemas operativos o p permiten el uso de la as variab bles de entorno para es specificar el nombre y la a localizaci n del archiv vo de con ntraseas. Debemos D revisar la doc cumentacin especfica de Oracle del d sistem ma operativo o para los n nombres y las localiza aciones perm mitidas en su s platafo orma. ORD En es ste parmet tro establec cemos la co ontrasea para p el usuario SYS. Si PASSWO usamo os la sente encia ALTER R USER pa ara cambiar r la contras sea de SY YS despu us de conectarse a la base de dat tos, la contr rasea alma acenada en el diccionario de datos d y la contrasea almacenada en el archivo de d contra aseas amba as son actua alizadas. Es ste parmetr ro es obligat torio. ENTRIES S Este parmetro p e especifica e el nmero de d entradas que se req quiere que el archiv vo de contra aseas ace epte. Este nmero n cor rresponde al a nmero de d usuari ios distintos permitidos p para conectar a la base de datos co omo SYSDB BA o SYS SOPER. El nmero real de entradas s permisibles s puede ser ms alto qu ue el nm mero de us suarios por rque la utilidad ORAPW WD contin a asignand do entrad das de contr rasea hasta que se lle ena un bloqu ue del sistema operativ vo. Por ej jemplo, si el l tamao de el bloque del sistema op perativo es de d 512 Byte es, esto aloja cuatro o entradas de contrasea. El nmero n de entradas de d contra asea alojad das ser siem mpre mltiplo de cuatro. Este parmetro, p s se estable si ece en Y, le permite sob bre-escribir un archivo de d contra aseas exist tente. Devue elve un error r si existe un archivo de e contrasea as del mismo nombre e y se omite e este parm metro o se es stablece en N.

FORCE

www.perudev.net

45 5

Oracle Database 10 0g Ad dministracin nI

Estable eciendo el e valor de d REMOT TE_LOGI IN_PASS SWORDF FILE


Adems de crear el e archivo de d la contra asea, debe emos tambi n fijar el parmetro p d de cin REMO OTE_LOGIN N_PASSWO ORDFILE en n el valor apropiado. Los valore es inicializac reconocid dos se describen a continuacin: Valor NONE Descripcin Fijar est te parmetro o en NONE hace que O Oracle funcione como si ivo de contra no exist tiese el archi aseas. Es decir, no se e permite ninguna a conexin p privilegiada sobre s conexi iones no-seg guras. Un archivo de contr raseas EXC CLUSIVE se e puede utiliz zar solamen nte con una base de dat tos. Usar un archivo de contraseas s EXCLUS SIVE permit te agregar, modificar, m y suprimir usu uarios. Tambin n permite ca ambiar la con ntrasea de SYS con el comando ALTER USER. Este e es el valor por defecto. . raseas SHA ARED puede e ser utilizad do por Un archivo de contr datos que fu uncionan en el mismo se ervidor. Sin mltiples bases de d embargo o, el archivo o no puede ser s modificad do. Esto sign nifica que no o se pued de agregar nuevos usuarios a un arc chivo de con ntraseas SHARED. Todos lo os usuarios que necesita an los privile egios del sis stema SYSDBA A y/o SYSO OPER deben ser agregad dos al archiv vo de contrase eas cuando o REMOTE_ _LOGIN_PA ASSWORDFILE se establec ce en EXCLUSIVE. Des spus que se e agreguen a todos los usuarios s, se puede cambiar RE EMOTE_LOG GIN_PASSW WORDFILE a SHARED, y despu s comparte el archivo. Esta opc cin es til si s se tiene un no o ms DB BAs que adm ministran bases de datos mltiples.

EXCLUS SIVE

SHARED D

46

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

Adicionando Us suarios al a Archivo o de Cont traseas


Cuando concede c priv vilegios SYS SDBA y/o SY YSOPER a un u usuario, el e nombre de usuario y la informaci in de su pr rivilegio se agregan a al archivo de co ontraseas. Si el servido or no tiene un u archivo de contras seas EXC CLUSIVE (e es decir, si el par metro de inicializaci n E_LOGIN_P PASSWORD DFILE se ha a establecido o en NONE SHARED D) se mostrar REMOTE un mensa aje de error si tratamos de conceder estos privil legios. El nombr re de usuar rio se mantiene en el archivo a de contraseas c solamente mientras es se usuario tiene por lo menos uno de estos do os privilegios s. Si se revo oca ambos privilegios, se s elimina el e usuario del archivo de contraseas.

Creando o un Archivo de Con ntraseas y Agregnd dole Nuevo os Usuario os


Use el siguiente pro ocedimiento para crear un nuevo archivo a de c contraseas s, y agregar rle nuevos usuarios: u 1. 2. Pro oceda a crea ar un nuevo archivo de c contraseas. Est tablezca el parmetro de inicializacin REMO OTE_LOGIN_PASSWO ORDFILE en e EXCLUSIVE. Con nctese a Oracle O con el privilegio SYSDBA. Inic cie la instanc cia y crear la base de d datos si es necesario, n o monte e inicie una bas se de datos existe ente. ear los usuarios necesarios. Otorga ar los privileg gios SYSDB BA y/o SYSO OPER a uste ed Cre mis smo y otros usuarios u apr ropiadamente.

3. 4. 5.

Otorgan ndo y Revo ocando Pri ivilegios SY YSDBA y SYSOPER S


Para otorgar el privilegio SYSD DBA y/o SY YSOPER deb be utilizar la a instruccin n GRANT, su s sintaxis es e la siguiente:

GRA ANT privilegio TO O usuario;

Para revo ocar el privile egio debe utilizar la inst truccin es REVOKE, R su u sintaxis es la siguiente e:

VOKE privilegio FROM usuario; REV

www.perudev.net

47 7

Oracle Database 10 0g Ad dministracin nI

Consult tando los Miembros M del Archiv vo de Contr raseas


Podemos s usar la vista V$PWF FILE_USER RS para consultar los usuarios qu ue tienen lo os privilegios SYSDBA y SYSOPE ER para la base de da atos. Esta v vista tiene las siguiente es columnas s: Columna a USERNA AME SYSDBA A Descripcin D Esta E column na contiene e el nombre de el usuario qu ue es recono ocido por el archivo a de contraseas. c Si S el valor de e esta colum mna es TRUE E, entonces el usuario puede p iniciar r sesin s con el e privilegio SYSDBA S . Si S el valor de e esta colum mna es TRUE E, entonces el usuario puede p iniciar r sesin s con el e privilegio SYSOPER S .

SYSOPE ER

uiente ejemp plo se ilustra a el uso de la a vista V$PW WFILE_USERS. En el sigu


SQL L> conn sys/ /admin as sysdba nectado. Con SQL L> desc v$pw wfile_users [ [Enter] Tipo ------------------VARCH HAR2(30) VARCH HAR2(5) VARCH HAR2(5) [ [Enter]

Nul mbre lo? Nom ----------------------------------------- -------USE ERNAME SYS SDBA SYS SOPER SQL L> select * from v$pwfile_users; ERNAME USE -----------------------------SYS S SCO OTT DB SYSD ----TRUE E TRUE E [Enter r] SYSOPER -------TRUE FALSE

48

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 04 4 Usuarios Administrado A res

Manten nimiento del Archivo de Co ontraseas

Ampliar r el nmero o de usuar rios del arc chivo de co ontraseas s


Si se rec cibe el error de archivo (ORA-1996 6) cuando se e intenta co onceder los privilegios del d sistema SYSDBA S o SYSOPER a un usuario o, se debe crear c un archivo de contraseas m s grande y re-conceder los privileg gios a los usuarios.

Reemplazar el arc chivo de co ontraseas s:


Use el sig guiente proc cedimiento para p reempla azar el archivo de contra aseas: 1. Ano ote los usua arios que tie enen privileg gios SYSDB BA SYSOPER consult tando la vis sta V$PWFILE_USERS. erre la base de d datos con n la instrucc cin SHUTD DOWN. Cie Elim mine si el arc chivo de con ntraseas ex xistente. Se debe crear nuevamen nte el archi ivo de cont traseas co on el utilitar rio ORAPWD D. bemos aseg gurarnos que e estamos aumentando el nmero de d entradas. Deb Finalmente pro oceda a agre egar los usua arios al arch hivo de contr raseas.

2. 3. 4.

5.

Eliminar el Archiv vo de Contr raseas


Si determ mina que ya a no se requ uiere ms d de un archiv vo de contra aseas para a autenticar a usuarios, , puede eliminar este e archivo y reestablec cer el par metro de inicializaci n REMOTE E_LOGIN_P PASSWORD DFILE a NO ONE. Despu us de que eliminemos este archiv vo, slo los usuarios qu ue puedan ser autentic cados por el e sistema o operativo po odrn realizar operacion nes de admi inistracin en la base de e datos.

www.perudev.net

49 9

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

50

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 05
Inicio y Parada de la Base de Datos
Contenido Introduccin Inicio de una Base de Datos de Oracle Fases del Inicio de la Base de Datos 52 53 53 55 56 56 56 57 58 59

Comando: STARTUP Comando: SHUTDOWN SHUTDOWN con la clusula NORMAL SHUTDOWN con la clusula IMMEDIATE SHUTDOWN con la clusula TRANSACTIONAL SHUTDOWN con la clusula ABORT

Comando: ALTER DATABASE

Oracle Database 10 0g Ad dministracin nI

Introd duccin
El DBA, es e el respon nsable del in nicio y parad da de la insta ancia de Or racle. Oracle e proporcion na a los adm ministradores autorizado os las opcio ones de realizar esta tarea usando una varieda ad de interfa aces. Es im mportante entender e las s opciones que q estn d disponibles para iniciar y cerrar la instancia de e Oracle, y cuando las va arias opcion nes pueden o deben ser utilizadas. e, necesita estar e conecta ado con la base b de dato os Para iniciar o cerrar una instancia de Oracle con los privilegios p apropiados. Hay dos pr rivilegios especiales que estn disponibles para usuarios que van a realizar r estas tareas: SY YSDBA y SY YSOPER. El privilegio SY YSDBA es un u privilegio que permite realizar cualquier t tarea de la a base de datos. La a autorizaci n SYSOPER es un privilegio de menor m alcan nce que permite operac ciones de in nicio y parad da tringe otras tareas t administrativas, tales t como el e acceso a los objetos de esquema as pero rest de las ap plicaciones. Estas autor rizaciones se manejan en e el archivo o de contras seas o va el sistema operativo. o Cuando una base de datos est e reciente emente inst talada, slo o el usuario o SYS pued de se con la ba ase de datos s con el privi ilegio SYSDBA. Se pue ede otorgar este privileg gio conectars y el priv vilegio SYSO OPER a otr ros usuario para ejecutar esta tar rea sin la necesidad n d de conectars se con el usuario SYS. El siguien nte grfico muestra m las diferentes fa ases del pro oceso de inic cio y parada a de una bas se de datos de Oracle.

52

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 05 5 Inicio y Pa arada de la Ba ase de Datos s

Inicio de una Base de e Datos de Orac cle


Fases del Inicio o de la Ba ase de Da atos
Segn lo o descrito en n la Leccin n 01, la insta ancia de Or racle se com mpone de un n conjunto de d estructura as lgicas en e memoria y de proce esos de fond do que interactan con n los usuario os para la comunicaci c n con la ba ase de dato os de Oracle e. Cuando Oracle esta a iniciado, la as estructura as en memo oria y los pr rocesos de f fondo estn inicializados y abiertos s para que lo os usuarios puedan com municarse co on la base de datos de Oracle. O Siempre que se inic cia una bas se de datos s de Oracle e, pasa por una serie de d pasos qu ue asegurar r su consiste encia. Cua ando se inic cia, una bas se de datos s pasa por tres estado os: NT, y OPEN, tal como se e ilustra en la a siguiente figura. NOMOUNT, MOUN

Fase: NOMOUNT
Una base e de datos en e esta fase incluye las s siguientes ta areas: Se lee el archivo de pa armetros. Se identific can los archivos de control. Se inician los procesos s de fondo. Se inician las estructur ras en mem moria, pero no n son vinculadas con la as estructura as en disco. La base de e datos no es sta disponib ble para los usuarios. u

www.perudev.net

53 3

Oracle Database 10 0g Ad dministracin nI

Si una ba ase de datos s se encuen ntra en esta fase, se pu ueden realiz zar ciertas ta areas. Una de d las ms comunes c es la creacin de una nuev va base de datos. d Ocasiona almente, una a base de datos no pu uede pasar a la fase s siguiente (MOUNT M ) y se s mantiene e en la fase e NOMOUN NT. Por eje emplo, esto puede ocur rrir si se tien ne problema as para acceder a las estructuras e d archivo de control, que contiene informaci del n importante para cont tinuar con el proceso de e inicio de la a base de da atos. Si se d daan estas estructuras so no estn disponibles, el proceso o de inicio de e la base de e datos no pu uede continu uar hasta qu ue se resuel lva este prob blema.

Fase: MOUNT M
En esta fase, f primero o se deben ejecutar e todas las tareas para llegar a la fase NOMOUNT N ,y luego se ejecutan las s siguientes tareas: Se asocia los archiv vos de la base de datos con la a instancia previamente inicializada a. Se localiza an y abren lo os archivos de d control ind dicados en e el archivo de e parmetros s. Se lee el archivo a de control y se o obtiene el estado e de los s archivos de d datos y lo os redo log file es.

areas admin nistrativas se s pueden realizar r mien ntras la bas se de datos esta en es sta Ciertas ta fase, com mo por ejemp plo: Renombrar r los archivo os de datos. Realizar un n proceso de e recovery. Cambiar la a ubicacin fsica de los archivos. Poner la ba ase de datos s en modo A Archive Log.

Fase: OPEN O
En esta fase, f primero o se deben ejecutar las tareas para a llegar a la f fase MOUN NT, y luego se s ejecutan las siguiente es tareas: Se abren lo os archivos de d datos. Se abren lo os redo log files f en lnea a.

En esta fase f la base de datos es sta disponible para todos s los usuario os.

54

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 05 5 Inicio y Pa arada de la Ba ase de Datos s

Coma ando: ST TARTUP P


Este com mando permite iniciar un na instancia a y abrir la base b de datos. Cuando se utiliza sin s parmetr ros, inicia la instancia, monta m y abre la base de datos. Sintaxis

ARTUP STA M | OPEN N] [NOMOUNT | MOUNT [PFILE/SPFILE E=ruta_nombre_ _archivo] [RESTRICT] [FORCE]

Donde: NO OMOUNT MO OUNT OP PEN PF FILE/SPFILE E RE ESTRICT FO ORCE Inicia la instancia a, pero no mo onta la base e de datos. Inicia la instancia a, y monta la a base de da atos. a, monta y ab bre la base de d datos. Inicia la instancia Perm mite indicar el archivo de parmetros s. Abre la base de datos d en mo odo restringid do. Solo los usuarios con egio RESTRICTED SES SSION podr rn iniciar se esin. privile Fuerz za el inicio de una base de datos. Si la base de datos esta en fun ncionamient to, en primer r lugar realiz za ejecuta un n SHUT TDOWN.

www.perudev.net

55 5

Oracle Database 10 0g Ad dministracin nI

Coma ando: SH HUTDOW WN


En algunos casos, es s necesario cerrar la ba ase de datos s, por ejemplo, para ejec cutar backup ps en fri, re egularmente e para progr ramar o realizar mejoras s de la base e de datos. Cualquiera C d de estos cas sos, es nece esario entend der las opcio ones de la parada p de un na base de datos. d Sintaxis

UTDOWN [NORMAL | TRANSA ACTIONAL | IMM MEDIATE | ABO ORT] SHU

SHUTD DOWN co on la clusula NOR RMAL


Para cerrar una bas se de datos en situaciones normale es, utilice el l comando SHUTDOW S WN usula NORMAL: con la cl

UTDOWN NORM MAL SHU

La clusu ula NORMAL es opcional, porque ste es el m todo de pa arada por de efecto si no se s proporcio ona ninguna clusula. La parada normal de e la base de datos proce ede con las siguientes s co ondiciones: No se perm mite nuevas conexiones. . Espera a que q todos lo os usuarios s actualment te conectad dos se desc conecten para proceder a cerrar la ba ase de datos s.

mo inicio de la base de datos no re equerir ning gn procedi imiento para a recuperar la El prxim instancia.

SHUTD DOWN co on la clusula IMM MEDIATE


Utilice la parada inme ediata de la base de dat tos solamen nte en las sig guientes situ uaciones: Para iniciar r un backup automatizad do y desaten ndido. Cuando un n corte de en nerga va a o ocurrir muy pronto. p Cuando la a base de e datos o una de sus s aplicaci iones esta funcionand do irregularme ente y no pu uede contac ctarse con el l usuario pa ara indicarle que termine en su sesin no pueden n terminar su u sesin.

56

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 05 5 Inicio y Pa arada de la Ba ase de Datos s

Para cerr rar una base e de datos inmediatame i ente, se utili iza el coman ndo SHUTD DOWN con la clusula IMMEDIAT TE:

UTDOWN IMMEDIATE SHU

La parada inmediata de la base de d datos pro ocede con la as siguientes s condicione es: evas conex xiones, tam mpoco se pueden in niciar nueva as No se permite nue transaccion nes. No espera a que las se esiones activ vas sean ter rminadas. Las transac cciones pendientes son canceladas s, y los usuarios son des sconectados s.

El prxim mo inicio de la base de datos no re equerir ning gn procedi imiento para a recuperar la instancia.

SHUTD DOWN co on la clusula TRA ANSACTIO ONAL


Cuando se requier re realizar una parada de la in nstancia qu ue permita terminar la as as, se deb be utilizar el comand do SHUTD DOWN con la clusu ula transacciones activa ACTIONAL: TRANSA

UTDOWN TRANSACTIONAL SHU

La parada transaccio onal de la ba ase de datos s procede co on las siguientes condiciones: No se permite nue evas conex xiones, tam mpoco se pueden in niciar nueva as transaccion nes. Despus que las transacciones so on terminada as, los cliente es son desc conectados de d la base de datos.

mo inicio de la base de datos no re equerir ning gn procedi imiento para a recuperar la El prxim instancia. Una para ada transac ccional previ iene a clien ntes pierdan n su trabajo, y al mism mo tiempo, no n requiere que todos lo os usuarios terminar t su sesin.

www.perudev.net

57 7

Oracle Database 10 0g Ad dministracin nI

SHUTD DOWN co on la clusula ABO ORT


Se puede e cerrar la base b de dat tos instantneamente a abortando la a instancia de d la base de d datos. Si S es posible e, se debe realizar est te tipo de parada p solam mente en la as situacione es siguiente es: La base de e datos o una u de sus aplicaciones s est funci ionando irre egularmente y ninguno de e los otros tip pos de parad da funcionan n. Se necesita a cerrar la base b de dato os instantneamente (po or ejemplo, si se sabe un u corte de en nerga va a ocurrir o en un n minuto). Se ha enco ontrado prob blemas al iniciar la instan ncia de la ba ase de datos s.

Cuando se s necesita una parada a de la base de datos ab bortando tra ansacciones y conexione es de usuarios, ejecute el comando o SHUTDOW WN con la cl lusula ABO ORT:

UTDOWN ABOR RT SHU

La parada abortada de d la base de d datos proc cede con las s siguientes condiciones s: No se permite nue evas conex xiones, tam mpoco se pueden in niciar nueva as transaccion nes. Las senten ncias SQL activas a del cliente que son s procesad das por la base b de dato os son termina adas inmedi iatamente. Las transac cciones activ vas son canceladas. No se espera a que q la conexiones activas a sea an descone ectadas, so on desconecta adas inmediatamente.

mo inicio de la base de datos requeri ir un procedimiento para recuperar r la instancia a. El prxim

58

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 05 5 Inicio y Pa arada de la Ba ase de Datos s

Coma ando: AL LTER DA ATABAS SE


Cuando se s inicia la base b de datos con el co omando STA ARTUP NOM MOUNT, pa ara pasar a la siguiente e fase MOUN NT u OPEN se debe eje ecutar el com mando ALTE ER DATABA ASE: Sintaxis

ALTER DATABASE MOUNT | OPE EN [ READ ON NLY | READ WR RITE ]

Donde: OUNT MO OP PEN RE EAD ONLY RE EAD WRITE Monta a la base de datos. Abre la l base de datos, d y por lo l tanto, esta ar disponib ble para los us suarios. Abre la l base de datos d en mod do de solo le ectura. Abre la l base de datos d en mod do lectura y escritura.

www.perudev.net

59 9

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

60

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06
Acceso a la Base de Datos Oracle
Contenido Verificacin de Servicios Windows Servicio de la Base de Datos Servicio del Proceso Escucha Tipos de Inicio de los Servicios Estados de un Servicio La Ventana de Servicios 62 62 62 63 63 64 65 65 67 70 72 73 75 75 75 77 77 78

Identificacin del Servicio y la Instancia de Base de Datos Servicio de Base de Datos Instancias de la Base de Datos Servicio de Accesibilidad Proceso de Servidor Dedicado Nomenclatura

Configuracin del Mtodo de Nomenclatura Local Configurar el archivo tnsname.ora durante la instalacin Configurar el archivo tnsname.ora despus de la instalacin

Configuracin del Proceso Escucha Configuracin del Proceso Escucha Durante la Instalacin

Glosario

Oracle Database 10 0g Ad dministracin nI

Verific cacin de d Servicios Win ndows


De la rela acin de ser rvicios cread dos durante la instalaci n de Oracle e, por ahora a nos interes sa bsicame ente dos, el primero rela acionado co on la base de datos y el l segundo co on el proces so escucha.

Servici io de la Base B de Datos D


Este serv vicio esta re elacionado con la instancia y la bas se de datos, la estructur ra del nombre de este servicio s es:

Orac cleServiceSID

Donde SID represent ta el nombre e de la instancia, por eje emplo, si el nombre n de la instancia es e EGCC, el e nombre de el servicio es s:

cleServiceEGCC C Orac

Servici io del Pro oceso Es scucha


Este serv vicio esta re elacionado con la disponibilidad de d la base d de datos pa ara el acces so remoto, el e nombre po or defecto de e este servic cio es:

Orac cleOraDb10g_ho ome1TNSListene er

62

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Tipos de d Inicio de los Se ervicios


Los servicios tienen tres t tipos de e inicios, tal c como se des scribe en el siguiente cu uadro: Tipo de Inicio Manual Automt tico Deshabilitado Descripci n El servicio o debe ser in niciado de manera explic cita con el co omando net o desde la a ventana de e servicios. El servicio o se inicia de e manera automtica jun nto con el sis stema operativo. El servicio o no esta disponible, por r lo tanto no podr ser in niciado.

En cualq quier momento se pued de ejecutar el comand do net para modificar el e estado del d servicio, este comand do se ejecut ta desde la consola c de comandos. c

Estado os de un Servicio S
Un servic cio puede tener uno de los estados que se desc criben en el s siguiente cuadro: Estado Iniciado Detenido o Pausado o Descrip pcin El servicio esta func cionando y disponible. d El servicio no esta d disponible. El servicio esta func cionando, pe ero no esta d disponible. Se S asume que es un estado te emporal.

www.perudev.net

63 3

Oracle Database 10 0g Ad dministracin nI

La Ven ntana de Servicios S s


La venta ana de servi icios permite e administra ar los servic cios, para ca argar esta ventana v deb be seguir los s siguientes pasos: 1. 2. Des sde el men Inicio ejecute el coman ndo Ejecuta ar. En el campo ab brir escriba el e comando: : services.m msc

3.

Lue ego haga clic c en el botn n Aceptar.

64

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Identif ficacin n del Ser rvicio y la In nstancia de Base de Dat tos

Servici io de Bas se de Dat tos


Una base e de datos Oracle O esta representad da para los clientes c com mo un servicio; es decir, la base de datos realiz za el trabajo o a nombre de d los client tes. Una ba ase de datos s puede tener uno o m s servicios asociados a ella. La siguie ente figura muestra m dos bases de da atos, cada uno con su propio p servic cio de base de d datos para los client tes de Intra anet. Un ser rvicio, sales. .us.acme.com m, permite a vendedore es ceso a la ba ase de dato os de ventas s. Otro servicio, finance e.us.acme.co om, permite a tener acc analistas financieros tener acces so a la base de datos de e finanzas.

es de datos s de ventas s y finanzas s son identificadas por un nombre e de servicio, Las base sales.us. .acme.com y finance.us.acme.co om respectiv vamente. El nombre de el servicio es e especifica ado por el l parmetro o de inicializacin SERVICE_NAMES en el e archivo de d parmetr ros de inicia alizacin. El nombre del l servicio po or defecto es el nombre e global de la base de datos, d el nombre abarca a el nombre de la base de datos (pa armetro DB B_NAME) y el nombre del d dominio (parmetro DB_DOMAI IN). En el ca aso de sales s.us.acme.c com, sales es e el nombre e de la base e de datos y us.acme.co om es el nom mbre del dom minio. www.perudev.net 65 5

Oracle Database 10 0g Ad dministracin nI

Not ta Es posible p cambiar dinmic camente el valor del pa armetro de SERVICE_NA AMES con n la instruccin SQL ALT TER SYSTEM cuando la base de datos est en servicio. Las sigu uientes instr rucciones co onsultan el valor de los l parmetros SERVI ICE_NAMES S, DB_NAM ME, y DB_DO OMAIN.
SQL L> show para ameter service_names [Enter]

TYPE ME VALUE NAM ------------------------------------ ----------- ----------------------ser rvice_names string orcl.ww ww.perudev.c com SQL L> show para ameter db_name [Enter]

ME VALUE TYPE NAM ------------------------------------ ----------- ----------------------db_ _name string orcl SQL L> show para ameter db_d domain [Enter]

ME TYPE VALUE NAM ------------------------------------ ----------- ----------------------db_ _domain string www.per rudev.com

Una base de datos puede tene er mltiples servicios asociados a a ella. La sig guiente figura muestra una base de d datos que e tiene dos diferentes servicios s pa ara los client tes Web. Un U servicio, book.us.ac cme.com, de edicado a c clientes que e hacen compras de libros. El otro servicio, soft.us.acm me.com, ded dicado a clie entes que ha acen compra as de softwa are. Tener mltiples m se ervicios aso ociados a una base de datos permite la as siguiente es funcionalidades: identificada de diversa p ser i as maneras por diverso os Una base de datos puede clientes. Un administrador de la base de e datos pue ede limitar o reservar recursos del d sistema. Este E nivel de d control permite una asignacin de recursos s mejor a lo os clientes que solicitan uno u de estos s servicios.

66

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Instanc cias de la a Base de e Datos


Una base e de datos tiene por lo o menos una a instancia. Un instanci ia esta compuesta de un u rea de memoria m llam mada Syste em Global A Area (SGA) y procesos de Oracle. La L memoria y los proce esos de un na instancia manejan e eficientemen nte los dato os de la ba ase de dato os asociada a y sirven a usuarios u de la base de d datos. Not ta Una a instancia tambin t man neja otros se ervicios, com mo por ejem mplo: Oracle e XML DB.

www.perudev.net

67 7

Oracle Database 10 0g Ad dministracin nI

La siguie ente figura muestra m dos instancias, sales y fina ance, asocia adas con su us respectiva as bases de e datos.

ervicios, las s instancias son identif ficadas por un nombre e de instan ncia, sales y Como se finance en este eje emplo. El nombre n de la instancia a es especi ificado por el parmetro CE_NAME en e el archivo o del parm metro de inic cializacin. E El nombre de la instanc cia INSTANC por defec cto es Oracl le System Identifier I ( (SID) de la in nstancia.
SQL L> show para ameter instance_name [Enter]

ME VALUE TYPE NAM ------------------------------------ ----------- -------------ins stance_name string orcl

Algunas arquitectura as de hardw ware permit ten que m ltiples com mputadoras compartan el p O Oracle Real Applicatio on acceso a los datos, al software, o a los dispositivos perifricos. Clusters pueden aprovechar de d tal arqu uitectura para ejecutar mltiples instancias i e en diversas computador ras que com mpartan una sola base de e datos fsic ca.

68

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

La siguie ente figura muestra m la co onfiguracin n de Oracle Real Appli ication Clus sters, en es ste ejemplo, dos instan ncias, sales s1 y sales2 2, estn as sociadas co on una bas se de dato os, sales.us.a acme.com.

Servici io de Acc cesibilida ad


Para con nectarse a un servicio de base d de datos, lo os clientes usan un descriptor d d de conexin n que prove ee la ubicacin de la bas se de datos y el nombre e del servici io de base de d datos, El siguiente ejemplo e mue estra un des scriptor de conexin q que habilita a los cliente es ectarse a un n servicio de e base de da atos llamado o sales.us.acme.com. para cone

(DESCRIPTION= ( (ADDRESS=(P ROTOCOL=tcp) )(HOST=sales-server)(PORT=1521)) ( (CONNECT_DA ATA= (SERVICE_ _NAME=sales.us s.acme.com) ) )

www.perudev.net

69 9

Oracle Database 10 0g Ad dministracin nI

La seccin ADDRE ESS del descriptor d de conexi n es realmente la direccin d de e o del proce eso escuch ha. Para co onectarse a un servicio o de base de d datos, lo os protocolo clientes primero se contactan con un pro oceso escu ucha que tpicamente t reside en el servidor de base de e datos. El proceso p esc cucha recibe e las solicitu udes de con nexin de lo os clientes y entrega es la stos requerim mientos al se ervidor de base de dato os. Una vez establecida e conexin, el cliente y el servidor se comunican directamente. Como un na direccin comercial, el proceso escucha e es configurado o para acep ptar peticione es de cliente es en una direccin de protocolo. E Esta direcci n define el protocolo que el proces so escucha est escuch hando y algu una otro info ormacin esp pecfica del p protocolo. Por P ejemplo, el proceso escucha po odra ser configurado c para escuc char en la siguiente direccin del d protocolo o:

(DESCRIPTION= ( ADDRESS = (PROTOCOL=tc ( cp) (HOST=sale es-server) (POR RT=1521) ) )

Este ejem mplo muest tra a una direccin de protocolo TCP/IP T que e especifica el host y un u nmero de d puerto de el proceso escucha. Los s clientes co onfigurados con c esta mis sma direcci n de protoc colo pueden enviar solic citudes de co onexin a es ste proceso e escucha. El descriptor de co onexin tam mbin espec cifica el nom mbre del serv vicio de la base b de dato os con la cu ual los clien ntes intentan n establecer r una conex xin. El proc ceso escuch ha conoce lo os servicios para los cuales puede manejar sol licitudes de conexin, porque una base b de dato os de Oracle e registra dinmicament te esta infor rmacin en el e proceso escucha. Est te proceso d del registro se s llama reg gistro del servicio s . Ta ambin prov vee al proce eso escucha a informaci n sobre las s instancias de la base e de datos y los maneja adores del servicio disp ponibles para cada inst tancia. Los manejadores m s de servicio o actan com mo puntos de d conexin a un servidor de base de datos Oracle. O Un manejador del servicio o puede ser r un despa achador o un u servidor r dedicado. Si se req quiere la co onexin a una instancia a especfica de la base e de datos, entonces lo os clientes tambin t pue eden especif ficar el INST TANCE_NAME de una instancia pa articular en el descripto or de cone exin. Por ejemplo, e el siguiente s de escriptor de e conexin especifica el nombre de d instancia sales1 que esta asocia ada con sale es.us.acme.com.

(DESCRIPTION= ( (ADDRESS=(P ROTOCOL=tcp) )(HOST=sales-server)(PORT=1521)) ( (CONNECT_DA ATA= (SERVICE_ _NAME=sales.us s.acme.com) (INSTANCE E_NAME=sales1) ) )

70

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Alternativ vamente, los s clientes qu ue siempre quieren usa ar un tipo pa articular de manejador m d de servicio pueden p usar un descri iptor de conexin que e especifica el tipo de manejador m d de servicio. En el siguie ente ejemplo o, un descriptor de co onexin es configurado c para usar un u ador para una u configuracin de s servidor com mpartido, in ndicado por: (SERVER = despacha shared).

(DESCRIPTION= ( (ADDRESS=(P ROTOCOL=tcp) )(HOST=sales-server)(PORT=1521)) ( (CONNECT_DA ATA= (SERVICE_ _NAME=sales.us s.acme.com) (SERVER=s shared) ) )

Si quer remos que e el client te use un n servidor dedicado, , debemos s especificar (SERVER R=dedicated d) en lugar de (SERVE ER=shared). Si el par metro SERVER no es sta establecido, entonce es la configu uracin de servidor com mpartido es a asumido. Sin n embargo, el cliente us sar servidor dedicado si s no esta dis sponible un despachado or. Cuando el e proceso escucha e recibe los reque erimientos del d cliente, este selecciona uno de lo os manejado ores de ser rvicios que fueron prev viamente re egistrados. D Dependiendo o del tipo de d manejado or de servic cio seleccio onado, el pr rotocolo de comunicac cin usado, y el sistem ma operativo o del servido or de base de d datos, el proceso es scucha ejecu uta una de las siguiente es acciones. Da la peticin de conex xin directam mente a un despachado d or. Enva un mensaje m al cliente c con l la localizaci n del desp pachador el e proceso de d servidor dedicado. d E cliente entonces se conecta El a directame ente con el despachad dor o el proce eso dedicad do del servidor. Genera un proceso de e servidor de edicado y pa asa la conex xin del clien nte al proces so de servidor r dedicado.

eso escucha a haya terminado la ope eracin de co onexin para a el cliente, el Una vez que el proce e comunica a con el ser rvidor de la base de datos d Oracle e sin la par rticipacin del d cliente se proceso escucha. El E proceso escucha e rea asume la es sperar a es scuchar nue evas sesione es entrantes s de la red.

www.perudev.net

71 1

Oracle Database 10 0g Ad dministracin nI

Proces so de Ser rvidor Dedicado


Una conf figuracin de servidor dedicado, d el proceso es scucha inicia a un proces so de servidor dedicado o para cada solicitud de conexin de los clientes dedica ado al mante enimiento del d cliente. Una U vez que e la sesin es finalizada a, el proces so de servid dor dedicado o finaliza. Por que un proceso de servidor dedicado tien ne que ser iniciado pa ara cada co onexin, es sta configura acin requie ere ms re ecursos de el sistema que la co onfiguracin de servidor compartid do. Un proce eso de serv vidor dedica ado es un tipo t de serv vicio que el l proceso escucha e inic cia cuando recibe una solicitud de un u cliente. Para P terminar la conexin cliente/ser rvidor, una de d las siguie entes accion nes debe ocu urrir: El servidor dedicado he ereda la soli icitud de con nexin desde e el proceso o escucha. El servidor r dedicado informa al proceso esc cucha su direccin de protocolo. El proceso es scucha pasa la direccin de prot tocolo al cliente en un n mensaje de d respuesta y termina la a conexin. El cliente se s conecta con el servi idor dedicad do usando dire ectamente la a direccin d de protocolo o.

Si el clien nte y el servidor de base e de datos existen e en la misma com mputadora, la a conexin del d cliente puede pasar r directamen nte a un pro oceso de servidor dedicado sin ir r a travs del d proceso escucha. e La a aplicacin que inicia la a sesin gen nera un proc ceso de serv vidor dedicad do para la solicitud s de conexin. c E Esto sucede automticamente si la aplicacin que q es usad da para iniciar la sesin n en la bas se de datos esta en la misma com mputadora de d la base de d datos. Not ta Par ra que los clientes remo otos puedan conectarse con el servidor dedicad do, el pro oceso escuch ha y la instan ncia de la base de datos deben funcionar en la a misma la computadora c a. La siguie ente figura muestra m un proceso es scucha pasa ando la solicitud de conexin de un u cliente a un proceso de servidor dedicado.

72

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

1. 2. 3.

El proceso p escucha recibe la solicitud de conexin n del cliente. El proceso esc cucha inicia a un proceso o de servidor dedicado o, y el servi idor dedicad do her reda la solici itud de cone exin desde el proceso escucha. e El cliente c es ah hora conecta ado directam mente con el servidor dedicado.

Nomen nclatura
Los usua arios inician una solicitu ud de conex xin proporc cionando un na cadena de d conexin. Una cadena de con nexin incluy ye un nomb bre de usua ario y una c contrasea, junto con un u identifica ador de con nexin. Un identificado or de conexi n puede se er el mismo descriptor de d conexin o un nombre que resuelve a un de escriptor de conexin. U Uno de los id dentificadore es de conex xin ms comunes es un u nombre d de servicio de red, un nombre sencillo para un u servicio. Los ejemplo os siguientes s muestran una u cadena de conexin n que utiliza un descriptor de conex xin complet to como iden ntificador de e conexin y otra caden na de conexi in que utiliz za el nombre e de servicio o de red sale es como ide entificador de e conexin.

NNECT CON scott t/tiger@(DESC CRIPTION=(ADD DRESS=(PROT TOCOL=tcp)(HO OST=sales-serve er1)(PORT=152 21)) (CO ONNECT_DATA= =(SERVICE_NA AME=sales.us.ac cme.com))) NNECT scott/tig ger@sales CON

Cuando el e nombre de d servicio de d red sales s es usado, , el proceso de conexi n resuelve el nombre sales a un n descriptor r de conex xin. Esta informacin del servicio de red es e almacena ada en una o ms repo ositorios de informacin n a la que a acceden con n mtodos de d nomencla atura. El proce eso para es stablecer una sesin del cliente con la ay yuda de un n mtodo de d nomencla atura es com mo sigue: 1. El cliente inicia una solicitud de e conexin proporciona ando un ide entificador de d conexin. 2. El identifica ador de cone exin es res suelto a un descriptor d de e conexin por p un mtod do de nomenc clatura. Esta informacin n se vuelve al a cliente. 3. El cliente realiza la solicitud s de conexin a la direcci n proporcionada por el descriptor de d conexin n. 4. El proceso o escucha recibe la solicitud y la dirige al se ervidor de base de dato os apropiada. 5. n es acepta ada por el se ervidor de ba ase de datos s. La conexi

www.perudev.net

73 3

Oracle Database 10 0g Ad dministracin nI

Oracle Net provee los siguientes s mtodos de e nomenclat tura: Nomenclatura Local ctorios Nomenclatura de Direc Nomenclatura de cone exin sencilla a Nomenclatura Externa

Nomenc clatura Loc cal


El mtod do de nom menclatura local l almac cena los no ombres de servicio de e red y su us descripto ores de cone exin en un archivo a de c configuracin n denominad do tnsnames s.ora.

Nomenc clatura de Directorios s


El mtod do de nome enclatura de e directorios s almacena identificado ores de con nexin en un u servidor de d directorio os LDAP par ra acceder a un servicio de base de datos.

Nomenc clatura de conexin sencilla s


La nomenclatura de conexin se encilla permite a los clie entes 10g co onectarse co on un servidor de base de datos Or racle usando o una caden na de conex xin TCP/IP que consist te del nombre del host y opcionalmente el puer rto y el nomb bre del servicio.

CON NNECT usernam me/password@h host[:port][/service_name]

La nomenclatura de conexin se encilla no req quiere config guracin.

Nomenc clatura Ext terna


El mtodo de nomen nclatura exte erna almacena los nomb bres de serv vicio de red en e un sopor rte de servic cio de nome enclatura que no es de Oracle. Estos soportes s de servicio os de tercera as personas s incluyen: Servicio de e Informacin n de Red (N NIS) Nombramiento externo Entorno de e Computac cin Distribuida (Distribu uted Compu uting Environ nment) (DCE E) Servicio de e Directorio de d Celdas (C CDS)

74

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Config guracin n del M todo de e Nomen nclatura a Local


El mtod do de nom menclatura local l adicio ona nombre es de servi icios de re ed al archiv vo tnsname es.ora. Cada a nombre de d servicio d de red apun nta a un de escriptor de conexin. El siguiente e ejemplo muestra m un nombre n de servicio de e red apunta ando a un descriptor de d conexin:

sales=(DESCRIPTIO ON= ( (ADDRESS= OL=tcp)(HOST=sales-server)(P PORT=1521) (PROTOCO ) ( (CONNECT_DA ATA= (SERVICE_ _NAME=sales.us s.acme.com) ) )

En este ejemplo, el nombre de e servicio d de red ventas esta apu untando al descriptor de d e DESCRIP PTION. DES SCRIPTION N contiene la a direccin de d protocolo oe conexin contenido en identifica el servicio de d base de datos d destino. Es posibl le configurar r la nomencl latura local d durante o de espus de la a instalacin.

Configurar el ar rchivo tnsname.ora durant te la insta alacin


Oracle Net N Configura ation Assista ant permite configurar los l nombres s de servicio o de red para los client tes. Oracle Universal In nstaller ejecu uta Oracle Net N Configu uration Assis stant despu s de la inst talacin del software. s La a configuraci in vara dep pendiendo d del modo de instalacin. Si realiza a una insta alacin pers sonalizada Oracle Net Configuration Assistan nt le permite seleccion nar el mto odo de nom menclatura a usar. Si selecciona Nomenclatura Local, le permitir configurar el nombre e del servic cio de red en el archivo tnsnam mes.ora para conectars se con el servicio de bas se de datos Oracle.

www.perudev.net

75 5

Oracle Database 10 0g Ad dministracin nI

Configurar el ar rchivo tnsname.ora despus de la i instalaci n


Se pued de agregar nombres de e servicios de red al archivo tns snames.ora en cualquier momento o despus de e la instalac cin. Para co onfigurar el mtodo m de n nomenclatura a local, pued de utilizar un na de las sig guientes herramientas: Oracle Enterprise Manager M er Oracle Net Manage tant Oracle Net Configuration Assist

76

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Config guracin n del Proceso E Escucha a


El Proceso Escucha a es un proc ceso separa ado que fun nciona en la a computado ora donde se s encuentra a el servidor r de base de e datos. Rec cibe solicitud des de cone exin entrant tes del cliente y maneja a el trfico de e estas solic citudes al servidor de ba ase de datos. Porque todos t los parmetros p en valores por defecto o, es posib ble de configuracin tiene comenza ar y utilizar a un proces so escucha q que no esta a configurado. Este proc ceso escuch ha por defec cto tiene po or nombre LISTENER, L no soporta servicios que se estn n iniciando, y escucha en la siguien nte direccin n de protoco olo TCP/IP:

TOCOL=tcp)(HO OST=host_name e)(PORT=1521)) (ADDRESS=(PROT

Los servi icios soporta ados, es decir, los servicios a los cuales c el pro oceso escuc cha remite la as solicitude es del cliente e, se pueden n configurar r en el archiv vo de listene er.ora o est ta informaci n se puede e registrar dinmicame d nte en el proceso escu ucha. Esta caracterstic ca de registro dinmico o se llama registro r de servicio. E El registro es e realizado por proces so PMON (u un proceso de fondo de d la instan ncia) de ca ada instancia de base de datos que q tenga la configura acin necesa aria en el archivo del pa armetro de inicializaci n de la base e de datos. El registro dinmico del d servicio o no requie ere ninguna a configura acin en el archivo de d listener.o ora.

Configuracin del d Proce eso Escucha Dura ante la Ins stalacin n


Oracle Universal U In nstaller eje ecuta Oracl le Net Co onfiguration n Assistant t durante la instalaci n del software. Este pr rograma le p permite configurar la direccin de protocolo p y el servicio que q escucha a para una base b de dato os de Oracle. Durante la instalaci n de un servidor s Enterprise Edit tion o Stand dard Edition n, Oracle Net Configura ation Assist tant configu ura automt ticamente el e proceso e escucha co on el nombre LISTENE ER que tiene e una direccin de proto ocolo TCP/IP P que escuc cha para la base b de dato os Oracle. Durante D una a instalacin personaliza ada, Oracle Net Configuration Assistant permite configura ar el nombre del proceso o escucha y la direccin n de protoco olo que uno elija. e Adems, una direcc cin del pro otocolo IPC C que escuc cha las llam madas a pr rocedimiento os externos es configuro o automtica amente, sin tener en cue enta el tipo d de la instalacin. Oracle Net Configura ation Assista ant tambin configura au utomticame ente la infor rmacin sobre el servicio o para los procedimiento os externos en el archiv vo listener.o ora.

www.perudev.net

77 7

Oracle Database 10 0g Ad dministracin nI

En el sigu uiente script t tenemos un n ejemplo Ejemplo de un listener: l liste ener.ora


LIS STENER= (DESCRIPTIO ON= (ADDRESS_ _LIST= (ADDRE ESS=(PROTOCO OL=tcp)(HOS ST=sales-ser rver)(PORT= =1521)) (ADDRE ESS=(PROTOCO OL=ipc)(KEY Y=extproc)) ) ) SID D_LIST_LISTE ENER= (SID_LIST= (SID_DESC C= (SID_N NAME=plsextp proc) (ORACL LE_HOME=/oracle10g) (PROGR RAM=extproc) ) )

Para ejec cutar Oracle e Net Conf figuration A Assistant de esde la ven ntana Ejecut tar ejecute el programa a netca, tal como c se ilus stra a continuacin:

Esta her rramienta nos n permitir r realizar cualquier configuraci c n del proc ceso escuch ha posterior a la instalac cin.

78

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Glosa ario
ADDRESS S Direccin n de protocolo de red de el listener. Cuando se s realiza un na conexin, el cliente y el listener se s configuran n con direc cciones de protocolo idnticas. El cliente utiliza esta e direccin para enviar r la solicitud de conexin n a una ubic cacin de listener concreta, c mie entras el liste ener "recibe e" solicitudes s de dicha direccin. A continu uacin, se m muestra una direccin d de e ejemplo:
DRESS= (ADD (PROTOCOL=tc cp) (HOST=sales-se erver) (PORT=1521) )

Archivo tnsname es.ora

Archivo de d configurac cin que con ntiene nomb bres de servi icio de red asignado os a descript tores de conexin. Este archivo se utiliza u para el e mtodo de d nomencla atura local. El archivo o tnsnames. .ora debe residir en una de las sigui ientes ubicacion nes: Direc ctorio especi ificado por la a variable de e entorno TN NS_ADMIN. Si la variable de entorno TNS S_ADMIN no o est defini ida como una variable v en W Windows NT T, puede que e est en el registro. Direc ctorio de con nfiguracin global g del no odo. Para Su un Solaris, este directorio es s /var/opt/o oracle. Wind dows NT no tiene un directorio normal l. El dir rectorio $OR RACLE_HOM ME/network k/admin en UNIX o el directorio ORACL LE_HOME\network\ad dmin en siste emas ativos Windo ows. opera

Cadena de Conexi n (Connect t String) Info ormacin que e el usuario transfiere a un servicio para cone ectarse, com mo el nombre de usuario o, la contrasea y el identificador de cone exin:

www.perudev.net

79 9

Oracle Database 10 0g Ad dministracin nI

Descript tor de Conexi n

(Connect t Descriptor) ) Descripcin n con format to especial del d destino de una co onexin de r red. Un desc criptor de co onexin cont tiene informaci in sobre el servicio des stino y la ruta a de red. Descripci in formatea ada de forma a especial del destino de e una conexin de red. Los desc criptores de c conexin contienen el se ervicio de de estino que se identifica mediante el nombre de e servicio de las bases de d datos Oracle10 0g, Oracle9i u Oracle8i o el identifica ador del siste ema Oracle (SID) de las bases de e datos Orac cle8 u Oracle7.

Direcci n de Protocolo

dentifica la direccin d de red de un ob bjeto de red. (Protocol Address) Id Cuando se s realiza un na conexin, el cliente y el receptor de la solicitud, por ejemplo o el listener, se configura an con direc cciones de protocolo o idnticas. E El cliente util liza esta dire eccin para enviar la solicitud de d conexin n a una ubica acin concre eta de un ob bjeto de la red, mien ntras que el receptor "rec cibe" solicitu udes de dich ha direccin. . Es import tante instala ar los mismo os protocolos s para el rec ceptor y el cliente de e la conexin n, as como configurar la as mismas direcciones. d La direcc cin de proto ocolo consta de un elemento denom minado ADDRES SS.

cador de Identific Conexi n

(Connect t Identifier) N Nombre, nom mbre de serv vicio de red o nombre de e servicio que q se resue elve en un descriptor de conexin. Los L usuarios s inician un na solicitud de d conexin mediante la a transferenc cia de un nombre de d usuario y una contras sea junto co on un identif ficador en una cade ena de conex xin para el servicio al q que desea co onectarse (Naming Methods) M Mtodo de resolucin utilizado por un na aplicacin n cliente pa ara resolver un identifica ador de cone exin en un descriptor de conexin al conectar rse a un serv vicio de la ba ase de datos s. La Red de e Oracle so oporta cuatro o mtodos de d nomencla atura: Nome enclatura Lo ocal Nome enclatura de e Directorios s Nome enclatura de e conexin sencilla s (denominado anteriormente Nome enclatura de el host) Nome enclatura Ex xterna

Mtodo de Nomenc clatura

80

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 06 6 Acceso a la Base de Datos Oracle

Nombre de Servicio o (Net Serv vice Name) N Nombre sen ncillo del serv vicio que se resuelve en n de Red un descri iptor de cone exin. Los usuarios u inici ian una solic citud de conexin mediante el e envo de un nombre de e usuario y una u contrase a junto con n un identificador en una a cadena de conexin para el se ervicio al que desea con nectarse:
CONNECT usuario/contrasea@no ombre_servicio_r red

Segn su us necesidad des, los nom mbres de ser rvicio de red se pueden almacena ar en distinta as ubicacion nes, por ejem mplo: Archi ivo de config guracin loca al, tnsnames s.ora, de cad da cliente Servi idor de direc ctorios Oracle Names Server Servi icio de nome enclatura ex xterna, incluy yendo Servic cio de Inform macin de R Red (NIS) o Servicio S de D Directorio de e Celdas (CDS S)

clatura Loca al (Local Na Nomenc aming) Mto odo de nome enclatura que e resuelve el e nombre de e servicio de d red, alma acenado en el e archivo tnsnames.ora del cliente en un des scriptor de conexin. c La a nomenclatu ura local es ms aconsejable para red des de distrib bucin simple con un n mero reducido de servicios s que cambia an en muy r raras ocasion nes. Proceso Escucha (Listener) ) Proceso qu ue reside en n el servidor cuya respon nsabilidad es s la de reci ibir solicitude es de conex xin de client tes y gestion nar el trfico o al servido or. Cada vez z que un clie ente solicita una sesin d de red con un u servidor, el listener recibe la so olicitud real. Si la inform macin del cliente coincide con la inform macin del listener, ste e otorga una conexin al servidor. Registro o de Servicio o (Service Registration n) Funcin mediante m la c cual el proce eso PMON (proceso en segundo o plano de in nstancias) re egistra inform macin automtic camente en el proceso escucha. e Ya a que esta in nformacin se registr ra en el proc ceso escucha, no es nec cesario conf figurar el archivo listener.ora c con esta informacin esttica. El registro del servicio proporcion na al proces so escucha la siguiente informaci in: Nombre de servicio para cad da instancia en ejecucin de la base e de da atos Nombres de insta ancias de la a base de da atos Mane ejadores de servicios (distribuidores s y servidor dedicado) d dispo onibles para la instancia Inform macin de c carga de nod dos, instancias y distribu uidores

Esta infor rmacin per rmite al proceso escucha a determinar r cmo se debe realizar el servicio de solicitud de cone exin de un cliente. c

www.perudev.net

81 1

Oracle Database 10 0g Ad dministracin nI

Servicio de Mtodo de d nomencla atura externa a que permit te a los usua arios utilizar Director rio de Celda as de forma transparent te las herram mientas y ap plicaciones de d Oracle (CDS) eder a las ba ases de dato os Oracle en n un entorno o DCE para acce (Distribut ted Computing Environm ment). Servicio de cin de Red d Informac (NIS) r Dedicado Servidor SID k Information n Service) Pr rotocolo clien nte/servidor de las (Network Pginas Amarillas A (yp) de Sun Microsystems M s para la dist tribucin de datos sob bre la configuracin del sistema (como los nomb bres de usuario y del host) en ntre las com mputadoras d de una red. (Dedicate ed Server) Proceso P del servidor s ded dicado a una a conexin del cliente. S Ident tifier) Nombr re que identifica una ins stancia (Oracle System concreta de una base e de datos en e ejecucin. Por cada base b de datos, ha ay al menos una instancia que hace referencia a ella. Para las bases de da atos anterior res a Oracle8 8i, se utilizaba el SID para iden ntificar la bas se de datos. . El SID se in nclua en la parte del descripto or de conexi n del archiv vo tnsnames s.ora y en la definicin del listener en el arch hivo listener.ora. Los descriptores de conexin utilizados s por los clie entes para la a conexin a la base de datos Oracle8 u Oracle7 de eben estar configurados c s con el par metro SID.

82

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07
Administracin de la Instancia
Contenido Parmetros de Inicializacin El archivo initSID.ORA (PFILE) El Archivo SPFileSID.ORA (SPFILE) Modificando Valores de los Parmetros 84 85 87 88 94 97 97 100 101 103

Dimensionando el SGA Manejo de Sesiones Sesin Restringida Finalizar una Sesin Terminar una Sesin

Archivos de Alertas

Oracle Database 10 0g Ad dministracin nI

Parm metros de d Inicial lizacin


Cuando se s inicia la instancia el servidor s Ora acle tiene qu ue hacer la lectura l de lo os parmetro os de inicializacin desd de el archivo o de parme etros, para definir d las es structuras del SGA, ruta as de directo orio, entre otros parme etros. Hay d dos tipos de archivo de parmetros: p Archivo de e parmetro o esttico PFILE llamad do comnm mente initSID D.ORA dond de SID es el id dentificador de la instanc cia Archivo de d parmet tros spfileSID.O ORA. persistente, SPF FILE comnmente lla amado com mo

Figura 7 . 1 Estruct tura de PFIL LE y SPFILE E

El arch hivo initSID.ORA (PFILE) (


Es un archivo de texto que puede ser e editado con un editor de d de texto o del sistem ma o, si el pfile es modifica ado para refr rescar los ca ambios en la a instancia esta e debe ser operativo reiniciada a, algunos parmetros p s dinmic son cos esto per rmite que se ean modifica ados mientra as esta activ va la instanc cia sin embargo estos ca ambios no se e reflejan en n el pfile. La ubicac cin por defe ecto de es archivo a es: % %ORACLE_H HOME%\database.

84

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

A continu uacin se mu uestra un eje emplo de archivo PFILE E.

######### ######### ######### ######### ################## ########### ###### ########### C (c) 1991, 2001, 2002 2 by Oracle Cor rporation # Copyright ########### ######### ######### ######### ######### ################## ###### ########### ######### ######### ######### ######### # ########### C and I/O # Cache ########### ######### ######### ######### ######### # block_size=8192 db_b db_f file_multiblock_r read_count=8 ########### ######### ######### ######### ######### # ob Queues # Jo ########### ######### ######### ######### ######### # _queue_processe es=10 job_ ######### ######### ######### ######### # ########### n # File Configuration ######### ######### ######### ######### # ########### trol_files=("C:\o oracle\product\ \10.2.0/oradata a/egcc/oradata a\control01.ctl", , cont "C:\ \oracle\product t\10.2.0/orada ata/egcc/oradat ta\control02.ctl", "C:\ \oracle\product t\10.2.0/orada ata/egcc/oradat ta\control03.ctl") ######### ######### ######### ######### # ########### C and Libra ary Cache # Cursors ########### ######### ######### ######### ######### # open n_cursors=300 ######### ######### ######### ######### # ########### D and Statistics S # Diagnostics ########### ######### ######### ######### ######### # back kground_dump_ _dest=C:\oracle\product\10.2.0/admin/egcc/bdump core e_dump_dest=C:\oracle\product\10.2.0/adm min/egcc/cdump p user r_dump_dest=C:\oracle\product\10.2.0/adm min/egcc/udump p ########### ######### ######### ######### ######### # # Database D Identific cation ########### ######### ######### ######### ######### #

www.perudev.net

85 5

Oracle Database 10 0g Ad dministracin nI


db_d domain="www.p perudev.com" db_n name=egcc ######### ######### ######### ######### # ########### # SGA Memory ######### ######### ######### ######### # ########### _target=167772 2160 sga_ ######### ######### ######### ######### # ########### # NLS ######### ######### ######### ######### # ########### _language="SPA ANISH" nls_ nls_ _territory="SPAIN N" ######### ######### ######### ######### # ########### # Processes and Sessions ######### ######### ######### ######### # ########### cesses=150 proc ######### ######### ######### ######### # ########### d Undo and Rollback Segments # System Managed ######### ######### ######### ######### # ########### o_management= =AUTO undo undo o_tablespace=U UNDOTBS1 ######### ######### ######### ######### # ########### # Security and Auditing ######### ######### ######### ######### # ########### \10.2.0/admin/egcc/adump audit_file_dest=C:\oracle\product\ ote_login_passw wordfile=EXCLUSIVE remo ########### ######### ######### ######### ######### # # Shared Server ######### ######### ######### ######### # ########### ccXDB)" dispatchers="(PROTOCOL=TCP) (SERVICE=egc ######### ######### ######### ######### # ########### M # Miscellaneous ########### ######### ######### ######### ######### # compatible=10.2.0.1.0 ######### ######### ######### ######### # ###########

86

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia


# Sort, Hash Joins, , Bitmap Indexes s ######### ######### ######### ######### # ########### _aggregate_targ get=16777216 pga_

Reglas para especific car parmet tros son opciona Todos los parmetros p ales Especificar r los valores en el forma ato siguiente: parmetro o = valor El servidor tiene valore es por defect to para cada a parmetro que depend den del SO etro pueden n ser especif ficados en cu ualquier orde en Los parme Los comen ntarios de ln nea van desp pus del sign no # Se puede incluir un arc chivo de par rmetros den ntro de otro con el parm metro IFILE Un parmetro con va alores mlt tiples, los valores v se deben especificar entre parntesis separados con c comas

El Arch hivo SPFileSID.OR RA (SPFIL LE)


Es un ar rchivo binari io que es mantenido m por el servidor Oracle, e el spfile permite que lo os cambios persistan a los procesos s de iniciar y bajar la ba ase de datos.

Creaci n del archivo SPFILE E


El SPFIL LE se crea a partir de e un PFILE E usando el e comando CREATE SPFILE, S es ste comando o debe ser ej jecutado ant te de abrir la a base de da atos. Sintaxis: :

EATE SPFILE [= = nombre y ruta a del archivo sp pfile] CRE F FROM PFILE [= = nombre y ruta a del archivo pfile];

Ejemplo 1
SQL L> conn / as s sysdba Con nnected. SQL L> shutdown immediate Dat tabase close ed. Dat tabase dismo ounted. ORA ACLE instanc ce shut down. [ [Enter]

[ [Enter]

www.perudev.net

87 7

Oracle Database 10 0g Ad dministracin nI


SQL L> create sp pfile from pfile; Fil le created. SQL L> startup ORA ACLE instanc ce started. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Dat tabase mount ted. Dat tabase opene ed. [ [Enter]

[ [Enter]

8 72424008 453192 2 54525952 2 16777216 6 667648 8

bytes bytes bytes bytes bytes

Modific cando Va alores de los Par metros


Para real lizar cambios de valor de uno ms s parmetros s existen varias alternat tivas: Cambiando o el archivo PFILE Cambiando o con ALTER R SESSION Cambiando o con ALTER R SYSTEM

Algunos parmetros son dinmi icos, lo que quiere decir, que se p pueden modificar su valor sin neces sidad de bajar la base de datos.

Cambiando el archivo PFILE E


Si realiza amos cambio os en el arch hivo PFILE, para que te engan efecto o estos camb bios debemo os bajar la base b de dato os, crear el archivo a SPFILE, y volver r a cargar la base de da atos.

Verificar si un par rmetro es dinmico


Tenemos s las vista as V$PARA AMETER y V$SYST TEM_PARAM METER pa ara consultar informaci in sobre la a modificaci n de los pa armetros. En el siguie ente cuadro se explica la informaci in de dos columnas c sobre los par metros. ISS SES_MODIF FIABLE ISS SYS_MODIF FIABLE Indica Si el parmetro puede p ser m modificado co on ALTER SESSION. Indica Si el parmetro puede p ser m modificado co on ALTER SYSTEM.

88

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

Ejemplo 2
SQL L> column na ame format a40 SQL L> 2 3 4 [Enter r]

select na ame, isses_ _modifiable, , issys_modi ifiable from v$sy ystem_param meter where iss sys_modifiable != 'FAL LSE' order by 1; [Enter r] ISSES S ----FALSE E FALSE E FALSE E FALSE E TRUE E FALSE FALSE E FALSE E FALSE E TRUE E FALSE FALSE E FALSE E TRUE TRUE TRUE E FALSE FALSE E FALSE E TRUE TRUE TRUE TRUE TRUE TRUE TRUE E FALSE FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E TRUE E FALSE FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E TRUE E FALSE FALSE E FALSE E ISSYS_MOD D --------IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E DEFERRED IMMEDIATE E DEFERRED IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E

NAM ME ---------------------------------------aq_ _tm_processe es arc chive_lag_ta arget asm m_diskgroups s asm m_diskstring g asm m_power_limi it aud dit_file_des st bac ckground_dum mp_dest bac ckup_tape_io o_slaves cir rcuits com mmit_write con ntrol_file_r record_keep_time cor re_dump_dest t cpu u_count cre eate_stored_ _outlines cur rsor_sharing g db_ _block_check king db_ _block_check ksum db_ _cache_advic ce db_ _cache_size db_ _create_file e_dest db_ _create_onli ine_log_dest_1 db_ _create_onli ine_log_dest_2 db_ _create_onli ine_log_dest_3 db_ _create_onli ine_log_dest_4 db_ _create_onli ine_log_dest_5 db_ _file_multib block_read_ _count db_ _flashback_r retention_target db_ _keep_cache_ _size db_ _recovery_fi ile_dest db_ _recovery_fi ile_dest_size db_ _recycle_cac che_size db_ _16k_cache_s size db_ _2k_cache_si ize db_ _32k_cache_s size db_ _4k_cache_si ize db_ _8k_cache_si ize ddl l_wait_for_l locks dg_ _broker_conf fig_file1 dg_ _broker_conf fig_file2 dg_ _broker_star rt dis spatchers drs s_start fal l_client fal l_server fas st_start_io_ _target fas st_start_mtt tr_target fas st_start_par rallel_rollback fil le_mapping fix xed_date glo obal_names hs_ _autoregiste er jav va_pool_size e job b_queue_proc cesses

www.perudev.net

89 9

Oracle Database 10 0g Ad dministracin nI


lar rge_pool_siz ze lda ap_directory y_access lic cense_max_se essions lic cense_max_us sers lic cense_sessio ons_warning loc cal_listener r log g_archive_co onfig log g_archive_de est log g_archive_de est_state_1 log g_archive_de est_state_10 log g_archive_de est_state_2 log g_archive_de est_state_3 log g_archive_de est_state_4 log g_archive_de est_state_5 log g_archive_de est_state_6 log g_archive_de est_state_7 log g_archive_de est_state_8 log g_archive_de est_state_9 log g_archive_de est_1 log g_archive_de est_10 log g_archive_de est_2 log g_archive_de est_3 log g_archive_de est_4 log g_archive_de est_5 log g_archive_de est_6 log g_archive_de est_7 log g_archive_de est_8 log g_archive_de est_9 log g_archive_du uplex_dest log g_archive_lo ocal_first log g_archive_ma ax_processes log g_archive_mi in_succeed_ _dest log g_archive_tr race log g_checkpoint t_interval log g_checkpoint ts_to_alert log g_checkpoint t_timeout max x_dispatcher rs max x_dump_file_ _size max x_shared_ser rvers nls s_length_sem mantics nls s_nchar_conv v_excp object_cache_m max_size_percent optimal_size object_cache_o ap_page_pool l_size ola ope en_cursors opt timizer_dyna amic_sampling opt timizer_feat tures_enable opt timizer_inde ex_caching opt timizer_inde ex_cost_adj opt timizer_mode e opt timizer_secu ure_view_merging par rallel_adapt tive_multi_ _user par rallel_insta ance_group par rallel_max_s servers par rallel_min_s servers par rallel_threa ads_per_cpu pga a_aggregate_ _target pls sql_ccflags pls sql_code_typ pe pls sql_compiler r_flags pls sql_debug pls sql_native_l library_dir pls sql_native_l library_subdir_count pls sql_optimize e_level pls sql_v2_compa atibility FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E FALSE E TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE E FALSE FALSE E FALSE E TRUE E FALSE FALSE E FALSE E FALSE E FALSE E TRUE E FALSE TRUE TRUE TRUE TRUE TRUE E FALSE TRUE TRUE TRUE TRUE TRUE E FALSE FALSE E TRUE E FALSE FALSE E FALSE E FALSE E TRUE TRUE TRUE TRUE E FALSE FALSE E TRUE TRUE IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E DEFERRED DEFERRED DEFERRED IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E

90

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia


pls sql_warnings s que ery_rewrite_ _enabled que ery_rewrite_ _integrity rec cyclebin rem mote_depende encies_mode rem mote_listene er res source_limit t res source_manag ger_plan res sumable_time eout ser rvice_names sga a_target sha ared_pool_si ize sha ared_servers s sha ared_server_ _sessions ski ip_unusable_ _indexes smt tp_out_serve er sor rt_area_reta ained_size sor rt_area_size e sql l_trace sql ltune_catego ory sta andby_archiv ve_dest sta andby_file_m management sta ar_transform mation_enabled sta atistics_lev vel str reams_pool_s size thr read tim med_os_stati istics tim med_statisti ics tra ace_enabled und do_retention n und do_tablespac ce use er_dump_dest t wor rkarea_size_ _policy 1 filas sele eccionadas. 151 TRUE TRUE TRUE TRUE TRUE E FALSE FALSE E FALSE E TRUE E FALSE FALSE E FALSE E FALSE E FALSE E TRUE TRUE TRUE TRUE TRUE TRUE E FALSE FALSE E TRUE TRUE E FALSE FALSE E TRUE TRUE E FALSE FALSE E FALSE E FALSE E TRUE IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E DEFERRED DEFERRED E IMMEDIATE IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E IMMEDIATE E

Modifica ando Parmetros con ALTER SESSION S


Sintaxis: :
ALTER SESSION SET S parmetro = valor;

Ejemplo 3
SQL L> conn syst tem/manager Con nnected. SQL L> show para ameter session_cached_ _cursors [ [Enter]

[ [Enter]

TYPE ME VALUE NAM ------------------------------------ ----------- ----------------------ses ssion_cached d_cursors integer 0 SQL L> alter ses ssion set ssion altere ed. Ses session_cac ched_cursors s = 30; [ [Enter]

www.perudev.net

91 1

Oracle Database 10 0g Ad dministracin nI


SQL L> show par rameter session_cached d_cursors [ [Enter]

ME VALUE TYPE NAM ------------------------------------ ----------- --------------------ses ssion_cached d_cursors integer 30

Modifica ando Parmetros con ALTER SYSTEM S


Sintaxis: :

ALTER SYSTEM SE ET parmetro = valor [DEFERRED] [SCOPE={MEM [ MORY|SPFILE|B BOTH}];

Ejemplo 4
SQL L> conn / as s sysdba Con nnected. SQL L> show para ameter open_cursors [ [Enter]

[ [Enter]

ME TYPE VALUE NAM ------------------------------------ ----------- ----------------------ope en_cursors integer 300 SQL L> alter sys stem set open_cursors = 200; Sys stem altered d. SQL L> show para ameter open_cursors [ [Enter]

[ [Enter]

ME TYPE VALUE NAM ------------------------------------ ----------- ----------------------ope en_cursors integer 200

Ejemplo 5
SQL L> conn / as s sysdba Con nnected. SQL L> show para ameter java_pool_size; ; [Enter r]

[Enter r]

ME TYPE NAM VALUE ------------------------------------ ----------- -----------------------jav va_pool_size e big integ ger 2097152 20 SQL L> alter sys stem set java_pool_siz ze = 0 scope e = spfile; Sys stem altered d. [Enter r]

92

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia


SQL L> show para ameter java_pool_size; ; [Enter r]

ME TYPE VALUE NAM ------------------------------------ ----------- ----------------------jav va_pool_size e big integ ger 2097152 20 SQL L> shutdown immediate Dat tabase close ed. Dat tabase dismo ounted. ORA ACLE instanc ce shut down. SQL L> startup ORA ACLE instanc ce started. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Dat tabase mount ted. Dat tabase opene ed. 8 72424008 453192 2 54525952 2 16777216 6 667648 8 bytes bytes bytes bytes bytes [Enter r]

[Enter r]

SQL L> show para ameter java_pool_size; ;

[Enter r]

TYPE ME NAM VALUE ------------------------------------ ----------- ----------------------jav va_pool_size e big integ ger 0

www.perudev.net

93 3

Oracle Database 10 0g Ad dministracin nI

Dimen nsionando el SG GA
El tamao de SGA pude variar sin tener que e reiniciar el servidor, es por ello que e se define un u ro llamado SGA_MAX_ S SIZE y SGA A_TARGET para limitar el crecimien nto. parmetr

Figura 7 . 2 El SGA A El tamao del SGA esta e determin nado por los s siguientes parmetros de inicializa acin: GA_MAX_SI IZE SG Establece el mximo tamao t que puede aloja ar el SGA cuan ndo se levanta la instanc cia de base de d datos. Este parmetro o permitir a aumentar el tamao de e la SGA sin n necesidad de iniciar la instancia, teniendo en n cuenta que e el total del SGA no exceda a este parm metro. (Oracle 10 0g r1) Espec cifica el total de tamao que dispondr la SGA cua ando la instancia se inicia. Si utilizamos este parm metro no tend dremos nece esidad de definir los valores para p db_cac che_size, shared_po ool_size, lar rge_pool_si ize, java_pool_ _size puesto o que oracle e automtica amente ajusta esto os compone entes incluye endo stream_pool_size. Determina a el tamao del d Databas se Buffer Ca ache en bytes. a el nmero de bytes del Redo Log Buffer B Determina Cache. Especifica a el tamao en e bytes del Shared Poo ol.

SG GA_TARGET T

DB B_CACHE_S SIZE LO OG_BUFFER R

SH HARED_POO OL_SIZE

94

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

ST TREAMS_PO OOL_SIZE

Determina a el tamao de d Oracle Streams, que e le permite a la versin EE compartir datos y eve entos en un amb biente distrib buido. Cuando el l parmetro STREAMS_ _POOL_SIZE E no es asignad do, se utiliza a memoria del shared po ool, hasta un 10% 1 de su ta amao.

LA ARGE_POOL_SIZE DB B_BLOCK_S SIZE

Indica el ta amao en by ytes del Large Pool por defecto es s cero. Determina a el tamao del d bloque O Oracle prima ario en bytes, el b bloque Oracle es la unida ad de lectura o escritura.

El SGA como c estruc ctura dinmi ica utiliza un d granularid da el cual es e un espac cio na unidad de contiguo de memoria a, esta unida ad depende e del tamao o definido pa ara el SGA, as la unida ad de granularida es 4M MB si el SGA A es menor o igual que 1 GB y 16 M MB si el SGA A es mayor a 1 GB. El tamao de las estructuras del SGA puede e cambiar en n proporcion nes mltiplos s de la unida ad de granu ularida, pode emos consu ultar V$SGA A_DYNAMIC C_COMPONENTS para consultar lo os compone entes dinmi icos del SGA A y el tama o granular utilizado. u

www.perudev.net

95 5

Oracle Database 10 0g Ad dministracin nI

Ejemplo 6
SQL L> select co omponent, current_size e, granule_s size 2 from v$sg ga_dynamic_ _components; ;

[ [Enter]

MPONENT IZE GRANULE E_SIZE CURRENT_SI COM ----------------------------------- ------------ -----------sha ared pool 629145 560 41 194304 lar rge pool 41943 304 41 194304 jav va pool 41943 304 41 194304 str reams pool 0 41 194304 DEF FAULT buffer r cache 384 41 194304 880803 KEE EP buffer ca ache 0 41 194304 REC CYCLE buffer r cache 0 41 194304 DEF FAULT 2K buf ffer cache 0 41 194304 DEF FAULT 4K buf ffer cache 0 41 194304 DEF FAULT 8K buf ffer cache 0 41 194304 DEF FAULT 16K bu uffer cache 0 41 194304 DEF FAULT 32K bu uffer cache 0 41 194304 ASM M Buffer Cac che 0 41 194304 ccionadas. 13 filas selec

L> show para ameter db_cache_size SQL

[ [Enter]

ME VALUE NAM TYPE ------------------------------------ ----------- -------------db_ _cache_size big integ ger 44M SQL L> alter sys stem set db_cache_size e = 47M; stema modifi icado. Sis SQL L> show para ameter db_cache_size [ [Enter] [ [Enter]

ME VALUE TYPE NAM ------------------------------------ ----------- ---------------db_ _cache_size big integ ger 48M

96

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

Manej jo de Se esiones

Sesin n Restring gida


La sesin n restringida a es muy t til, por ejemplo, cuando o realizamos el manten nimiento de la estructura a, realizam mos tareas de d importaci n exporta acin de la b base de dato os. Cuando realizamos tareas de mantenimien m to como administradore es debemos s asegurarno os de que seamos s lo nicos conec ctados a la base de da atos, para es so debemos s terminar la as sesiones de otros usuarios de manera explic cita.

Habilitar Deshab bilitar el ac cceso restr ringido a la a base de d datos


Para rest tringir el acc ceso a la bas se de datos se puede us sar el coman ndo ALTER SYSTEM. S Sintaxis: :

ALTER SYSTEM {E ENABLE | DISA ABLE} RESTRIC CTED SESSION

Ejemplo 7
SQL L> conn / as s sysdba Con nnected. SQL L> select lo ogins from v$instance; ; GINS LOG ---------ALL LOWED SQL L> alter sys stem enable Sys stem altered d. restricte ed session; [Enter r] [Enter r]

[Enter r]

SQL L> select lo ogins from v$instance; ; GINS LOG ---------RES STRICTED

[Enter r]

SQL L> conn scot tt/tiger [Enter r] ERR ROR: ORA A-01035: ORA ACLE only available to o users with h RESTRICTE ED SESSION privilege p

rning: You are a no longer connecte ed to ORACLE E. War

www.perudev.net

97 7

Oracle Database 10 0g Ad dministracin nI

Tambin podemos restringir r el acceso a la base de datos con el comando STARTUP, cuando in niciamos la base b de dato os. Sintaxis: :

S STARTUP REST TRICT

Ejemplo 8
SQL L> conn / as s sysdba Con nnected. SQL L> shutdown immediate; Dat tabase close ed. Dat tabase dismo ounted. ORA ACLE instanc ce shut down. SQL L> startup restrict r ORA ACLE instanc ce started. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Dat tabase mount ted. Dat tabase opene ed. 8 93395628 453292 2 75497472 2 16777216 6 667648 8 bytes bytes bytes bytes bytes [Ent ter]

[Ent ter]

[Ent ter]

SQL L> select lo ogins from v$instance; ; GINS LOG ---------RES STRICTED

[Ent ter]

Quiene es pueden iniciar ses sin en mo odo restring gido


Para pod der iniciar sesin s en modo m restrin ngido, los usuarios u deb ben tener los siguiente es privilegios del sistem ma: SYSDBA SYSOPER R RESTRICT TED SESSIO ON

El rol DB BA tambin concede c el privilegio p RE ESTRICTED SESSION, por lo tanto o, los usuario os a los que e se asigna este e rol tamb bin podrn iniciar sesi n en modo restringido.

98

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

Inicialmente los usua arios que pue eden conect tarse en modo restringid do son: SYS SYSTEM

Conceder y Revoc car el privilegio REST TRCITED SESSION S


Concede er privilegio o RESTRICT TED SESSIO ON Sintaxis: :

GRA ANT privilegio/ro ol TO usuario

Ejemplo 9
SQL L> conn / as s sysdba Con nnected. SQL L> grant res stricted session to sc cott; Gra ant succeede ed. SQL L> conn scot tt/tiger Con nnected. [Ent ter]

[Ent ter]

[Ent ter]

Revocar r privilegio RESTRICTE R ED SESSION N : Sintaxis:

VOKE privilegio/ /rol FROM usua ario REV

Ejemplo 10
SQL L> conn / as s sysdba Con nnected. SQL L> revoke re estricted session from m scott; Rev voke succeed ded. [ [Enter]

[ [Enter]

SQL L> conn scot tt/tiger [ [Enter] ERR ROR: ORA A-01035: ORA ACLE only available to o users with h RESTRICTE ED SESSION privilege p

rning: You are a no longer connecte ed to ORACLE E. War

www.perudev.net

99 9

Oracle Database 10 0g Ad dministracin nI

Finalizar una Se esin


Sintaxis: :

ALTER SYSTEM DI ISCONNECT SE ESSION sid,ser rial# { {POST_TRANS SACTION | IMMEDIATE}

Ejemplo 11
SQL L> select si id,serial#,username,st tatus,BLOCKI ING_SESSION N 2 from v$se ession; SID SERI IAL# USERNA AME ---- ---------- ----------------141 18 SCOTT 144 16 SCOTT 146 70 148 18 SCOTT 149 2 152 11 SYS 154 1 158 4 160 1 161 1 162 1 163 1 164 1 165 1 166 1 167 1 168 1 169 1 170 1 ccionadas. 19 filas selec L> alter sys stem SQL 2 disconnec ct session '144,16' po ost_transact tion; Sys stem altered d.

[Enter]

S STATUS BLO OCKING_SESS SION -------- ---------------A ACTIVE 144 I INACTIVE A ACTIVE A ACTIVE 144 A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE A ACTIVE

[Enter]

Si scott despus d de terminar transaccin int tenta hacer otra operaci in, Oracle le l mostrar el siguiente e mensaje de e error:

ERR ROR at line 1: ORA A-00028: your session has bee en killed

100

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

Termin nar una Sesin S


Sintaxis: :

ALTER SYSTEM KILL SESSION s sid,serial# [IMM MEDIATE]

Ejemplo 12
SQL L> select SI ID,SERIAL#,USERNAME,st tatus from v$session; v SERIAL# SID -------- -----------1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 5 12 195 ted. 10 rows select L> alter sys stem kill session '12, ,195' immedi iate; SQL stem altered d. Sys SQL L> select SI ID,SERIAL#,USERNAME,st tatus from v$session; v SID SERIAL# -------- -----------1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 5 12 195 ted. 10 rows select [Enter] [Enter] [Enter]

USERNAME STA ATUS ------------------------------ -------ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE SYS INA ACTIVE SCOTT

ATUS USERNAME STA ------------------------------ -------ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE ACT TIVE SYS KIL LLED SCOTT

www.perudev.net

10 01

Oracle Database 10 0g Ad dministracin nI

Tambin podemos re evisar los bloqueos de las sesione es con la he erramienta Oracle O EM, t tal como se muestra en la siguiente figura.

Figura 7 . 3 Blo oqueos de ce esiones.

102

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 07 7 Administra acin de la Instancia

Archiv vos de Alertas A


El archiv vo de alertas alert_SID.log registra a los coman ndos y resultados de lo os principale es eventos mientras la base de datos d esta operativa, o cada c instanc cia tiene un na archivo de d alertas, sino s existe la instancia crea uno du urante el inicio, este arc chivo crece da a da as a que debe e ser revisar rlo y darle mantenimient m to, puedes optar o por elim minar parte del contenid do elimina arlo peridic camente pre evio backup si deseas guardar la informacin n histrica del d archivo de d alertas. El Archivo de alertas contiene la siguiente in nformacin: ora de inicio y parada de e la base de datos Fecha y Ho Una lista de e los parmetros de inic cializacin qu ue no tiene valores v por defecto El inicio de e los proceso os background El thread de inicio de la a instancia El numero de secuencia de log Wr riter Informacin n de los swit tch de los lo og files Creacin de los tablesp paces y segmentos de UNDO U Sentencias s de tipo ALT TER que han n sido utiliza adas Informacin n relacionad da con el erro or de tipo ORA-600

La localiz zacin del ar rchivo de ale erta la define e el parmet tro BACKGR ROUND_DU UMP_DEST.

www.perudev.net

10 03

Oracle Database 10 0g Ad dministracin nI

Ejemplo 13 1. Bajar la base de datos.


SQL L> shutdown immediate Dat tabase close ed. Dat tabase dismo ounted. ORA ACLE instanc ce shut down. [Enter r]

2. Eliminar el archivo de alertas. a ase de datos s. 3. Iniciar la ba


L> startup SQL ORA ACLE instanc ce started. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Dat tabase mount ted. Dat tabase opene ed. 8 72424008 453192 2 54525952 2 16777216 6 667648 8 bytes bytes bytes bytes bytes

4. Revisar el archivo a de alertas a

104

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 08
Administracin del Archivo de Control
Contenido Qu es el Archivo de Control? Establecer el Nombre de los Archivos de Control Multiplexado el Archivo de Control Creando Copias Adicionales, Renombrando y Reubicando Archivos de Control Mostrando Informacin del Archivo de Control 106 107 108 109 111

Oracle Database 10 0g Ad dministracin nI

Qu es el Ar rchivo de d Contr rol?


Toda bas se de datos tiene un arc chivo de con ntrol, qu es s un archivo binario dond de se registra la estruct tura fsica de e la base de e datos.

El archivo o de control contiene: El nombre de la base de d datos Nombre y ubicacin u de e los data file es y redo log g files Fecha y ho ora de la creacin de la b base de dato os El nmero actual de la secuencia d del log Informacin n de los che eckpoints

El archivo de control debe estar r disponible para escritu ura por el se ervidor de base b de dato os siempre que la base e de datos est e abierta. Sin el archivo de con ntrol, la base e de datos no n puede se er montada y es difcil re ecuperarla. El archivo o de control l de una bas se de datos se crea al mismo tiempo que la ba ase de dato os. Por defec cto, por lo menos m una copia c del ar rchivo de co ontrol se cre ea durante la a creacin de d base de datos. En n algunos sistemas ope erativos por r defecto es s crear cop pias mltiple es. Debes cr rear dos o ms m copias del d archivo d de control durante la cre eacin de base de dato os. Puedes tambin t cre ear archivos de control ms adelan nte, si pierdes archivos s de control o deseas cambiar c valores particula ares en los archivos a de control. c

106

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 08 8 Administra acin del Arch hivo de Contr rol

Establecer el Nombre e de los Archivo os de Co ontrol


Los nom mbres de los s archivos de d control s se especifica an en el pa armetro de inicializaci n CONTRO OL_FILES en el archivo de parmet tros de la ba ase de datos. La instan ncia reconoc ce y abre to oda la lista de archivo os durante la puesta en e marcha, y la instancia escribe y mantiene e toda la lista a de archivos de control durante la operacin o de e la base de e datos. Ejemplo 1
SQL L> show para ameter control_files [Ent ter]

ME VALUE TYPE NAM ----------------------- ----------- -----------------------------con ntrol_files string C:\ORACLE\ \PRODUCT\10 0.2.0\ORADA TA\EGCC\CO ONTROL01.CT TL, C:\ORAC LE\PRODUCT T\10.2.0\OR RADATA\EGCC \CONTROL02 2.CTL, C:\O ORACLE\PROD UCT\10.2.0 0\ORADATA\E EGCC\CONTRO L03.CTL

Si no especifica los archivos en n el parme etro CONTR ROL_FILES antes de la a creacin de d base de datos: d Si no esta a utilizando el Administ trador de Archivos de Oracle (Ora acle-Manage ed Files), ento onces la bas se de datos crea un arc chivo de con ntrol y usa un u nombre de d archivo por r defecto. El nombre po or defecto de epende del sistema s oper rativo. Si estas utilizando u el e Administr rador de Archivos de Oracle, en ntonces deb be establecer el parmetr ro de inicializacin que determina el nombre y la ubicaci n de los arch hivos de cont trol, Si estas utilizando u el Administrad dor de Almacenamiento o Automtic co (Automat tic Storage Management) ), puedes po oner nombre es de archiv vos incompl letos en ASM y en los parmetro os de inicializaci n DB_CR REATE_FILE_DEST DB_RECO OVERY_FILE E_DEST. AS SM crea automticamen nte los archiv vos de contr rol en los luga ares apropiad dos.

www.perudev.net

10 07

Oracle Database 10 0g Ad dministracin nI

Multip plexado el Archi ivo de C Control


Cada bas se de datos s debe tener r por lo men nos 2 archivo os de contro ol, cada uno o almacenad do en difere entes discos. Si un arc chivo de con ntrol es da ado debido a una falla a del disco, la instancia asociada debe ser cerrada. Una v vez que se repare el dis sco, el archivo de contr rol daado se s puede res staurar usan ndo la copia a intacta del archivo de control c del otro o disco y la instancia puede ser reiniciada. En este ca aso, no se re equiere ning guna recupe eracin de lo os medios. El comportamiento de los arc chivos de c control mult tiplexados e es como se e describe a continuac cin: La base de d datos escribe los no ombres de archivo de control en el parmetro CONTROL L_FILES, en n el archivo del parme etro de inic cializacin de la base de d datos. La base de datos lee solam mente el primer arc chivo en el e parmetro CONTROL L_FILES durante la oper racin de la base de datos. Si uno de los archivos de control llega a ser in nasequible d durante la op peracin de la base de da atos, la instancia llega a ser inoperable y debe ser s abortada a.

Not ta Ora acle recomie enda fuertem mente que t toda base de e datos teng ga un mnimo o de dos s archivos de e control y que q estn sit tuados en di iscos fsicos separados. Una form ma para mu ultiplexar arc chivos de c control es almacenar a una copia de el archivo de d control en e discos diferentes. d Almacenan ndo archivo os de contro ol en disco os diferente es, reducimo os al mnimo o el riesgo cuando c falle e uno de los s discos. Lo o que se bu usca es evitar hacer un proceso de recovery.

108

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 08 8 Administra acin del Arch hivo de Contr rol

Crean ndo Copias Adic cionales s, Renom mbrando o y Reubicando o Archiv vos de Control C
Se puede e crear una copia adicional del arc chivo de con ntrol para multiplexarlo, m , copiando un u archivo de d control ex xistente a un na nueva ub bicacin y agregando a el nombre de el archivo a la lista de los l archivos s de control l. De mane era similar, podemos r renombrar un u archivo de d control ex xistente cam mbiando el nombre n del archivo a o ca ambiando su u ubicacin, y cambiand do el nombr re del archiv vo en la lista a de archivo os de contro ol. En ambo os casos, pa ara garantizar que los archivos a de control c no ca ambian dura ante el proce eso, cerrar la a base de datos antes de d copiar el archivo de control. c egar una copia multiplex xada del arc chivo de con ntrol actual o renombrar un archivo de d Para agre control, debe d seguir los l siguiente es pasos: 1. Cerrar la ba ase de datos 2. Copie un archivo a de control c existente a una nueva ubica acin, usand do comando os del Sistema a Operativo. . 3. Corrija el parmetro p CO ONTROL_FILES en el archivo a de parmetro de e inicializaci n de base de e datos para a aadir el nu uevo nombre del archivo o de control, o cambiar el nombre del archivo de control exis stente. 4. Inicie de nu uevo la base e de datos.

www.perudev.net

10 09

Oracle Database 10 0g Ad dministracin nI

Ejemplo 2 l base de datos. d 1. Cerramos la


SQL L> shutdown immediate [Enter] Bas se de datos cerrada. Bas se de datos desmontada. Ins stancia ORAC CLE cerrada.

2. Realizamos s copia del archivo a de c control en C:\ \CTLFILE y D:\CTLFILE E. os el parm metro CONT TROL_FILES S en el arc chivo de pa armetros de d 3. Modificamo inicializaci n.
SQL L> startup nomount n Ins stancia ORAC CLE iniciad da. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers 0 167772160 1247876 6 71304572 2 88080384 4 7139328 8 bytes bytes bytes bytes bytes [Enter]

SQL L> alter sys stem set 2 control_f files='c:\ctlfile\cont trol01.ctl', ,'d:\ctlfil le\control02 2.ctl' 3 scope=spf file; [Enter] stema modifi icado. Sis

4. Iniciamos nuevamente n la base de datos.


SQL L> shutdown immediate ORA A-01507: bas se de datos sin montar r stancia ORAC CLE cerrada. Ins SQL L> startup Ins stancia ORAC CLE iniciad da. tal System Global G Area Tot Fix xed Size Var riable Size Dat tabase Buffe ers Red do Buffers Bas se de datos montada. Bas se de datos abierta. 0 167772160 1247876 6 71304572 2 88080384 4 7139328 8 bytes bytes bytes bytes bytes [Enter] [Enter]

SQL L> show para ameter control_files

[Enter]

TYPE ME V VALUE NAM --------------------- ----------- -----------------------------con ntrol_files C C:\CTLFILE\C CONTROL01.C CTL, D:\C string T TLFILE\CONTR ROL02.CTL

110

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 08 8 Administra acin del Arch hivo de Contr rol

Mostr rando Inf formacin del A Archivo de Cont trol


Las siguientes vistas s muestran in nformacin acerca a de lo os archivos de d control: Vista V$DATA ABASE V$CONT TROLFILE V$CONT TROLFILE_R RECORD_S SECTION Descripcin n Muestra info ormacin de e la base de datos desde e el archivo de e control. Lista los nom mbres de los s archivos de control Muestra las distintas se ecciones que e componen el archivo de e control y lo os registros de los que consta cada a una; as co omo el nme ero de registros de cada tipo usados hasta a el momento. Puede ser utilizada u para a mostrar no ombres de los archivos s de control c como fueron n especificada as en el par metro de in nicializacin CONTROL FILES.

V$PARA AMETER

Ejemplo 3
SQL L> select na ame from v$controlfile e; ME NAM -----------------------------C:\ \CTLFILE\CON NTROL01.CTL D:\ \CTLFILE\CON NTROL02.CTL [Ent ter]

www.perudev.net

11 11

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

112

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09
Administracin del los Redo Logs
Contenido Que es el Redo Log? Redo Threads Contenido del Redo Log Como Oracle Database Graba en los Redo Log 114 114 114 115 118 118 119 119 120 121 121 121 123 123

Planificacin de los Redo Log Files Multiplexado de los Redo Log Files

Creando Groupos y Miembros Redo Log Creando Grupos Redo Log Creando Miembros Redo Log

Eliminando Grupos y Miembros Redo Log Eliminando Grupos Redo Log Eliminando Miembros Redo Log

Consultando Informacin sobre los Redo Log Ejercicio

Oracle Database 10 0g Ad dministracin nI

Que es el Re edo Log g?


La estruc ctura de may yor importan ncia para op peraciones de d recuperac cin es el Re edo Log, qu ue consiste en dos o m s archivos preasignado os que almacenan todos s los cambio os hechos a la base de datos d tal com mo ellos ocu urren. Cada a instancia de d una Base de datos de e Oracle tien ne un redo lo og asociado o para proteg ger la base d de datos en caso de que e la instancia a falle.

Redo Threads T
Cada ins stancia de ba ase de datos s tiene su propio redo log l groups s. Estos red do log group ps, multiplexados o no, llaman l a un thread de l la instancia de redo. En n configurac ciones tpica as, slo una instancia de e base de datos d tiene a acceso a una Base de datos d de Or racle, tan s lo un hilo est e presen nte. En Or racle Real A Application Clusters, sin embargo o, dos o m s instancias simultnea amente tiene e acceso a u una sola bas se de datos y cada insta ancia tiene su s propio thread de redo o. En esta leccin des scribir como o configurar r y administ trar el redo log en una a instancia de d Base de datos de Oracle O estnd dar. El nm mero de thre ead que pue ede ser asumido es 1 en e todas las s discusiones s y los ejemplos desarro ollados.

Conten nido del Redo R Log g


Los Redo o Log Files son llenado os con redo o records. Un redo rec cord, tambi n llamado un u 1 redo ent try, est com mpuesto de un grupo d de vectores de cambio , cada uno de los cuale es es una de escripcin de d un cambio o hecho a un solo bloqu ue en la base de datos. Por ejemplo, si cambia a un valor del sueldo en una tab bla de empleados, gen nera un redo record qu ue contiene los vectores s de cambio que describ ben los camb bios al bloqu ue del segmento de dato os para la ta abla, el bloq que de dato os de segme ento deshac cer, y la tab bla de transaccin de lo os segmento os deshacer r. Los redo records son n guardados s de una ma anera circula ar en el redo log buffer del d SGA y so on almacena ados en uno o de los redo log files por p el proces so de fondo de la base de datos Lo og , LGWR gr Writer (L LGWR). Siempre que una transa accin sea confirmada, raba los red do records de d la transaccin desde e el redo log g buffer del SGA a un r redo log file e, y asigna un u SYSTEM M CHANGE NUMBER N (S SCN) para id dentificar los s redo records para cad da transacci n confirmad da. Slo cu uando todos los redo rec cords asocia ados con una transacci n dada est n seguros en e disco el proceso p de usuario u notif fica que la tr ransaccin h ha sido confirmada. Los redo records tam mbin puede e ser grabad dos a un redo log file antes de que la l transacci n correspondiente sea a confirmada a. Si el re edo log buf ffer se llena a, u otra transaccin es e confirmad da, LGWR enva e todos los redo log g entries en el redo log buffer a un n redo log file,

Vector de d Cambio: Describe D un cambio c simple e en un bloque de datos de e la BD. Entre e otros datos, , contiene el e nmero de versin, el c digo de la tra ansaccin, y la l direccin d del bloque afe ectado.

114

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09 9 Administra acin de los Redo R Logs

aun cuan ndo algunos redo record ds puede no ser confirmados. Si fue era necesar rio, la base de d datos pue ede cancela ar estos cambios.

Como Oracle Database Graba en n los Redo Log


El redo lo og de una base b de dato os consiste en dos o ms m redo log g files. La base b de dato os requiere un mnimo de dos arch hivos para g garantizar qu ue uno est siempre disponible para grabar mientras m el otro est siendo s archivado (si la a base de datos est en el mod do ARCHIVE ELOG). El proces so LGWR gr raba en el re edo log files de una man nera circular. . Cuando el l redo log file es actual se e llena, el LG GWR empiez za a grabar en el siguie ente redo log g file dispon nible. Cuand do el ltimo redo log file e esta llenado, LGWR retorna al primer p redo log file y graba en el l, comenza ando el ciclo o otra vez. La L Figura 9. .1 ilustra el proceso de grabacin circular c de lo os redo log files. Los nmeros al la ado de cada a lnea indica an la secuen ncia en que LGWR grab ba a cada re edo log file.

Figura 9 . 1 Reutiliza acin de los Redo Log F Files por el proceso LGW WR

www.perudev.net

11 15

Oracle Database 10 0g Ad dministracin nI

Llenado los l redo log files estn disponibles d p para ser reutilizacin po or LGWR, de ependiendo si esta habi ilitado el modo archivado. Si el arc chivado esta deshabi ilitado (la base de datos est en mod do NOARCHIV VELOG), un n redo log file e lleno vuelv ve a estar di isponible despus de qu ue los cambios registrados en l son grabados g en n los archivo os de datos. Si el archiv vado esta ha abilitado (la base de datos est en el modo AR RCHIVELOG G), un redo lo og file lleno o vuelve a estar disponible despu us de que los cambio os registrados s en l han sido s grabados en los ar rchivos de d datos y el ar rchivo ha sid do archivado.

Active (Current) y Inactive Redo R Log F Files


Ejemplo 1
SQL L> select gr roup#,members,status,s sequence# fr rom v$log; GROUP# MEMBERS -------- -----------1 1 2 1 3 1 SEQUEN NCE# STATUS ---------------- ---------CURRENT 50 INACTIVE 48 INACTIVE 49 [Enter]

La base de datos Oracle O utiliza a solo un red do log file al a mismo tie empo para almacenar a lo os redo rec cords desde e el redo lo og buffer. El redo log g file que LGWR L actualmente es sta escribiendo es llamad do current redo r log file. . Los redo log files qu ue son reque eridos para un proceso de recuperacin de la instancia so on llamados s active redo o log files. Los L redo log g files que ya a no son req queridos par ra un proces so de recupe eracin de la a instancia son s llamados s inactive re edo log files. Si la bas se de datos est en el modo ARCH HIVELOG, entonces e la base de da atos no pued de reutilizar o sobre-es scribir un re edo log file en lnea ac ctivo (active e) hasta que e uno de lo os procesos s de archivad do de fondo o (ARCn) ha aya archivad do su conten nido. Si la base b de dato os est en el modo NO OARCHIVELOG, enton nces cuando o el ltimo redo log file e es llenado, LGWR co ontinua reuti ilizando el primer archiv vo activo (act tive) disponi ible.

Log Switches y Lo og Sequen nce Numbe ers


Un log sw witch es el punto en el cual la bas se de datos deja de gra abar en un redo r log file y comienza a a grabar en e otro. Normalmente, un log switc ch ocurre cu uando el current redo lo og file est completame c ente lleno y la grabacin debe contin nuar en el si iguiente redo log file. S Sin embargo, se puede e configura ar log switc ch para qu ue ocurran a intervalo os regulare es, independ dientemente de si el cu urrent log fi ile est com mpletamente e lleno. Ta ambin pued de forzar log g switch man nualmente.

116

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09 9 Administra acin de los Redo R Logs

La Base de datos Oracle O asigna a a cada red do log file un u nuevo log g sequence number cad da ch ocurre y LGWR L empi ieza a graba ar. Cuando la base de datos archiv va vez que un log switc s log archiva ados conserv van su log sequence s nu umber. A un n redo log fi ile los redo log files, los que es c clicamente utilizado se le asignara el siguiente log sequenc ce number disponible. d Cada red do log file en e lnea o archivado a es s nicamente identifica ado por su log sequenc ce number. Durante una falla, la instancia, o la recuper racin de medios, m la base de dato os aplica correctamente e los redo log g files en ord den ascende ente usando o el log sequ uence number de los red do log files. Ejemplo 2
SQL L> alter sys stem switch logfile; stema modifi icado. Sis SQL L> select gr roup#,members,status,s sequence# fr rom v$log; MEMBERS GROUP# -------- -----------1 1 2 1 3 1 STATUS SEQUEN NCE# ---------------- ---------ACTIVE 50 CURRENT 51 INACTIVE 49 [Enter r] [Enter r]

www.perudev.net

11 17

Oracle Database 10 0g Ad dministracin nI

Planif ficacin de los Redo R Lo og Files


Multipl lexado de e los Red do Log Files
La base de datos Oracle te deja d multiple exar los redo log files s de una in nstancia para salvagua ardar contra a daos a archivos individuales. Cuando los redo log files est n multiplexados, el LG GWR graba a simultnea amente la misma info ormacin del redo log en e mltiples redo log file es idnticos, , de tal modo que elimin namos fallas s que puedan presentars se a un solo o redo log file e. Not ta Ora acle recomie enda multipl lexar los red do log files. La prdida a de datos de d un red do log file pu uede ser cat tastrfica si se requiere un proceso de recupera acin.

Figura 9 . 2

Multiplexado de lo os Redo Log g Files

El multiplexado de lo os redo log files se llam man groups (grupos). C Cada redo lo og files en un u grupo se e llama un member m (m miembro). En E Figura 9.2, 9 A_LOG1 1 y B_LOG1 ambos so on miembros s del grupo o 1, A_LOG G2 y B_LO OG2 ambos son miemb bros del grupo 2, y as a sucesivamente. Los miembros en e un grupo debe ser ex xactamente del mismo tamao. t Cada mie embro de un u log file group es sim multneamen nte activo (e es decir, el LGWR grab ba simultne eamente en cada uno de ellos) se egn lo indicado por lo os log sequence number idnticos asignados por el LGWR. En la Fig gura 9.2, prim mer LGWR escribe simultneamente en A_LO OG1 y B_LO OG1. Luego o graba sim multneamente en A_L LOG2 y B_ _LOG2, y as a sucesivamente. LGW WR nunca escribe e sim multneamen nte en miem mbros de div versos grupo os (por ejem mplo, en A_L LOG1 y B_LO OG2).

118

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09 9 Administra acin de los Redo R Logs

Crean ndo Grou upos y Miembro M os Redo o Log


Creand do Grupo os Redo Log L
Sintaxis

ALTER DATABASE A ADD LOGFILE [GROUP [ #] ( ('especificacin especificacin de e archivo 1') de archivo 1', 'e S SIZE n {K|M}

Ejemplo 3
SQL L> alter dat tabase 2 add logfi ile 3 ('C:\o oracle\produ uct\10.2.0\ \oradata\egc cc\redo04a.log', 4 'C:\or racle\produc ct\10.2.0\o oradata\egcc c\redo04b.log') 5 size 10M; ; se de datos modificada. Bas SQL L> select gr roup#,members,status,s sequence# fr rom v$log; MEMBERS GROUP# -------- -----------1 1 2 1 3 1 4 2 STATUS SEQUEN NCE# ---------------- ---------INACTIVE 50 CURRENT 51 INACTIVE 49 UNUSED 0 [Ent ter]

ter] [Ent

L> select gr roup#, member from v$l logfile SQL 2 order by 1 asc, 2 asc; GROUP# ---------1 2 3 4 4 MBER MEM -------------------------------------------------C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO02.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO03.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04A A.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04B B.LOG

[Ent ter]

www.perudev.net

11 19

Oracle Database 10 0g Ad dministracin nI

Creand do Miemb bros Redo o Log


Sintaxis

ALTER DATABASE A ADD LOGFILE MEMBER M 'especificacin de arc chivo' T GROUP #; TO

Ejemplo 4
SQL L> select gr roup#,members,status,s sequence# fr rom v$log; GROUP# MEMBERS -------- -----------1 1 2 1 3 1 4 2 SEQUEN NCE# STATUS ---------------- ---------INACTIVE 50 CURRENT 51 INACTIVE 49 UNUSED 0 [Enter]

L> alter dat tabase add logfile mem mber SQL 2 'C:\oracl le\product\10.2.0\orad data\egcc\re edo01B.log' 3 to group 1; se de datos modificada. Bas SQL L> select gr roup#,members,status,s sequence# fr rom v$log; GROUP# MEMBERS -------- -----------1 2 2 1 3 1 4 2 SEQUEN NCE# STATUS ---------------- ---------INACTIVE 50 CURRENT 51 INACTIVE 49 UNUSED 0

[Enter]

[Enter]

L> select gr roup#, member from v$l logfile SQL 2 order by 1 asc, 2 asc; GROUP# ---------1 1 2 3 4 4

[Enter]

MEM MBER -------------------------------------------------C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01B B.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO02.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO03.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04A A.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04B B.LOG

f selecc cionadas. 6 filas

120

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09 9 Administra acin de los Redo R Logs

Elimin nando Grupos G y Miemb bros Red do Log


Elimina ando Gru upos Red do Log
Sintaxis

ALTER DATABASE DROP LOGFIL LE GROUP #;

Ejemplo 5
SQL L> select gr roup#,members,status,s sequence# fr rom v$log; MEMBERS GROUP# -------- -----------1 2 2 1 3 1 4 2 STATUS SEQUEN NCE# ---------------- ---------INACTIVE 50 CURRENT 51 INACTIVE 49 UNUSED 0 [Enter] [Enter]

L> alter dat tabase drop logfile gr roup 3; SQL se de datos modificada. Bas SQL L> select gr roup#,members,status,s sequence# fr rom v$log; GROUP# MEMBERS -------- -----------1 2 2 1 4 2 SEQUEN NCE# STATUS ---------------- ---------INACTIVE 50 CURRENT 51 UNUSED 0

[Enter]

Elimina ando Mie embros Redo R Log


Sintaxis

ALTER DATABASE DROP LOGFIL LE MEMBER ' es specificacin de e archivo ';

Ejemplo 6
SQL L> select gr roup#,members,status,s sequence# fr rom v$log; MEMBERS GROUP# -------- -----------1 2 2 1 4 2 STATUS SEQUEN NCE# ---------------- ---------INACTIVE 50 CURRENT 51 UNUSED 0 [Enter r]

www.perudev.net

12 21

Oracle Database 10 0g Ad dministracin nI


SQL L> alter sys stem switch logfile; stema modifi icado. Sis SQL L> alter sys stem switch logfile; stema modifi icado. Sis SQL L> alter sys stem switch logfile; stema modifi icado. Sis SQL L> select gr roup#,members,status,s sequence# fr rom v$log; MEMBERS GROUP# -------- -----------1 2 2 1 4 2 STATUS SEQUEN NCE# ---------------- ---------INACTIVE 53 CURRENT 54 INACTIVE 52 [Enter r] [Enter r] [Enter r] [Enter r]

L> select gr roup#, member from v$l logfile SQL 2 order by 1, 2; GROUP# ---------1 1 2 4 4

[Enter r]

MBER MEM -------------------------------------------------C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01B B.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO02.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04A A.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04B B.LOG

L> alter dat tabase drop logfile me ember SQL 2 'C:\ORACL LE\PRODUCT\10.2.0\ORAD DATA\EGCC\RE EDO01.LOG'; se de datos modificada. Bas SQL L> select gr roup#, member from v$l logfile 2 order by 1, 2; GROUP# ---------1 2 4 4

[Enter r]

[Enter r]

MBER MEM -------------------------------------------------C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO01B B.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO02.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04A A.LOG C:\ \ORACLE\PRODUCT\10.2.0 0\ORADATA\EG GCC\REDO04B B.LOG

122

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 09 9 Administra acin de los Redo R Logs

Consu ultando Informa acin so obre los Redo Lo og


Las siguientes vistas s proveen inf formacin so obre los redo o logs. Vis sta V$ $LOG V$ $LOGFILE V$ $LOG_HISTO ORY Descripcin n Muestra info ormacin de e los grupos redo logs. Muestra info ormacin de e los grupos redo logs y sus miembros. Muestra info ormacin his strica de los redo logs.

Ejercicio
Configure e el redo log g de su base e de datos pa ara que cum mpla con los siguientes requisitos: r 1. Debe tener r 3 grupos re edo log: 1, 2, , y 3. o debe tener r 2 miembros s. 2. Cada grupo d cada arch hivo debe se er de 100 Mb b. 3. El tamao de

www.perudev.net

12 23

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

124

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10
Administracin de Tablespaces
Contenido Esquema de la Base de Datos Tipos de Segmentos 126 127 128 128 128 129 129 130 131 131 133 136 137 137 137 139 140 140 140 141 142 142

Gua para Administrar Tablespaces Uso de Mltiples Tablespaces Asignar Cuotas a los Usuarios en los Tablespace

Administracin de Tablespaces Tablespace Administrado Localmente Tablespace Administrando por el Diccionario

Tablespace Administrado Localmente Sintaxis General Clusula EXTENT Clusula AUTOEXTEND

Tablespaces Temporales Introduccin Crear un Tablespace Temporal Administrado Localmente

Especificando Bloques NO Estndares para Tablespaces Gestionando Tablespaces Monitoreando el Espacio Libre Agregando un nuevo archivo Tablespace ONLINE - OFFLINE Tablespace READ ONLY READ WRITE Eliminando un Tablespace

Oracle Database 10 0g Ad dministracin nI

Esque ema de la l Base de Dato os


Una base e de datos fsicamente esta e constitu uida de cont trol files, log files y data files, los da ata files se agrupan en estructuras e l gicas llama adas Tablespaces, una b base de datos debe tener por lo me enos un Tablespace lla amado SYST TEM sin em mbargo se re ecomienda crear mas de d uno para distribuir otras estructuras lgicas q que almacen nan datos.

Adems de los Table espace el se ervidor Orac cle se compo one de otras s estructuras s lgicas para gestionar r el almacen namiento de datos, como o se ilustra a continuaci n.

Bloque Oracle Extent nt Segmen Tablesp pace

Un U bloque Oracle O tiene un u tamao en e bytes dete erminado po or el parmetro p DB_BLOCK_ D _SIZE. Es E un conjun nto de bloqu ues oracle co ontiguos. Se S compone e de uno o m mas Extents. Esta E compue esto por uno o o mas Segment.

126

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Tipos de d Segme entos


Un segm mento est definido como c cualqu uier entidad d que cons sume espac cio fsico de d almacena amiento den ntro de la base de da atos. Algun nos de los tipos ms comunes se s describen n en la siguiente tabla: Tipo de Segmento Table Index k Rollback Descri ipcin Almac cenan datos en estructu uras de filas y columnas. Mejora an el acceso o a los datos s de las tabla as. Segmento especia al usado par ra mantener r consistenci ia en las lec cturas durante las transa acciones de los usuarios sy ejecut tar recuperac cin de transaccin. Divide e una tabla e en piezas m s pequeas s, piezas m s manej jables para p propsitos de d desempe o.

Partition

Ejemplo 1 En este ejemplo e cons sultamos los s segmentos s del esquem ma HR.
SQL L> column se egment_name format a20 0 SQL L> column ta ablespace_name format a20 [ [Enter] [ [Enter]

SQL L> select se egment_name, segment_t type, tables space_name, bytes 2 from dba_ _segments 3 where own ner='SCOTT'; [ [Enter] GMENT_NAME SEG ----------------PK_ _DEPT DEP PT EMP P PK_ _EMP BON NUS SAL LGRADE NT_TYPE SEGMEN -----------------INDEX TABLE TABLE INDEX TABLE TABLE TABLESPAC CE_NAME -------------------USERS USERS USERS USERS USERS USERS BYTES ---------65536 65536 65536 65536 65536 65536

f selecc cionadas. 6 filas

www.perudev.net

12 27

Oracle Database 10 0g Ad dministracin nI

Gua para p Adm ministra ar Tables spaces


Uso de e Mltiple es Tables spaces
Usando mltiples m tab blespaces te enemos may yor flexibilida ad en la ejec cucin de op peraciones de d base de datos. Po or ejemplo, cuando un na base de datos tiene mltiples tablespace es, podemos s realizar las s tareas siguientes: Separar los s datos del usuario de los datos de el diccionario o de datos para p reducir la disputa entre los objet tos del dicc cionario y los s objetos de e los esque emas para lo os mismos da atafiles. Separe los datos de e una aplic cacin de otras, para a impedir que q mltiple es aplicacione es sean afec ctadas si un tablespace debe ser puesto en OFF FLINE. Almacenar r los datafile es de los ta ablespaces en e discos se eparados pa ara reducir la disputa de las operacio ones de I/O. Poner un tablespace t O OFFLINE m mientras que otros perm manecen en lnea, con tal t que en con njunto este siempre s disp ponible. Reservar un u tablespac ce para un p particular tipo de uso de e la base de e datos, com mo una alta actividad de d actualiza acin, solo lectura, o como segmento s d de almacenam miento tempo oral. Esto pe ermite optimizar el uso d de los tables spaces. Backup de tablespaces s individuale es.

Asigna ar Cuotas s a los Us suarios en los Tab blespace


Conceda a a los usu uarios que tendrn pr rivilegios pa ara crear objetos una cuota en el tablespac ce donde ten ndr su segm mento para sus objetos. .

128

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Admin nistraci n de Ta ablespac ces


Tables space Adm ministrad do Localm mente
Se trata de d un tables space que gestiona g sus s propias ext tensiones, u utiliza un ma apa de bits en e cada arc chivo de dat tos para ma antener un seguimiento o del estado o libre uti ilizado de la as extension nes. Cada vez z que una extensin e es asignada o se libera para volver a utilizarla, Oracle O camb bia los valore es del mapa a de bits pa ara que refle eje el nuevo o estado de e las extens siones. Esto os cambios no generan informacin n de rollback ya que no o actualizan las tablas del d diccionar rio de datos. . Los table espaces adm ministrados lo ocalmente p presentan los s siguientes beneficios: Mejora la concurrenc cia y veloci idad de op peraciones d de espacio, por que la asignacin y liberaci n de espac cio modifica a recursos a administrado os localmente (mapa de bits b almacen nados en la c cabecera de e los archivos). Mejora el desempeo, d por que op peraciones re ecursivas qu ue se puede en producir en e los tablespace adminis strados por e el diccionario o de datos s son eliminadas. Se permite en bases de datos de re eserva leble es, porque administramo a os localmente tablespace es temporale es (por eje emplo, para ordenamientos) y as no genera an ningn und do o redo. Simplifica la asignaci n de espa acio, cuando la clusu ula AUTOAL LLOCATE es e especificad da, el tam mao aprop piado para a el exten nt es auto omticamente seleccionad do. Reduce la confianza del d usuario e en el diccion nario de dato os por que la informaci n necesaria es e almacenada en la cabecera de los archivos y los bloq ques de map pa de bits. ts libres es in nnecesario p para los tabl lespaces administrados localmente. . Unir extent

Todos lo os tablespa aces, incluido el table espace SY YSTEM, pue eden ser administrado a os localmente. Adicional lmente, el paquete DBMS_SP PACE_ADMIN tablespac ces administ trados localm mente. provee e procedim mientos para

www.perudev.net

12 29

Oracle Database 10 0g Ad dministracin nI Ejemplo 2


SQL L> conn / as s sysdba Con nectado. SQL L> select ta ablespace_name, extent t_management t 2 from dba_ _tablespaces; BLESPACE_NAM ME TAB -----------------------------SYS STEM UND DOTBS1 SYS SAUX TEM MP USE ERS EXA AMPLE f selecc cionadas. 6 filas EXTE ENT_MAN ---------LOCA AL LOCA AL LOCA AL LOCA AL LOCA AL LOCA AL [Enter r]

[Enter r]

Firura 10 0 . 1 Gestin n de tablespa aces desde Oracle EM

Tables space Adm ministran ndo por e el Diccion nario


Cuando iniciamos Oracle O 10g, la opcin por defecto para p la adm ministracin de los exte ent cuando creamos c un n tablespace es Admin nistrado Localmente. Sin embargo, podemo os especifica ar explcitamente cuan ndo querem mos crear un u tablespa ace adminis strado por el diccionar rio, Oracle actualiza a las s tablas apr ropiadas en el dicciona ario cuando un extent es e asignado o o liberado para p rehusarlo.

130

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Tables space Administ A trado Lo ocalmen nte


Sintaxi is Genera al

EATE TABLESPA ACE nombre CRE D DATA FILE nom mbre SIZE n [K|M|G|T] [REUS SE] [ AUTOEXTEND D { OFF | ON [NEXT [ n [K|M|G|T] ] [MAXS SIZE n [K|M|G|T T]] } ] [ BLOCKSIZE n [K] ] [ ONLINE | OFFLINE ] NAGEMENT [ EXTENT MAN { DICTIONA ARY | LOCAL [ AUTOALLOCAT TE | UNIFORM [SIZE n [K|M|G|T] ] ] } ]

Ejemplo 3
SQL L> conn / as s sysdba Con nectado. [Enter r]

SQL L> create ta ablespace ts_demo 2 datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _demo.dbf' 3 size 5 M; ; r] [Enter blespace cre eado. Tab

En este ejemplo e se esta e creando o el tablespa ace ts_demo o con parm metros por de efecto: Estado Tipo Gestin de e Extensione es Tipo de Asignacin Gestin de e Espacio de e Segmento Ampliar automticamente ReadWrite Perm manente Loca al Auto omtico Auto omtico Deshabilitado

www.perudev.net

13 31

Oracle Database 10 0g Ad dministracin nI

Ejemplo 4 g pa ara los ejemplos de esta a leccin. Objetos generales


SQL L> create se equence sq_ _table; Sec cuencia crea ada. SQL L> 2 3 4 5 6 7 8 9 10 0 11 1 12 2 13 3 14 4 create or r replace procedure sp p_fill_table e ( tabla varchar2, v n number ) as cmd var rchar2(500); s varch har2(200) := 'Oracle i is PowerFull l'; begin cmd := 'insert into ' || tab bla || ' values(sq_table.nex xtval,''' || | s || ''')'; for k in i 1..n loop execu ute immediate ( cmd ); ; commi it; end loo op; end; / [Ent ter]

ter] [Ent

ocedimiento creado. Pro

Ejemplo 5
SQL L> create ta able tb_dem mo( 2 id numb ber constraint pk_tb_d demo primary y key, 3 dato va archar2(200) 4 ) tablesp pace ts_dem mo; bla creada. Tab SQL L> call sp_f fill_table( 'tb_demo', , 62300 ); Lla amada termin nada. [ [Enter]

[ [Enter]

SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_DE EMO'; [ [Enter] GMENT_NAME SEG -------------------TB_ _DEMO TB_ _DEMO . . . . . . _DEMO TB_ TB_ _DEMO TB_ _DEMO TB_ _DEMO PK_ _TB_DEMO PK_ _TB_DEMO . . . . . . _TB_DEMO PK_ PK_ _TB_DEMO SEGMENT_TYPE EXTEN NT_ID B BLOCKS BYTES ------------------ ---------- ---------- ---------0 8 TABLE 65536 1 8 TABLE 65536

TABLE TABLE TABLE TABLE INDEX INDEX

14 15 16 17 0 1

8 8 128 128 8 8

65536 65536 048576 10 10 048576 65536 65536

INDEX INDEX

14 15

8 8

65536 65536

ccionadas. 34 filas selec

132

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Clusu ula EXTEN NT


Sintaxis

XTENT MANAGE EMENT [ EX { DICTIONARY | LOCAL [ AUT TOALLOCATE | UNIFORM [SIZE n [K|M|G|T T] ] ] } ]

Para cre ear un table espace adm ministrado lo ocalmente, debemos e especificar LOCAL L en la clusula EXTENT MA ANAGEMEN NT de la inst truccin CRE EATE TABLESPACE. s dos opcion nes, podemo os hacer que e Oracle ma aneje los extent automt ticamente co on Tenemos la opcin n AUTOALLO OCATE (opc cin por def fecto), o pod demos espe ecificar que el tablespac ce sea man nejado con extent uniformes de un tamao especfic co mediante e la clusu ula UNIFORM M SIZE. Ejemplo 6
SQL L> create ta ablespace ts_a 2 datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _a.dbf' size e 5 M 4 extent ma anagement local autoal llocate; [Ent ter] blespace cre eado. Tab SQL L> create ta able tb_a( 2 id numb ber constraint pk_tb_a a primary ke ey, 3 dato va archar2(200) 4 ) tablesp pace ts_a; bla creada. Tab SQL L> call sp_f fill_table( 'tb_a', 62 2300 ); amada termin nada. Lla SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_A' '; ter] [Ent GMENT_NAME SEG -------------------TB_ _A TB_ _A . . . . . . _A TB_ TB_ _A TB_ _A TB_ _A PK_ _TB_A PK_ _TB_A . . . . . . _TB_A PK_ PK_ _TB_A NT_ID B BLOCKS SEGMENT_TYPE EXTEN BYTES ------------------ ---------- ---------- ---------0 8 TABLE 65536 1 8 TABLE 65536 [Ent ter]

[Ent ter]

TABLE TABLE TABLE TABLE INDEX INDEX

14 15 16 17 0 1

8 8 128 128 8 8

65536 65536 048576 10 10 048576 65536 65536

INDEX INDEX

14 15

8 8

65536 65536

ccionadas. 34 filas selec

www.perudev.net

13 33

Oracle Database 10 0g Ad dministracin nI

El resulta ado que se obtiene o es si imilar al del Ejemplo 4. Ejemplo 7


SQL L> create ta ablespace ts_b 2 datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _b.dbf' size e 5 M 3 extent ma anagement local unifor rm; [Ent ter] blespace cre eado. Tab

SQL L> create ta able tb_b( 2 id numb ber constraint pk_tb_b b primary ke ey, 3 dato va archar2(200) 4 ) tablesp pace ts_b; bla creada. Tab SQL L> call sp_f fill_table( 'tb_b', 62 2300 ); amada termin nada. Lla

[Ent ter]

[Ent ter]

SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_B' '; ter] [Ent GMENT_NAME SEG -------------------TB_ _B TB_ _B TB_ _B PK_ _TB_B SEGMENT_TYPE EXTEN BYTES NT_ID B BLOCKS ------------------ ---------- ---------- ---------0 128 10 048576 TABLE 128 10 048576 1 TABLE 2 128 10 048576 TABLE 128 10 048576 0 INDEX

En este ejemplo se ha especific cado que el l tamao de el extent es uniforme, pero p no se ha h indicado el tamao, entonces e asume el valor r por defecto o, este es de e 1 MB.

134

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Ejemplo 8
SQL L> create ta ablespace ts_c 2 datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _c.dbf' size e 2M 3 extent ma anagement local unifor rm size 127 K; [Ent ter] blespace cre eado. Tab SQL L> create ta able tb_c( 2 id numb ber constraint pk_tb_c c primary ke ey, 3 dato va archar2(200) 4 ) tablesp pace ts_c; bla creada. Tab SQL L> call sp_f fill_table( 'tb_c', 10 0000 ); amada termin nada. Lla SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_C' '; ter] [Ent GMENT_NAME SEG -------------------TB_ _C TB_ _C TB_ _C PK_ _TB_C PK_ _TB_C SEGMENT_TYPE EXTEN BYTES NT_ID B BLOCKS ------------------ ---------- ---------- ---------0 16 1 131072 TABLE 16 1 131072 1 TABLE 16 1 131072 2 TABLE 0 16 1 131072 INDEX 16 1 131072 1 INDEX [Ent ter]

[Ent ter]

En este caso, c especi ificamos que e el extent te enga un tam mao de 127 7K, pero no es e posible por que tiene e que ser un mltiplo de 8K, debido a que el pa armetro DB_ _BLOCK_SIZE es de 8K, por lo tan nto es redondeado a 128 8K, que es lo o mismo a 16 bloques.
SQL L> show para ameter db_block_size [Ent ter]

ME TYPE VALUE NAM ------------------------------------ ----------- ----------------------------_block_size integer 8192 db_

www.perudev.net

13 35

Oracle Database 10 0g Ad dministracin nI

Clusu ula AUTO OEXTEND D


Sintaxis
A { OFF | ON [NEXT n [K|M|G|T] ] [ AUTOEXTEND [ [MAXSIZE n [K|M|G|T]] } ]

Donde: OF FF ON N NE EXT Deshabilita a el crecimie ento autom tico del table espace. Habilita el crecimiento o automtico del tablespa ace. Se utiliza para p especif ficar el siguie ente increme ento del tam mao en disco cuan ndo mas exte ent son requ ueridos. El valor predeterminad do es el tamao de un b bloque. Esta clus sula se utiliza a para espec cificar el m ximo espaci io permitido para expan ndir automticamente el archivo de datos. Esta clus sula indica que no existe e lmite para el crecimien nto del archivo de e datos.

MA AXSIZE UN NLIMITED

Ejemplo 9
SQL L> 2 3 4 create ta ablespace ts_d datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _d.dbf' size e 500 K autoexten nd on next 500 K maxsi ize 3 M extent ma anagement local unifor rm size 256 K; [Enter]

blespace cre eado. Tab SQL L> create ta able tb_d( 2 id numb ber constraint pk_tb_d d primary ke ey, 3 dato va archar2(200) 4 ) tablesp pace ts_d; bla creada. Tab SQL L> call sp_f fill_table( 'tb_d', 20 0000 ); amada termin nada. Lla SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_D' '; [Enter] GMENT_NAME SEG -------------------TB_ _D TB_ _D TB_ _D PK_ _TB_D PK_ _TB_D NT_ID B BLOCKS SEGMENT_TYPE EXTEN BYTES ------------------ ---------- ---------- ---------0 32 2 262144 TABLE 32 2 262144 1 TABLE 32 2 262144 2 TABLE 32 2 262144 0 INDEX 32 2 262144 1 INDEX [Enter]

[Enter]

136

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Tables spaces Tempor rales


Introdu uccin
Para mej jorar la conc currencia de e mltiples operaciones de ordenam miento, reduc cir su costo, o evitar qu ue la Base de Datos Oracle O administre opera aciones de espacio, de ebemos crear tablespac ces tempor rales. Un ta ablespace t temporal pu uede ser c compartido por mltiple es usuarios. . Dentro de d un table espace temp poral, todas s las opera aciones de ordenamien nto para un na instancia dada y el ta ablespace comparten c un solo segm mento de ord denamiento. El segmento de orden namiento ex xiste para cada c instancia que eje ecuta operaciones de ordenamiento dentro de un tables space deter rminado. El segmento de ordenam miento es creado c por la primera instruccin que q use el ta ablespace te emporal para a ordenamie ento, despu s de iniciar la base de datos, y es s liberado solo s cuando o se baja la instancia. Un extent no n puede ser compartid do por mltip ples transac cciones. Podemos s consultar la asignac cin y libera acin de es spacio dent tro de un segmento s d de ordenamiento en un n tablespace e temporal usando la vista v V$SORT_SEGME ENT. La vis sta V$TEMPSEG_USAG GE identifica los usuarios s actuales en e esos segm mentos. No es po osible crear objetos o expl citamente en e un tablesp pace tempor ral. Ejemplo 10 e cons sultamos el nombre del tablespace temporal. En este ejemplo
SQL L> select TA ABLESPACE_NAME from v$ $sort_segmen nt; BLESPACE_NAM ME TAB ------------------------------TEM MP [ [Enter]

Crear un u Tables space Temporal Administr A rado Loca almente


Debido a que el man nejo del espa acio es muc cho ms sim mple y ms e eficiente en un u tablespac ce administr rado localme ente, ellos son s los ms s apropiados para table espaces tem mporales. Lo os tablespac ces tempora ales adminis strados localmente usan n tempfiles, los cuales no modifica an data fuera del table espace tem mporal o ge eneran ning gn redo pa ara data de el tablespac ce temporal. Para con nsultar informacin sob bre los temp pfiles podem mos usar la as vistas V$ $TEMPFILE y DBA_TEMP_FILES anlogo a a la as vistas V$D DATAFILE y DBA_DATA A_FILES. Para cre ear un tablespace temp poral debem mos usar la instruccin CREATE TEMPORAR T RY TABLESP PACE, y nec cesitamos el privilegio d del sistema CREATE C TA ABLESPACE E.

www.perudev.net

13 37

Oracle Database 10 0g Ad dministracin nI

Sintaxis

EATE TEMPORA ARY TABLESPA ACE nombre CRE T TEMPFILE nombre SIZE n [K|M M|G|T] [REUS SE] [ AUTOEXTEND D { OFF | ON [NEXT [ n [K|M|G|T] ] [MAXS SIZE n [K|M|G|T T]] } ] [ EXTENT MAN NAGEMENT { DICTIONA ARY | LOCAL [ UNIFORM [SIZ ZE n [K|M|G|T] ]]]

Ejemplo 11
SQL L> 2 3 4 create te emporary tablespace te emp_a tempfile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\TEM MP_A.DBF' size 5 M reuse extent ma anagement local unifor rm size 1M; [Ent ter]

blespace cre eado. Tab

Para opt timizar el desempeo d de las op peraciones de d ordenam miento en e el tablespac ce temporal, el valor especificado o en UNIFORM SIZE E debe ser mltiplo del parmetro SORT_A AREA_SIZE.

138

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Espec cificando o Bloques NO Es stndare es para Tablesp T paces


Podemos s crear table espaces con n tamaos d de bloques diferentes d al l estndar definido d por el parmetr ro DB_BLO OCK_SIZE. Esta caract terstica pe ermite trans sportar tablespaces co on tamaos de bloques diferentes entre e bases d de datos. La clusula BLOCKS SIZE en la instruccin CREATE TABLESPAC T CE permite especificar el tamao del d bloque diferente al ta amao del bloque estndar. Sin em mbargo, el bu uffer cache en e el SGA debe ser con nfigurado par ra tamaos de bloques no estndar r. Ejemplo 12
SQL L> alter sys stem set db_2k_cache_s size = 8M sc cope = spfi ile; stema modifi icado. Sis SQL L> show para ameter db_2k_cache_siz ze ME TYPE VALUE NAM ------------------------------------ ----------- -----------db_ _2k_cache_si ize big integ ger 8M SQL L> 2 3 4 create ta ablespace ts_e datafile 'C:\oracle\product\10 0.2.0\oradat ta\egcc\ts_ _e.dbf' size e 2M extent ma anagement local unifor rm size 128K K blocksize e 2K; [Ent ter] [Ent ter] [Ent ter]

blespace cre eado. Tab SQL L> create ta able tb_e( 2 id num mber primary key, 3 valor varchar2(200) 4 ) tablesp pace ts_e; bla creada. Tab SQL L> select se egment_name, segment_t type, extent t_id, block ks, bytes 2 from dba_ _extents 3 where tab blespace_name = 'TS_E' '; ter] [Ent GMENT_NAME SEG -------------------TB_ _E SYS S_C005523 SEGMENT_TYPE EXTEN BYTES NT_ID B BLOCKS ------------------ ---------- ---------- ---------0 64 1 131072 TABLE 64 1 131072 0 INDEX

[Ent ter]

www.perudev.net

13 39

Oracle Database 10 0g Ad dministracin nI

Gestio onando Tablesp paces


Monito oreando el e Espacio o Libre
Para mon nitorear el es spacio libre de un tables space tenem mos las vista as: dba_free_s space dba_free_s space_coalesced

Ejemplo 13
L> SQL 2 3 4 select bl lock_id, bytes, blocks s from dba_ _free_space where tab blespace_name = 'SYSTE EM' order by block_id;

[Ent ter]

BLOCKS B BLOCK_ID BYTES ---------- ---------- ---------61361 720896 88 62089 5177344 632

Agrega ando un nuevo n arc chivo


Ejemplo 14
SQL L> alter tab blespace ts_d 2 add dataf file 'C:\oracle\produc ct\10.2.0\or radata\egcc c\ts_d2.dbf' ' 3 size 1M; [Ent ter] blespace mod dificado. Tab SQL L> select ts s#, name from v$tables space where name = 'TS S_D'; TS# NAM ME -------- -------------------------------12 TS_ _D [Ent ter]

L> select ts s#, name, block_size, status SQL 2 from v$da atafile where ts# = 12 2;

[Ent ter] STATUS S ------O ONLINE O ONLINE

T TS# NAME B BLOCK_SIZE ----- ------------------------------------------------ ---------1 C:\ORACLE 12 E\PRODUCT\10.2.0\ORADA ATA\EGCC\TS_ _D.DBF 8192 1 C:\ORACLE 12 E\PRODUCT\10.2.0\ORADA ATA\EGCC\TS_ _D2.DBF 8192

140

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 10 0 Administra acin de Tabl lespaces

Tables space ONLINE - OF FFLINE


Ejemplo 15
SQL L> select co ount(*) from tb_b; C COUNT(*) ---------62300 SQL L> alter tab blespace ts_b offline; ; blespace mod dificado. Tab SQL L> select co ount(*) from tb_b; [Enter r] sel lect count(* *) from tb_ _b * ROR en lnea a 1: ERR ORA A-00376: el archivo 8 no se puede e leer en es ste momento o ORA A-01110: arc chivo de datos 8: 'C:\ \ORACLE\PROD DUCT\10.2.0 0\ORADATA\TS S_B.DBF' SQL L> alter tab blespace ts_b online; blespace mod dificado. Tab SQL L> select co ount(*) from tb_b; C COUNT(*) ---------62300 [Enter r] [Enter r] [Enter r] [Enter r]

www.perudev.net

14 41

Oracle Database 10 0g Ad dministracin nI

Tables space REA AD ONLY Y READ D WRITE


Ejemplo 16
SQL L> insert in nto tb_e values ( 500, , 'www.perud dev.com' ); f creada. . 1 fila SQL L> select * from tb_e; ID VAL LOR -------- -------------------------------500 www w.perudev.com SQL L> alter ta ablespace ts_e read on nly; [Ent ter] [Ent ter] [Ent ter]

blespace mod dificado. Tab SQL L> insert in nto tb_e values ( 501, , 'Oracle is s Powerful' ); [Ent ter] ins sert into tb b_e values ( 501, 'Ora acle is Powe erful' ) * ROR en lnea a 1: ERR ORA A-00372: el archivo 12 no se pued de modificar r en este m momento ORA A-01110: arc chivo de datos 12: 'C:\ORACLE\PRO ODUCT\10.2.0\ORADATA\E EGCC\TS_E.DB BF' SQL L> select * from tb_e; ID VAL LOR -------- -------------------------------500 www w.perudev.com ter] [Ent

Elimina ando un Tablespa T ace


SQL L> select na ame from v$tablespace where name = 'TS_B'; ME NAM -----------------------------TS_ _B SQL L> drop tabl lespace ts_ _b including g contents and a datafil les; blespace bor rrado. Tab SQL L> select na ame from v$tablespace where name = 'TS_B'; nguna fila seleccionad s da nin [Ent ter] [Ent ter] [Ent ter]

142

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11
Usuarios y Recursos
Contenido Administracin de Usuarios Gua para Crear Usuarios Creacin de un Nuevo Usuario Modificando Usuarios Eliminando Usuarios Administracin de Recursos con Perfiles 144 144 145 147 148 149 149 151 155 155 156 160 160 160 161

Habilitar y Deshabilitar los Limites de Recursos Creacin de Perfiles Modificando Perfiles Eliminar Perfiles Contraseas Complejas

Verificar Informacin sobre Usuarios y Perfiles Usuarios y su Informacin Asociada Tablaspaces y Quotas Perfiles y Limites asignados

Oracle Database 10 0g Ad dministracin nI

Admin nistraci n de Us suarios


Cada base de datos s Oracle tie ene una lista de usuarios de base e de datos validos. Para acceder a una base e de datos, , un usuario o necesita una aplicac cin y cone ectarse a un na instancia de la base de datos usando u un n nombre de usuario u valid do definido en e la base de d datos. La segur ridad del servidor y la administraci a n de los usuarios u de la base de datos Orac cle estn dire ectamente relacionadas r s, por ello re esulta impre escindible ad dministrar el acceso a lo os servicios del servidor Oracle de manera adecuada, per rmitiendo a los usuarios s realizar so olo las opera aciones para a las cuales han sido cre eados.

Gua para Crear r Usuario os


Para crea ar un usuario o debemos tener t en cue enta: 1. 2. 3. 4. Identificar corre ectamente lo os tablespac ces que utilizar el usu uario para al lmacenas su us obje etos en la ba ase de datos s. Asignar cuotas s de espacio a los usuarios en los Ta ablespaces disponibles. Asignar un tabl lespace por defecto y un n tablespace e temporal. Asignar los priv vilegios y rol les pertinent tes.

144

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Creaci n de un Nuevo Usuario U


Sintaxis

Ejemplo 1 Para crea ar un usuar rio necesitam mos tener privilegio p CR REATE USE ER. Primero crearemos el tablespac ce para los datos. d
SQL L> 2 3 4 create ta ablespace ts_alm datafile 'E:\oracle\oradata\db begcc\ts_alm m.ora' size e 1M autoexten nd on next 512K maxsiz ze 5M extent ma anagement local unifor rm size 128K K;

ter] [Ent

blespace cre eated. Tab

Debemos s crear un ta ablespace te emporal.


SQL L> create te emporary tablespace ts s_alm_temp 2 tempfile 'E:\oracle\oradata\db begcc\ts_alm m_temp.ora' size 1M 3 extent ma anagement local unifor rm size 128K K; ter] [Ent blespace cre eated. Tab

www.perudev.net

14 45

Oracle Database 10 0g Ad dministracin nI

Ahora pro ocedemos a crear el usu uario.


SQL L> 2 3 4 5 create us ser angelica identifie ed by suerte default tablespace t ts_alm quota 1M on ts_alm temporary y tablespace ts_alm_te emp;

[Ent ter]

er created. Use

Para que e el usuario pueda iniciar sesin y operar obje etos de la base de dato os debe tener privilegios, por ejemp plo, el privile egio CREATE E SESSION N permite cre ear sesiones s.
SQL L> grant cre eate session to angeli ica; Gra ant succeede ed. SQL L> conn ange elica/suerte Con nnected. [Ent ter]

[Ent ter]

146

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Modific cando Us suarios


Sintaxis

Ejemplo 2 a de angelica, debe ser luck. Cambiar la contrase


SQL L> alter use er angelica 2 identifie ed by luck; er altered. Use SQL L> conn ange elica/luck Con nnected. [ [Enter]

[ [Enter]

Su cuota en el tables space ts_alm m debe ser il limitado.


SQL L> alter use er angelica quota unli imited on ts s_alm; Use er altered. [ [Enter]

www.perudev.net

14 47

Oracle Database 10 0g Ad dministracin nI

Elimina ando Usu uarios


Sintaxis

Ejemplo 3
SQL L> conn / as s sysdba Con nnected. SQL L> grant cre eate table to angelica a; Gra ant succeede ed. SQL L> conn ange elica/luck Con nnected. SQL L> create ta able test( 2 id num mber primary key, 3 valor varchar2(30) 4 ); ble created. . Tab SQL L> insert in nto test values(1,'Ang gelica es Be eautiful'); r created. . 1 row SQL L> commit; mmit complet te. Com SQL L> conn / as s sysdba Con nnected. SQL L> select ta able_name, owner 2 from dba_ _tables 3 where tab blespace_name = 'TS_AL LM'; [Enter] [Enter] [Enter] [Enter]

[Enter]

[Enter]

[Enter]

[Enter]

BLE_NAME OWNE ER TAB ------------------------------ -----------------------------TES ST ANGE ELICA SQL L> drop user r angelica; dro op user ange elica * ROR at line 1: ERR ORA A-01922: CAS SCADE must be specifie ed to drop 'ANGELICA' ' SQL L> drop user r angelica cascade; er dropped. Use [Enter]

[Enter]

148

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Admin nistraci n de Re ecursos s con Pe erfiles


Un perfil es un nom mbre que ag grupa un co onjunto de lmites de r recursos. El perfil de un u usuario li imita el uso de recursos s de la base de datos y la instancia definidos en n el perfil. Se S pude asig gnar un perf fil a cada us suario; y un perfil por de efecto para t todos los usuarios que no n tienen un n perfil espec cifico. Para que los perf files tengan efecto, los lmites de re ecursos debe en estar hab bilitados para a la base de e datos.

Habilita ar y Desh habilitar los l Limite es de Rec cursos


Antes de Iniciar la a Base de Datos D
Los limites de re ecursos se e pueden habilitar o deshabili itar con el e parmetro RESOUR RCE_LIMIT en e el archivo o de parme etros. Los va alores que puede tomar son: TR RUE FA ALSE Ha abilita la aplic cacin de lm mites de recursos definid dos en un pe erfil. Va alor por defec cto. Deshab bilita la aplica acin de lmites de recursos def finidos en un n perfil.

Cuando o la Base de Datos es sta Inicializ zada


Si no es s posible ce errar la base e de datos temporalme ente, debem mos utilizar la instrucci n ALTER SYSTEM S par ra modificar el parmetr ro RESOURC CE_LIMIT. Sintaxis

ALTER SYSTEM S RESOURC SET CE_LIMIT = {TR RUE|FALSE};

www.perudev.net

14 49

Oracle Database 10 0g Ad dministracin nI

Ejemplo 4
SQL L> conn / as s sysdba Con nnected. SQL L> create pr rofile pf_d demo limit 2 sessions_ _per_user 2; ofile create ed. Pro SQL L> create us ser egcc 2 identifie ed by egcc 3 profile pf_demo; p er created. Use SQL L> grant con nnect to egcc; ant succeede ed. Gra [Enter r] [Enter r]

[Enter r]

[Enter r]

Ahora pr rocedamos a cargar tre es instancias s de SQLPlusW, iniciem mos dos ses siones con el usuario egcc e , no ten ndremos nin ngn problem ma. Luego en e la tercera a instancia de d SQLPlusW W tratemos de iniciar una nueva sesin con n el usuario o egcc, el resultado se s muestra a continuac cin:
SQL L> conn egcc c/egcc [Enter r] ERR ROR: ORA A-02391: exc ceeded simultaneous SE ESSIONS_PER_ _USER limit t

rning: You are a no longer connecte ed to ORACLE E. War

150

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Creaci n de Perfiles
Sintaxis

resourc ce_paramet ters


Sintaxis

ESSIONS_PER_USER SE CP PU_PER_SE ESSION CP PU_PER_CA ALL CO ONNECT_TI IME

Nmero de e sesiones c concurrentes s por usuario. Tiempo lim mite de CPU U por sesin, expresado en centsi imas de seg gundo. Tiempo lim mite de CPU U por llamada a, expresado o en centsi imos de seg gundo. Tiempo lim mite por sesi in, expresa ado en minutos.

www.perudev.net

15 51

Oracle Database 10 0g Ad dministracin nI

IDL LE_TIME LO OGICAL_RE EADS_PER_ _SESSION LO OGICAL_RE EADS_PER_ _CALL PR RIVATE_SGA

Tiempo lim mite continuo o de periodo os de inactividad d, expresado o en minutos s. Nmero pe ermitido de bloques de datos d ledos s en una ses sin. Nmero pe ermitido de bloques led dos por llamada pa ara procesar una instruc ccin. Cantidad de d espacio p privado que una sesin puede des stinar en el shared s pool del SGA, expresado o en bytes. S Se debe usa ar K o M para especificar este limite l en kilo obytes o megabytes s. Especifica a el costo tot tal de recurs sos para una a sesin, ex xpresado en service uni its.

CO OMPOSITE_ _LIMIT

Ejemplo 5
SQL L> conn / as s sysdba Con nnected. SQL L> create pr rofile pf_cpu limit 2 cpu_per_s session 1; ofile create ed. Pro SQL L> alter use er egcc 2 profile pf_cpu; p er altered. Use SQL L> conn egcc c/egcc Con nnected. [Enter r] [Enter r]

[Enter r]

[Enter r]

Despus de realizar varias consu ultas obtene emos el siguiente resulta ado:
SQL L> select us ser from dual; [Enter r] * ROR at line 1: ERR ORA A-02392: exc ceeded session limit o on CPU usage e, you are being logge ed off

152

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

passwo ord_parame eters


Sintaxis

AILED_LOGIN_ATTEMP PTS FA PA ASSWORD_ _LIFE_TIME

Nmero de e intentos fallidos antes de d que la cuenta del usuario sea bloqueada. Especifique e el nmero de das que e la misma contrasea a puede usar rse. La cont trasea expira si no o se cambia dentro de este e perodo. . Especifique e el nmero de das que e deben pasar para utilizar la m misma clave. Nmero de e cambios ne ecesarios pa ara utilizar la a misma clav ve. Nmero de e das que un na cuenta de e usuario estar bloq queada. Nmero de e das que un n usuario pu uede trabajar con la base e de datos con la clave expirada. e Permite rea alizar una ve erificacin so ofisticada de el acceso a la a base de da atos.

PA ASSWORD_ _REUSE_TIM ME PA ASSWORD_ _REUSE_MA AX PA ASSWORD_ _LOCK_TIME PA ASSWORD_ _GRACE_TIME PA ASSWORD_ _VERIFY_FU UNCTION

www.perudev.net

15 53

Oracle Database 10 0g Ad dministracin nI

Ejemplo 6
SQL L> conn / as s sysdba; Con nnected. SQL L> create pr rofile pf_pass limit 2 failed_lo ogin_attempts 3 3 password_ _lock_time 3/1440; ofile create ed. Pro SQL L> alter use er egcc 2 profile pf_pass; p er altered. Use [Enter r]

[Enter r]

[Enter r]

Ahora int tente iniciar una sesin con c el usuar rio egcc, pe ero con una c contrasea invlida, en el cuarto int tento la cuen nta ser bloq queada.
SQL L> conn egcc c/1234 [Enter r] ERR ROR: ORA A-01017: inv valid username/passwor rd; logon de enied

SQL L> conn egcc c/1234 [Enter r] ERR ROR: ORA A-01017: inv valid username/passwor rd; logon de enied

SQL L> conn egcc c/1234 [Enter r] ERR ROR: ORA A-01017: inv valid username/passwor rd; logon de enied

SQL L> conn egcc c/1234 ERR ROR: ORA A-28000: the e account is locked

[Enter r]

Despus de 3 minuto os intente co onectarse nu uevamente pero p con la c contrasea correcta. c


SQL L> conn egcc c/egcc Con nnected. [Enter r]

154

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Modific cando Pe erfiles


Sintaxis

Ejemplo 7 emos el per rfil pf_pass de tal mane era que el nmero n de i intentos par ra bloquear la Modifique clave sea a 2.
SQL L> conn / as s sysdba; Con nnected. SQL L> alter pro ofile pf_pass limit 2 failed_lo ogin_attempts 2; ofile altere ed. Pro [Enter]

[Enter]

Ahora pu uede probar el funcionam miento del pe erfil.

Elimina ar Perfile es
Sintaxis

www.perudev.net

15 55

Oracle Database 10 0g Ad dministracin nI

Ejemplo 8
SQL L> conn / as s sysdba; Con nnected. SQL L> select us sername, profile 2 from dba_ _users 3 where use ername = 'EGCC'; [Enter r]

[Enter r]

ERNAME FILE USE PROF ------------------------------ -------------------EGC CC PF_P PASS SQL L> drop prof file pf_pass cascade; ofile droppe ed. Pro SQL L> select us sername, profile, acco ount_status 2 from dba_ _users 3 where use ername = 'EGCC'; [Enter r] ERNAME PROF FILE USE ------------------------------ -------------------EGC CC DEFA AULT [Enter r]

Contra aseas Co omplejas s


Podemos s utilizar con ntraseas co omplejas que e pueden se er verificadas s por una funcin cread da en PL/SQ QL. Esta func cin debe tener el siguie ente formato:

routine_nam r me ( arameter IN N VARCHAR(30 0), userid_pa password_ _parameter IN VARCHAR (30), old_passw word_parame eter IN VARC CHAR (30) ) R RETURN BOOL LEAN

Oracle provee una func cin (UTL LPWDMG.SQ QL) que se encuentra %ORACL LE_HOME% %/RDBMS\A ADMIN, esta funcin esta ablece los siguiente parametros: La contrase ea debe ten ner una long gitud mnima a de 4 caract teres. La contrase ea no debe e ser igual a nombre de usuario. u

e en

La contrasea debe tener t por lo o menos un na letra, un nmero, y un signo de d puntuacin. La contrase ea no debe e ser simple o una palabra obvia. La contrase ea debe ser diferente a la contra asea anterior en por lo menos tre es caracteres. Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

156

Leccin 11 Usuarios y Recursos

Ejemplo 9 uncin conte enida en el archivo UTLP PWDMG.SQ QL. Proceda a crear la fu
> conn / as sysdba s SQL> Conn nected. [Enter]

> CREATE OR REPLACE R FUNCTION verify_ _function SQL> 2 (username varchar2, v password varchar2, 3 word varchar2) old_passw 4 RETURN bo oolean IS 5 n boolea an; 6 m intege er; 7 differ integer; i 8 isdigit boolean; 9 ischar boolean; 10 ispunct boolean; 11 ray varchar2(20); digitarr 12 punctarr ray varchar2(25); 13 chararra ay varchar2(52); 14 15 BEGIN ray:= '0123456789'; digitarr 16 chararra ay:= 'abcdefghijklmnopqr rstuvwxyzABCD DEFGHIJKLMNOP PQRSTUVWXYZ'; ; 17 punctarr ray:='!"#$%&()``*+,-/:;< <=>?_'; 18 19 k if the password is sam me as the use ername -- Check 20 IF NLS_L LOWER(password) = NLS_LO OWER(username e) THEN 21 raise_ _application_error(-20001, 'Password d same as or similar to user'); u 22 END IF; 23 24 k for the minimum length h of the pass sword -- Check 25 IF lengt th(password) < 4 THEN 26 raise e_application_error(-20002, 'Passwor rd length les ss than 4'); 27 END IF; 28 29 k if the password is too o simple. A dictionary d of f words may be b -- Check 30 -- maint tained and a check may b be made so as s not to allo ow the words 31 -- that are too sim mple for the password. 32 LOWER(password) IN ('welcome', 'data abase', 'acco ount', 'user', IF NLS_L 33 ' 'password', ' 'oracle', 'co omputer', 'ab bcd') THEN raise e_application_error(-20002, 'Passwor rd too simple e'); 34 END IF; 35 36 k if the password contains at least one letter, one digit an nd one -- Check 37 -- punct tuation mark. 38 -- 1. Ch heck for the digit 39 isdigit: :=FALSE; 40 m := len ngth(password); 41 FOR i IN N 1..10 LOOP 42 FOR j IN 1..m LOOP 43 IF F substr(password,j,1) = substr(digi itarray,i,1) THEN 44 isdigit:=TRUE; 45 GOTO findchar; 46 ND IF; EN 47 END LOOP; L 48 END LOOP P; 49 IF isdig git = FALSE THEN 50 raise e_application_error(-20003, 'Passwor rd should con ntain at leas st one 51 d digit, one ch haracter and one punctuat tion'); END IF; 52 heck for the character -- 2. Ch 53 <<findch har>> 54 ischar:= =FALSE; 55 FOR i IN N 1..length(chararray) L LOOP 56 FOR j IN 1..m LOOP 57 IF F substr(password,j,1) = substr(char rarray,i,1) THEN T 58 RUE; ischar:=TR 59 GOTO findpunct; 60 ND IF; EN 61 END LOOP; L 62 END LOOP P; 63

www.perudev.net

15 57

Oracle Database 10 0g Ad dministracin nI


64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 IF ischa ar = FALSE THEN raise e_application_error(-20003, 'Passwor rd should con ntain at leas st one \ r and one pun nctuation'); digit, one character END IF; heck for the punctuation n -- 3. Ch <<findpu unct>> ispunct: :=FALSE; FOR i IN N 1..length(punctarray) LOOP FOR j IN 1..m LOOP IF F substr(password,j,1) = substr(punc ctarray,i,1) THEN ispunct:=TRUE; GOTO endsearch; ND IF; EN END LOOP; L END LOOP P; IF ispun nct = FALSE THEN raise e_application_error(-20003, 'Passwor rd should con ntain at leas st one \ r and one pun nctuation'); digit, one character END IF; arch>> <<endsea -- Check k if the password differ rs from the previous p pass sword by at least l -- 3 let tters IF old_p password IS NOT NULL THE EN differ r := length(old_password d) - length(p password); s(differ) < 3 THEN IF abs IF length(passw l th(old_passwo ord) THEN ord) < lengt m := length(password); E ELSE m := length(old_password); END IF; fer := abs(differ); diff FOR i IN 1..m LOOP F substr(password,i,1) != substr(old d_password,i,1) THEN IF differ := differ + 1; ND IF; EN END LOOP; differ < 3 THEN IF d ra aise_application_error(-20004, 'Pass sword should differ by at t \ le east 3 characters'); END IF; F; END IF END IF; ything is fine; return T TRUE ; -- Every RETURN(T TRUE); END; [ [Enter] /

ction created d. Func

Ahora cre earemos un perfil utilizando la funci n.


SQL L> create pr rofile pf_func limit 2 password_ _verify_function verif fy_function; ; ofile create ed. Pro

[Enter r]

158

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Ahora int tentemos cre ear un nuevo o usuario, cu uya contrase ea sea igua al al nombre e de usuario. .
SQL L> create us ser operador 2 identifie ed by operador 3 profile pf_func; p [Enter] cre eate user op perador * ROR at line 1: ERR ORA A-28003: pas ssword verification fo or the speci ified passw word failed ORA A-20001: Pas ssword same as or simi ilar to user r

Un usuar rio con contr rasea simple.


SQL L> create us ser operador 2 identifie ed by oracle 3 profile pf_func; p [Enter] cre eate user op perador * ROR at line 1: ERR ORA A-28003: pas ssword verification fo or the speci ified passw word failed ORA A-20002: Pas ssword too simple

Un usuar rio que cump pla con las reglas. r


SQL L> create us ser operador 2 identifie ed by audaz#97 3 profile pf_func; p er created. Use

[Enter]

www.perudev.net

15 59

Oracle Database 10 0g Ad dministracin nI

Verific car Infor rmacin n sobre Usuario U s y Perf files


Usuarios y su In nformacin Asoci iada
Para eso o contamos con c tres vista as: DBA_US SERS, ALL_ _USERS, US SER_USERS S. Ejemplo 10
SQL L> select us sername, profile, acco ount_status from dba_u users; ERNAME USE ---------------------SYS S SYS STEM DBS SNMP GCO ORONEL EGC CC WMS SYS ORD DPLUGINS CTX XSYS ANO ONYMOUS PM OE PROFILE -------------------DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT [Ent ter]

AC CCOUNT_STAT TUS ----------------------------OP PEN OP PEN OP PEN OP PEN LO OCKED(TIMED D) EX XPIRED & LO OCKED EX XPIRED & LO OCKED EX XPIRED & LO OCKED EX XPIRED & LO OCKED EX XPIRED & LO OCKED EX XPIRED & LO OCKED

Tablas spaces y Quotas Q


La vista que q debemo os utilizar es: DBA_TS_Q QUOTAS y USER_TS_Q U QUOTAS. Ejemplo 11
SQL L> alter use er egcc 2 default tablespace t ts_alm 3 quota 500 0K on ts_alm; er altered. Use SQL L> select * from dba_ts_quotas; [Enter]

[Enter]

BLESPACE_NAM ME USERNAME BYTE ES MAX_BYTE ES BLOCKS S MAX_BLOCK KS TAB --------------- ------------- ------ ---------- -------- ----------TS_ _ALM 0 51609 96 0 6 63 EGCC

160

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 11 Usuarios y Recursos

Perfiles s y Limite es asigna ados


En este caso c la vista que debem mos utilizar es s: DBA_PRO OFILES.
SQL L> select * from dba_profiles ord der by 1; OFILE PRO --------------DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT DEF FAULT PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _CPU PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC PF_ _FUNC RESOURCE_NAME -----------------------------COMPOSITE_LIMIT PTS FAILED_LOGIN_ATTEMP PASSWORD_LIFE_TIME E PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX NCTION PASSWORD_VERIFY_FUN PASSWORD_LOCK_TIME E PASSWORD_GRACE_TIME _SGA PRIVATE_ CONNECT_ _TIME IDLE_TIM ME LOGICAL_ _READS_PER_C CALL LOGICAL_ _READS_PER_S SESSION CPU_PER_ _CALL CPU_PER_ _SESSION SESSIONS_PER_USER COMPOSITE_LIMIT _SGA PRIVATE_ CONNECT_ _TIME PASSWORD_GRACE_TIME E ME IDLE_TIM PASSWORD_LOCK_TIME _READS_PER_C CALL LOGICAL_ PASSWORD_VERIFY_FUN NCTION _READS_PER_S SESSION LOGICAL_ FAILED_LOGIN_ATTEMP PTS PASSWORD_LIFE_TIME E PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX _CALL CPU_PER_ CPU_PER_ _SESSION SESSIONS_PER_USER COMPOSITE_LIMIT _SGA PRIVATE_ CONNECT_ _TIME PASSWORD_GRACE_TIME E ME IDLE_TIM PASSWORD_LOCK_TIME _READS_PER_C CALL LOGICAL_ PASSWORD_VERIFY_FUN NCTION _READS_PER_S SESSION LOGICAL_ CPU_PER_ _SESSION PASSWORD_LIFE_TIME E PASSWORD_REUSE_TIME PASSWORD_REUSE_MAX _CALL CPU_PER_ SESSIONS_PER_USER PTS FAILED_LOGIN_ATTEMP [Enter r] RESOURCE -------KERNEL PASSWORD PASSWORD PASSWORD PASSWORD PASSWORD PASSWORD PASSWORD KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL PASSWORD KERNEL PASSWORD KERNEL PASSWORD KERNEL PASSWORD PASSWORD PASSWORD PASSWORD KERNEL KERNEL KERNEL KERNEL KERNEL KERNEL PASSWORD KERNEL PASSWORD KERNEL PASSWORD KERNEL KERNEL PASSWORD PASSWORD PASSWORD KERNEL KERNEL PASSWORD LIMIT -------------UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED NULL UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED UNLIMITED DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT 1 DEFAULT DEFAULT DEFAULT 3 DEFAULT 1 UNLIMITED DEFAULT 1 DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT CTION VERIFY_FUNC DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT DEFAULT

Tambin contamos con otras vistas q que pued den resu ultar USER_P PASSWORD_LIMITS, US SER_RESO OURCE_LIMITS, V$SES SSION, etc.

tile es:

www.perudev.net

16 61

Oracle Database 10 0g Ad dministracin nI

Pgina a en Blanco

162

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12
Privilegios y Roles

Contenido Entendiendo Privilegios y Roles Privilegios del Sistema Privilegios de Objetos Roles de Usuarios 164 164 165 167 169 169 170 171 172 173 176 177 178 180 180 181 181 182

Administracin de Roles Creacin de Roles Eliminando Roles

Concediendo Privilegios y Roles Concediendo Privilegios del Sistema Concediendo Privilegios de Objetos

Revocando Privilegios y Roles Revocando Privilegios del Sistema Revocando Privilegios de Objetos

Verificar Informacin sobre Privilegios y Roles Privilegios del sistema Roles Privilegios de Objetos Privilegios Actuales en el Dominio de una sesin

Oracle Database 10 0g Ad dministracin nI

Entendiendo Privileg gios y Ro oles


Un privile egio es un derecho para a ejecutar un n particular tipo de instru uccin SQL, o un derech ho para acce eder a un ob bjeto de otro o usuario. Los roles s, son creados por los s usuarios (normalment ( te administr radores) y se s usan para agrupar privilegios y otros roles s. Estos son n un medio para asign nar mltiples s privilegios y roles a lo os usuarios.

Privileg gios del Sistema S


Son ms s de 100 priv vilegios del sistema. s Ca ada privilegio o del sistema le permite e a un usuar rio realizar una u operaci n particular de la base e de datos o clase de operacin de d la base de d datos.

Acceso a los obje etos en el esquema e S SYS


Usuarios con los privilegios p ex xplcitos o aqullos qu ue se cone ectan con los privilegio os administr rativos (SYS SDBA) puede en acceder a los objetos del esquema SYS. Ot tros necesita an que se le es habilite el acceso concedindoles s cualquiera de los siguientes roles:

Ro ol SE ELECT_CAT TALOG_ROLE

Descripcin Este e rol puede concederse c a los usuarios para perm mitirles los privilegios p SE ELECT en to odas las vista as de diccionario de dat tos. Este e rol puede concederse c a los usuarios para perm mitirles los privilegios p EX XECUTE sobre paquetes y proc cedimientos del dicciona ario de datos s. Este e rol puede concederse c a los usuarios para perm mitirles a usuarios elimin nar registros s de la tabla del sistema de auditoria a (AU UD$).

EX XECUTE_CA ATALOG_ROLE

DE ELETE_CAT TALOG_ROLE

164

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Ejemplo 1 ta DBA_RO OLES con el e usuarios scott obte endramos un u Si intentamos consultar la vist mensaje de error.
SQL L> conn scot tt/tiger Con nnected. [ [Enter]

SQL L> select * from dba_roles; [ [Enter] sel lect * from dba_roles * ROR at line 1: ERR ORA A-00942: tab ble or view does not e exist

Pero si le e concedemo os el rol SEL LECT_CATA ALOG_ROLE, si lo podr ramos hacer.


SQL L> conn / as s sysdba Con nnected. L> grant SEL LECT_CATALOG_ROLE to s scott; SQL ant succeede ed. Gra SQL L> conn scot tt/tiger Con nnected. SQL L> select * from dba_roles; LE ROL -----------------------------CON NNECT RES SOURCE DBA A SEL LECT_CATALOG G_ROLE EXE ECUTE_CATALO OG_ROLE DEL LETE_CATALOG G_ROLE PASS SWORD -------NO NO NO NO NO NO [Ent ter] [Ent ter]

[Ent ter]

[Ent ter]

Privileg gios de Objetos O


Cada tipo o de objeto tiene t diferen ntes privilegio os asociado os con l. Podemos s especifica ar ALL [PRI IVILEGES] para conce eder o revocar todos los privilegio os disponibles para un objeto. o ALL no es un pr rivilegio; ms s bien, es un atajo, o un na manera de d conceder r o revocar todos los privilegios p de el objeto con una palab bra en la IN NSTRUCCI N GRANT y REVOKE. . Si todos lo os privilegio os del objeto o se conced den con el atajo a ALL, es e posible re evocarse en n forma indiv vidual. Igualmen nte, si todos s los privileg gios se conc cedieron individualmente e, pueden ser s revocado os especifica ando ALL.

www.perudev.net

16 65

Oracle Database 10 0g Ad dministracin nI

Ejemplo 2 mos que el usuario cla audia pueda a consultar la l tabla dep pt de scott, debe tener el Si querem privilegio SELECT so obre esa tab bla.
SQL L> conn / as s sysdba Con nnected. SQL L> create us ser claudia 2 identifie ed by model; er created. Use SQL L> grant cre eate session to claudi ia; ant succeede ed. Gra SQL L> conn scot tt/tiger Con nnected. L> grant sel lect on dept to claudi ia; SQL ant succeede ed. Gra SQL L> conn clau udia/model Con nnected. SQL L> select * from scott.dept; DEPTNO ---------10 20 30 40 AME DNA -------------ACC COUNTING RES SEARCH SAL LES OPE ERATIONS LOC ------------NEW YORK DALLAS CHICAGO BOSTON [Ent ter] [Ent ter] [Ent ter] [Ent ter]

[Ent ter]

[Ent ter]

[Ent ter]

166

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Roles de d Usuar rios


Un rol agrupa var rios privilegios y roles s, para que e puedan c concederse y revocars se simultne eamente de los usuarios s. Oracle provee algun nos roles pre edefinidos p para ayudar r en la admi inistracin de d la base de d datos. Es stos roles, se s definen automticamente para la as bases de e datos de Oracle O cuand do ejecutam mos scripts es stndares que son parte e de creaci n de la base e de datos. Algunos de d estos role es predefinid dos se mues stran en el siguiente s cua adro.

RO OL CO ONNECT RE ESOURCE

PRIVILEGIOS DEL L SISTEMA CREA ATE SESSIO ON CREA ATE CLUSTER, CREAT TE INDEXTY YPE, CREAT TE OPER RATOR, CREATE PROC CEDURE, C CREATE SEQ QUENCE, CREA ATE TABLE, , CREATE TRIGGER, T C CREATE TYP PE Todos s los privileg gios del siste ema con la c clusula WIT TH ADMIN OPTIO ON.

DB BA

La forma a como se han definido estos p privilegios podemos p co onsultarlo en e el archiv vo SQL.BSQ Q.

www.perudev.net

16 67

Oracle Database 10 0g Ad dministracin nI

Ejemplo 3 baremos en este ejemplo o el rol CON NNECT y RE ESOURCE. Comprob


SQL L> conn / as s sysdba Con nnected. SQL L> 2 3 4 create us ser sergio identifie ed by chino default tablespace t users quota 500 0K on users; [ [Enter]

[ [Enter]

er created. Use SQL L> grant con nnect, resource to ser rgio; ant succeede ed. Gra SQL L> conn serg gio/chino Con nnected. SQL L> create ta able equipos( 2 id num mber primary key, 3 nombre e varchar2(30) 4 ); ble created. . Tab SQL L> insert in nto equipos values(1,' 'Alianza Lim ma'); r created. . 1 row SQL L> commit; mmit complet te. Com SQL L> select * from equipos; ID NOM MBRE -------- -------------------------------1 Ali ianza Lima [ [Enter] [ [Enter] [ [Enter] [ [Enter] [ [Enter]

[ [Enter]

168

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Admin nistraci n de Ro oles


Creaci n de Ro oles
Sintaxis

Ejemplo 4
L> conn / as s sysdba; SQL Con nnected. SQL L> create ro ole rl_demo; le created. Rol SQL L> create ro ole rl_digitador 2 identifie ed by admin; le created. Rol [Enter]

[Enter]

[Enter]

www.perudev.net

16 69

Oracle Database 10 0g Ad dministracin nI

Elimina ando Rol les


Sintaxis

Ejemplo 5
SQL L> conn / as s sysdba; Con nnected. SQL L> drop role e rl_demo; le dropped. Rol [Enter r]

[Enter r]

170

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Conce ediendo o Privileg gios y Roles


Sintaxis General

www.perudev.net

17 71

Oracle Database 10 0g Ad dministracin nI

Conced diendo Privilegios P s del Sist tema


Ejemplo 6 mos que tod dos los usua arios a los qu ue se le con ncede el rol rl_digitador, pueda iniciar Si querem sesin en n la base de datos, debe emos conced derle el privi ilegio CREA ATE SESSIO ON al rol.
SQL L> conn / as s sysdba Con nnected. SQL L> grant cre eate session to rl_dig gitador; ant succeede ed. Gra [Enter]

[Enter]

Tambin podemos co onceder el privilegio p dire ectamente al a usuario.


SQL L> create us ser user01 2 identifie ed by user01; er created. Use SQL L> grant cre eate session to user01 1; ant succeede ed. Gra [Ent ter]

[Ent ter]

Tambin es posible crear c un nue evo usuario.


SQL L> grant cre eate session 2 to newuse er identified by newus ser; ant succeede ed. Gra

[Ent ter]

Si queremos que el usuario o rol pueda c conceder a otros o usuari ios el privile egio que es sta recibiend do, debemos s utilizar la clusula AD DMIN OPTION. En el siguiente sc cript estamo os creando el usuario useradmin u , y le esta co oncediendo el e privilegio CREATE SESSION S , y l tambin puede p conce eder este pr rivilegio a otr ros usuarios s.
SQL L> grant cre eate session 2 to userad dmin identified by adm min 3 with admi in option; ant succeede ed. Gra SQL L> conn user radmin/admin Con nnected. SQL L> grant cre eate session to user01 1; ant succeede ed. Gra [Ent ter]

[Ent ter]

[Ent ter]

172

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Conced diendo Privilegios P s de Obje etos


Ejemplo 7 mos que el usuario new wuser pueda consultar la tabla dep pt de scott debe tener el Si querem privilegio SELECT so obre la tabla a.
SQL L> conn scot tt/tiger Con nnected. SQL L> grant sel lect on dept to newuse er; ant succeede ed. Gra L> conn newu user/newuser SQL Con nnected. SQL L> select * from scott.dept; DEPTNO ---------10 20 30 40 AME DNA -------------ACC COUNTING RES SEARCH SAL LES OPE ERATIONS LOC ------------NEW YORK DALLAS CHICAGO BOSTON [Ent ter] [Ent ter]

[Ent ter]

[Ent ter]

Si querem mos que ten nga todos los s privilegios sobre una ta abla debe us sar la palabr ra ALL.
SQL L> conn scot tt/tiger Con nnected. SQL L> grant all l on emp to newuser; ant succeede ed. Gra SQL L> conn newu user/newuser Con nnected. SQL L> insert in nto scott.emp(empno,en name) 2 values(55 555,'Gustavo'); r created. . 1 row SQL L> select em mpno, ename from scott t.emp; EMPNO ---------7876 7900 7902 7934 5555 ENA AME ---------ADA AMS JAM MES FOR RD MIL LLER Gus stavo [Enter] [Enter] [Enter]

[Enter]

[Enter]

www.perudev.net

17 73

Oracle Database 10 0g Ad dministracin nI

Tambin podemos conceder c el privilegio a un rol, de tal manera que a los usuarios u se le concede el rol, y auto omticamente tendr los s privilegios del rol.
SQL L> conn scot tt/tiger Con nnected. SQL L> grant all l on emp to rl_digitad dor; Gra ant succeede ed. SQL L> revoke al ll on emp from newuser r; Rev voke succeed ded. SQL L> conn / as s sysdba Con nnected. SQL L> grant rl_ _digitador to newuser; ; Gra ant succeede ed. [Ent ter]

[Ent ter]

[Ent ter]

[Ent ter]

[Ent ter]

Aun cuan ndo newuse er no tiene privilegios d directamente e sobre la ta abla scott.e emp, si pued de realizar to odo tipo de operaciones s sobre la tabla por que tiene los pri ivilegios con ncedidos al rol r rl_digitad dor.
SQL L> conn newu user/newuser Con nnected. SQL L> select em mpno, ename from scott t.emp; EMPNO ---------7788 7900 7902 7934 5555 ENA AME ---------SCO OTT JAM MES FOR RD MIL LLER Gus stavo [ [Enter]

[ [Enter]

174

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Los privilegios tamb bin se pue eden conced der sobre columnas c es specficas, solo s para la as instruccio ones insert y update.
SQL L> conn / as s sysdba Con nnected. SQL L> grant ins sert(empno,ename) on s scott.emp to o sergio; Gra ant succeede ed. SQL L> conn serg gio/chino Con nnected. SQL L> insert in nto scott.emp(empno,en name,sal) 2 values(66 666,'Sergio',5000); ins sert into sc cott.emp(em mpno,ename,s sal) * ROR at line 1: ERR ORA A-01031: ins sufficient privileges [Enter]

[Enter]

[Enter]

[Enter]

SQL L> insert in nto scott.emp(empno,en name) 2 values(66 666,'Sergio'); r created. . 1 row

[Enter]

www.perudev.net

17 75

Oracle Database 10 0g Ad dministracin nI

Revoc cando Privilegio os y Roles


Sintaxis General

176

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Revoca ando Priv vilegios del d Sistem ma


Ejemplo 8 c s los privilegios del siste ema que han n sido asigna ados a roles u usuarios. Primero consultemos
SQL L> conn / as s sysdba; Con nnected. SQL L> select * from dba_sys_privs 2 where pri ivilege = 'CREATE SESS SION' 3 order by 1; ANTEE GRA -----------------------------CLA AUDIA NEW WUSER RL_ _DIGITADOR USE ERADMIN USE ER01 [ [Enter]

[ [Enter] ADM --NO NO NO YES NO

PRIV VILEGE -----------------------------------CREA ATE SESSION CREA ATE SESSION CREA ATE SESSION CREA ATE SESSION CREA ATE SESSION

Ahora de ebemos revo ocar el privile egio CREAT TE SESSION N al usuario user01.
SQL L> revoke cr reate session from use er01; Rev voke succeed ded. [Ent ter]

SQL L> conn user r01/user01 [Ent ter] ERR ROR: ORA A-01045: use er USER01 lacks CREATE E SESSION pr rivilege; l logon denied d rning: You are a no longer connecte ed to ORACLE E. War

www.perudev.net

17 77

Oracle Database 10 0g Ad dministracin nI

Revoca ando Priv vilegios de d Objeto os


Ejemplo 9 v los privilegios que q se han a asignado a los usuarios. Primero veremos
SQL L> conn / as s sysdba Con nnected. SQL L> select ta able_name, grantee, pr rivilege 2 from dba_ _tab_privs 3 where own ner = 'SCOTT'; BLE_NAME TAB --------------DEP PT DEP PT EMP P EMP P EMP P EMP P EMP P EMP P EMP P EMP P EMP P GRANTEE -----------------------------CLAUDIA NEWUSER RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR RL_DIGITADOR [Enter]

[Enter] E PRIVILEGE -------------------SELECT SELECT ALTER DELETE INSERT SELECT UPDATE T REFRESH ON COMMIT QUERY REW WRITE DEBUG K FLASHBACK

Revoque emos el privil legio SELEC CT a Claudia de la tabla a DEPT.


SQL L> revoke se elect on scott.dept fr rom claudia; ; Rev voke succeed ded. SQL L> conn clau udia/model Con nnected. SQL L> select * from scott.dept; sel lect * from scott.dept * ROR at line 1: ERR ORA A-00942: tab ble or view does not e exist [Enter r]

[Enter r]

[Enter r]

178

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Ejemplo 10 amos el priv vilegio de un rol, autom mticamente los usuario os que tiene en este rol se s Si revoca vern afe ectados.
SQL L> conn newu user/newuser Con nnected. SQL L> select en name from scott.emp; AME ENA ---------ADA AMS JAM MES FOR RD MIL LLER Gus stavo Ser rgio SQL L> conn / as s sysdba Con nnected. SQL L> revoke se elect on scott.emp fro om rl_digita ador; Rev voke succeed ded. SQL L> conn newu user/newuser Con nnected. SQL L> select en name from scott.emp; sel lect ename from f scott.emp * ROR at line 1: ERR ORA A-01031: ins sufficient privileges [ [Enter] [ [Enter]

[ [Enter]

[ [Enter]

[ [Enter]

[ [Enter]

www.perudev.net

17 79

Oracle Database 10 0g Ad dministracin nI

Verific car Infor rmacin n sobre Privilegi P ios y Ro oles


Privileg gios del sistema s
Ejemplo 11 Listar tod dos lo privileg gios del sistema.
SQL L> conn / as s sysdba Con nnected. SQL L> select na ame from system_privil lege_map ord der by 1; ME NAM ---------------------------------------. . . TER SESSION ALT ALT TER SYSTEM ALT TER TABLESPA ACE ALT TER USER ANA ALYZE ANY ANA ALYZE ANY DI ICTIONARY AUD DIT ANY AUD DIT SYSTEM BAC CKUP ANY TAB BLE BEC COME USER CHA ANGE NOTIFIC CATION COM MMENT ANY TA ABLE CRE EATE ANY CLU USTER . . . [Enter]

[Enter]

Listar los s privilegios del d sistema concedidos. .


SQL L> select * from dba_sys_privs or rder by 1; ANTEE GRA -----------------------------CLA AUDIA CON NNECT CON NNECT CON NNECT CON NNECT CON NNECT CON NNECT CON NNECT CON NNECT GCO ORONEL NEW WUSER RES SOURCE RES SOURCE RES SOURCE [Enter] ADM --NO NO NO NO NO NO NO NO NO NO NO NO NO NO

PRIV VILEGE ----------------------------------CREA ATE SESSION CREA ATE VIEW CREA ATE TABLE ALTE ER SESSION CREA ATE SEQUENCE E CREA ATE DATABASE E LINK CREA ATE SYNONYM CREA ATE SESSION CREA ATE CLUSTER UNLI IMITED TABLE ESPACE CREA ATE SESSION CREA ATE TYPE CREA ATE OPERATOR R CREA ATE INDEXTYP PE

Tambin podemos us sar USER_S SYS_PRIVS S.

180

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

Leccin 12 2 Privilegios s y Roles

Roles
Ejemplo 12 s roles asignados a usua arios. Listar los
SQL L> select * from dba_role_privs o order by 1; ANTEE GRA -----------------------------GCO ORONEL GCO ORONEL NEW WUSER SCO OTT SCO OTT SCO OTT SER RGIO [Enter r] ADM --NO NO NO NO NO NO NO DEF D --Y YES Y YES Y YES Y YES Y YES Y YES Y YES

GRAN NTED_ROLE -----------------------------CONN NECT RESO OURCE RL_D DIGITADOR CONN NECT SELE ECT_CATALOG_ _ROLE RESO OURCE CONN NECT

Tambin podemos us sar la vista USER_ROL U E_PRIVS.

Privileg gios de Objetos O


Ejemplo 13 Consultar quienes tie enen privileg gios sobre lo os objetos de e scott.
SQL L> select ta able_name, privilege, grantee 2 from dba_ _tab_privs 3 where own ner = 'SCOTT'; BLE_NAME TAB ---------DEP PT EMP P EMP P EMP P EMP P EMP P EMP P EMP P EMP P

[ [Enter] GRANTEE --------------NEWUSER RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR RL_DIGITA ADOR

PRI IVILEGE ----------------------------------SEL LECT ALT TER DEL LETE INS SERT UPD DATE ON COMMIT REFRESH QUE ERY REWRITE DEB BUG FLA ASHBACK

Tambin podemos us sar la vista USER_TAB_ U _PRIVS.

www.perudev.net

18 81

Oracle Database 10 0g Ad dministracin nI

Para consultar las co olumnas esp pecificas sob bre las que se s concedier ron privilegio os.
SQL L> select ta able_name, column_name e, privilege e, grantee 2 from dba_ _col_privs 3 where own ner = 'SCOTT'; [ [Enter] BLE_NAME TAB ---------EMP P EMP P COL LUMN_NAME --------------EMP PNO ENA AME PRIVILEG GE --------------INSERT INSERT GRA ANTEE --------------SER RGIO SER RGIO

Tambin podemos us sar la vista USER_COL_ U _PRIVS.

Privileg gios Actu uales en el e Domin nio de una a sesin


Ejemplo 14 Vamos a consultar lo os privilegios s de sergio, para eso ne ecesitamos c conectarnos s como scott t.
SQL L> conn serg gio/chino Con nnected. [Enter]

Consultemos sus role es.


SQL L> select * from session_roles; LE ROL -----------------------------CON NNECT [Enter r]

Ahora co onsultemos sus s privilegio os del sistem ma.


SQL L> select * from session_privs; IVILEGE PRI -------------------CRE EATE SESSION N ALT TER SESSION CRE EATE TABLE CRE EATE CLUSTER R CRE EATE SYNONYM M CRE EATE VIEW CRE EATE SEQUENC CE CRE EATE DATABAS SE LINK [Enter]

182

Eric Gust tavo Corone el Castillo (gcoronelc@ @gmail.com m)

S-ar putea să vă placă și