Está en la página 1de 186

Cons

sultoría y Ca
apacitación
n

Ora
acle
e Da
atab
base
e 10
0g
A minis
Ad stra
ación
nI
Prime
era Edición

Eric Gu
ustavo Corone
el Castilllo

F
Febrer
ro - 20
009
Oracle Database 10g Administración I

Derechos Reservados © 2009 Eric Gustavo Coronel Castillo


Primera Edición

Contacto
Email: gcoronelc@gmail.com
Teléfono: (511) 996-664-457
Lima - Perú
Contenido
Lección 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

Lección 02: Introducción a las Estructuras de Almacenamiento

Estructuras Lógicas ............................................................................................................................... 14


Estructuras Físicas ................................................................................................................................ 16
Esquemas de Base de Datos ................................................................................................................ 18

Lección 03: El Diccionario de Datos

Introducción al Diccionario de Datos..................................................................................................... 22


Componentes Privados ......................................................................................................................... 23
Componentes Públicos.......................................................................................................................... 28

Lección 04: Usuarios Administradores

Administrador de la Seguridad y Privilegios de la Base de Datos ...................................................... 32


Autenticación del Administrador de Base de Datos.............................................................................. 34
Creación y Manteniendo el Archivo de Contraseñas............................................................................ 44

Lección 05: Inicio y Parada de la Base de Datos

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

Lección 06: Acceso a la Base de Datos Oracle

Verificación de Servicios Windows ....................................................................................................... 62


Identificación del Servicio y la Instancia de Base de Datos ................................................................ 65
Configuración del Método de Nomenclatura Local ............................................................................... 75
Configuración del Proceso Escucha ..................................................................................................... 77
Glosario.................................................................................................................................................. 79

Lección 07: Administración de la Instancia

Parámetros de Inicialización ................................................................................................................. 84


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

III
Lección 08: Administración 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 Información del Archivo de Control ................................................................................... 111

Lección 09: Administración del los Redo Logs

¿Que es el Redo Log? ........................................................................................................................ 114


Planificación de los Redo Log Files .................................................................................................... 118
Creando Groupos y Miembros Redo Log ........................................................................................... 119
Eliminando Grupos y Miembros Redo Log ......................................................................................... 121
Consultando Información sobre los Redo Log .................................................................................... 123
Ejercicio ............................................................................................................................................... 123

Lección 10: Administración de Tablespaces

Esquema de la Base de Datos ............................................................................................................ 126


Guía para Administrar Tablespaces .................................................................................................... 128
Administración de Tablespaces .......................................................................................................... 129
Tablespace Administrado Localmente ................................................................................................ 131
Tablespaces Temporales .................................................................................................................... 137
Especificando Bloques NO Estándares para Tablespaces ............................................................... 139
Gestionando Tablespaces ................................................................................................................... 140
Gestionando Tablespaces ................................................................................................................... 140

Lección 11: Usuarios y Recursos

Administración de Usuarios................................................................................................................. 144


Administración de Recursos con Perfiles ........................................................................................... 149
Verificar Información sobre Usuarios y Perfiles .................................................................................. 160

Lección 12: Privilegios y Roles

Entendiendo Privilegios y Roles .......................................................................................................... 164


Administración de Roles ...................................................................................................................... 169
Concediendo Privilegios y Roles ......................................................................................................... 171
Revocando Privilegios y Roles ............................................................................................................ 176
Verificar Información sobre Privilegios y Roles................................................................................... 180

IV
Lección 01
Arquitectura de la
Base de Datos Oracle 10g

Contenido

‰ Arquitectura de Oracle 10g 2

ƒ Esquema General 2
ƒ Esquema Ampliado 3
‰ La Instancia de Oracle 4

ƒ Estructuras en Memoria 4
ƒ El System Global Area (SGA) 5

ƒ Procesos de Fondo 7

‰ La Base de Datos de Oracle 9


Oracle Database 100g
Addministración
nI

Arquittectura de
d Orac
cle 10g

Esquem
ma General

El servidor Oracle está compue


esto de vario
os archivos, procesos y estructuras
s en memorria
que se ag entes: La Insstancia Ora
grupan en dos compone acle y la Base de Datos Oracle.

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 unna, porque cada instanncia consum
me
muchos recursos.
r

2 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 01
ura de la Base
Arquitectu e de Datos Oracle 10g

Esquem
ma Ampliado

Para consultar el nom


mbre de la in
nstancia ejeccute la siguiente consultta:

SQL
L> select in
nstance_nam
me from v$in
nstance; [
[Enter]

STANCE_NAME
INS
---
---------------
Orc
cl

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; [Enter]

ME
NAM
---
-------
ORC
CL

www.perudev.net 3
Oracle Database 100g
Addministración
nI

La Ins
stancia de
d Oraclle

Estructuras en Memoria
a

Oracle uttiliza la mem


moria para almacenar infformación co
omo:

ƒ Código de los program


mas.
ƒ Información
n sobre las sesiones
s acttuales, incluso si no está
á activa.
ƒ La informa
ación necesa aria durante
e la ejecucióón de un prrograma, Po or ejemplo, el
estado actu
ual de una consulta
c de la cual se esstán trayendo
o las filas.
ƒ Informaciónn que es compartida
c y se comun
nica entre p
procesos de
e Oracle. Por
ejemplo, información bloqueada.
b
ƒ Contiene los datos quue también se almace enan perman nentemente en memorria
periférica. Por
P ejemplo, los bloquess de los dato
os y entrada
as del redo lo
og.
ucturas básiccas de memoria asociad
Las estru das con Oraccle incluyen:

ƒ System Glo SGA), que es compartida por todos los proceso


obal Area (S os del servidor
y procesos
s de fondo.
ƒ Program Global
G Areaa (PGA), qu
ue es privaado a cada proceso del servidor y
procesos de
d fondo; ha para cada proceso.
ay un PGA p

4 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 01
ura de la Base
Arquitectu e de Datos Oracle 10g

El Systtem Glob
bal Area (SGA)

El SGA está
e conform
mado por tress 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 De
escripción

Shared Pool
P Co
ontiene las ssentencias SQL
S usadas mas recienttemente que
e
ha
an sido ejecuutadas por lo
os usuarios d
de la base de
d datos.
Database Buffer Cacche Coontiene los d
datos que ha an sido mas recientemennte
acccedidos porr los usuarios
s de la base
e de datos.
og Buffer
Redo Lo Alm
macena info
ormación de las transaccciones para propósitos
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 Descriipción

Java Poo
ol Almace
ena el códig
go de las aplicaciones y objetos Javaa que se han
usado más recienttemente cuaando se utilizza el JVM de
e Oracle.
Large Po
ool Almacé én de datos para grande
es operacion nes, como actividades
a
de bacckup y restau
uración de Recovery
R Ma
anager (RMAAN) y
compoonentes com mpartidos dell servidor.
Streams Pool Almacé
én de data a
asociada con
n requerimie
entos hechoss a la cola de
mensa
ajes cuando Oracle’s Advanced Que euing esta en
n uso.

www.perudev.net 5
Oracle Database 100g
Addministración
nI

Para consultar el SG
GA ejecute ell siguiente co
omando:

SQL
L> show sga [Enter]

tal System Global


Tot G Area 289406976
6 bytes
Fix
xed Size 1247528
8 bytes
Var
riable Size 83887832
2 bytes
Dat
tabase Buffeers 197132288
8 bytes
Red
do Buffers 7139328
8 bytes

La salida
a de este coomando muestra el tam maño total de
d SGA, es 289,406,976 bytes. Esste
tamaño total
t está coompuesto ded un espaccio variable (Variable S Size) que loo conforma el
Shared Pool,
P el Larg
ge Pool, y el Java Poo 28 bytes), ell Database Buffer Cach
ol (1,247,52 he
(197,132,288 bytes), el Redo Log Buffer (7,1139,328 bytees), y el esp
pacio adicion
nal (1,247,52
28
bytes) qu
ue guarda infformación usada por loss procesos de
d fondo de la instancia..

También podemos utilizar la vista V$SGA pa


ara consulta
ar informació
ón sobre el SGA,
S tal com
mo
se ilustra
a a continuac
ción:

SQL
L> select * from v$sga; [Enter]

ME
NAM VALUE
---
------------------- ----------
Fix
xed Size 1247528
Var
riable Size 83887832
Dat
tabase Buffeers 197132288
Red
do Buffers 7139328

La vista V$SGA_DY
V NAMIC_CO OMPONENTS S permite co
onsultar deta nales sobre el
alles adicion
espacio asignado
a dentro del SGA
A; según lo muestra la siguiente
s con
nsulta:

SQL
L> select co
omponent,current_size from v$sga_
_dynamic_co
omponents; [Enter]
[

MPONENT
COM RENT_SIZE
CURR
---
------------
----------------- ----
---------
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

13 filas selec
ccionadas.

6 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 01
ura de la Base
Arquitectu e de Datos Oracle 10g

También se puede usar


u el Enterrprise Mana
ager Databaase Control para consultar el tamañ
ño
de cada componente
c e del SGA, ta
al como se m
muestra a co
ontinuación:

Proces
sos de Fo
ondo

Hay muc chos tipos de e procesos de fondo de e Oracle. Caada uno realiza un traba ajo específicco
que ayud da a maneja ar la instancia. Oracle requieren cinco
c processos de fond do de manera
obligatoriia, y varios procesos de e fondo sonn opcionaless. Los proce
esos de fond do opcionale es
pueden o no ser utilizados dep pendiendo d de cuales soon las caraccterísticas opcionales
o d
de
Oracle quue se están utilizando en la base de e datos.

www.perudev.net 7
Oracle Database 100g
Addministración
nI

Proceso
os de Fond
do Obligato
orios

El siguien
nte cuadro muestra
m los procesos
p de
e fondo oblig
gatorios:

Operating
Process
s Name System Proocess D
Description

System Monitor
M SMON Es el proceso encargado
E o de recuperrar la
in
nstancia y abrir la base de datos en
n caso de
fallas en la in
nstancia.
Process Monitor PMON Este proceso
E o se encargaa de liberar los
l recursoss
d servidor asignados
del a a la conexiónn de un
u
usuario en caaso que la cconexión a trravés del
p
proceso servvidor asignaddo falle.
Database Writer DBWn* Escribe los bloques
E b moddificados de la base de
d
datos del Daatabase Bufffer Cache deld SGA a los
a
archivos de datos
d (datafiles) en discco.
Log Writter LGWR Escribe la infformación de
E e recuperacción de
transaccionees del Redo LLog Buffer del SGA a
os archivos Redo Log en línea en disco.
lo
Checkpo
oint CKPT Actualiza los
A s archivos de
e la base de datos cada
v que ocurrre un eventto Checkpoin
vez nt.
* La n en
n cualquier nombre de proceso dell sistema opperativo sign
nifica que más de uno ded
estos pro
ocesos puedden estar en
n funcionamiento. En esstos casos, la n se subsstituye por un
u
valor numérico. Por ejemplo, si cuatro procesos Writer
W de la
a base de datos está án
funcionan
ndo, sus nombres de prroceso en e
el nivel del sistema
s operrativo son DBW0,
D DBWW1,
DBW2, y DBW3.

8 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 01
ura de la Base
Arquitectu e de Datos Oracle 10g

La Base de Datos de Oracle

Una instaancia es unaa estructuraa temporal een memoria, pero la basse de datos de Oracle se s
compone e de un sisteema de arcchivos físicoss que reside en en los discos del se ervidor. Esto
os
archivos se llaman control
c files, datafiless, y redo log
gs. Los arcchivos físico
os adicionalees
que se asocian
a a la base de da atos de Ora acle, pero que técnicammente no so on parte de la
base de datos, son ele password file, el PFI ILE y SPFIL LE, y los arc
chived redoo log files. El
siguiente
e cuadro ressume el pa apel de cad da uno de estos
e os de los archivos en la
juego
arquitectu
ura de la basse de datos.

Tipo de Archivo Inform


mación Contenida en el Archivo

Control Ubicacción de los otros


o archivo
os, nombre d de la base de datos,
tamaño del bloque e de la base de datos, juuego de cara acteres de la
a
base de
d datos, e información de recupera ación física. Estos
archivo
os se requieeren para abbrir la base d
de datos.
Datafile Toda la data de la
as aplicacion
nes y la meta
adata interna
a.
Redo Lo
og Registtra todos loss cambios he
echos en la b
base de dato
os; usado
para propósitos
p dee recuperaciión.
Parametter Parám
metros de configuración del
d SGA, caaracterísticass opcionaless
(PFILE o SPFILEE) de Ora
acle, y proce
esos de back
kground.
Archived
d Log Copia el contenidoo de los redo log en líne
ea, usado pa
ara
propóssitos de recu
uperación.
Passworrd Es un archivo opccional usado para almace enar el nombre de los
usuarios a los que
e se les ha otorgado
o privilegio SYSDBA y/o
el p
SYSOPER.

www.perudev.net 9
Oracle Database 100g
Addministración
nI

Podemoss consultar lo
os archivos de control e
ejecutando la
a siguiente cconsulta:

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

También podemos re
ealizar la missma consultta en EM Da
atabase Control:

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

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 Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 01
ura de la Base
Arquitectu e de Datos Oracle 10g

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

Para consultar los grrupos Redo Logs ejecute


e la siguiente consulta:

SQL
L> select gr
roup#, members from v$
$log; [Ent
ter]

GROUP# MEMBERS
-------- ---
--- --------
1 1
2 1
3 1

Esta consulta nos in


ndica que tenemos tres grupos, y cada
c grupo ttiene un solo miembro, o
sea, un archivo.
a Parra consultar los archivo s de cada grupo ejecute
os miembros e la siguiente
consulta:

SQL
L> select gr
roup#, member from v$l
logfile orde
er by 1; [Enter]

GROUP# MEM
MBER
--------
--- ---
----------------------
------------
-----------
------
1 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\OR
RCL\REDO01.LOG
2 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\OR
RCL\REDO02.LOG
3 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\OR
RCL\REDO03.LOG

www.perudev.net 11
1
Oracle Database 100g
Addministración
nI

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

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

En esta ventana pa
ara consultar los archivos miembro os de un grrupo, hacem
mos clic en el
número que
q correspo onde al grup
po a consulta umna Grupo
ar, en la colu o.

12 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 02
Introducción a las
Estructuras de Almacenamiento

Contenido

‰ Estructuras Lógicas 14
‰ Estructuras Físicas 16
‰ Esquemas de Base de Datos 18
Oracle Database 100g
Addministración
nI

Estruc
cturas Lógicas
L

Oracle divide la bas


se de datoss en unidades más peq queñas para
a manejar, almacenar, y
recuperar los datos eficienteme uiente grafico muestra la estructura
ente. El sigu a lógica de la
base de datos.
d

La siguie
ente consulta
a muestra los tablespace
es que se crrean junto co
on la base de datos:

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

ME
NAM
---
------------
-----------------
SYS
STEM
UND
DOTBS1
SYS
SAUX
USE
ERS
TEM
MP
EXA
AMPLE

6 filas
f selecc
cionadas.

14 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 022
Introducción a las Estru
ucturas de Almacenamientto

A continu
uación tenem
mos una bre
eve descripcción de los ta
ablespaces q
que se crean junto con la
base de datos.
d

Tablaspac
ce Desscripción

system El tablespace SYSTEM se e utiliza para


a el dicciona
ario de los da
atos y código
o
PLL/SQL, y no debe ser ussado para almmacenar objjetos de otro os
essquemas.
undotbs1
1 Almacena infoormación de las transacc
ciones para los propósittos
co
onsistencia y recuperació
ón.
sysaux El tablespace SYSAUX ess nuevo a Oracle10g y a almacena seegmentos
ussados para opciones
o de la base de datos,
d tales como Autommatic
Workload Rep pository (repositorio que guarda periiódicamente e información
n
relativa a la acctividad del ssistema), On
nline Analytical Processing (OLAP),
y Spatial.
S
users Uttilizado como
o tablespace
e por defecto
o para usuarios de la ba
ase de datoss.
temp Ussado para op
peraciones d
de grandes ordenamien
o to.

También podemos co onsultar los tablespacess utilizando la


l herramien
nta EM Data
abase Contro
ol,
tal como se ilustra a continuaciónn:

www.perudev.net 15
5
Oracle Database 100g
Addministración
nI

Estruc
cturas Físicas
F

El siguie
ente grafico muestra laa relación que
q existe entre las estructuras
e físicas y la
as
estructura
as lógicas de almacenamiento.

16 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 022
Introducción a las Estru
ucturas de Almacenamientto

Cada tabblespace tienne asignado o por lo mennos un dataffile. Algunoss tablespace


e, por razone
es
de adminnistración y rendimiento pueden esttar conforma ados por varios datafile. La siguiente
consulta nos muestra a los datafile
es por tablesspace.

SQL
L> select ta
ablespace_name, file_n
name from db
ba_data_fil
les; [Enter
r]

BLESPACE_NAM
TAB ME FILE_NAME
---
------------
------- --------------
------------
-----------
------------
-------
USE
ERS C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\USERS01.
.DBF
SYS
SAUX C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\SYSAUX01
1.DBF
UND
DOTBS1 C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\UNDOTBS0
01.DBF
SYS
STEM C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\SYSTEM01
1.DBF
EXA
AMPLE C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\EXAMPLE0
01.DBF

Para connsultar 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
TAB ME FILE_NAME
---
------------
------- --------------
------------
-----------
------------
------
TEM
MP C:\ORACLE\PROD
DUCT\10.2.0\
\ORADATA\OR
RCL\TEMP01.D
DBF

También podemos ussar el EM pa


ara consulta
ar informació
ón sobre loa datafiles.

www.perudev.net 17
7
Oracle Database 100g
Addministración
nI

Esque
emas de
e Base de
d Datos
s

Un esque ema es una a colección de objetos de la base de datos perteneciente es un usuarrio


e de datos. En una base
específico de la base e de datos de
d Oracle, ell esquema tiiene el mism
mo
nombre que
q el usuarrio de la basee de datos, así que los dos
d términoss son sinónimos.

Por lo tanto, podemo os ver la ba


ase de dato
os como un conjunto de
e esquemass, tal como se
s
ilustra en
n el siguiente
e grafico:

18 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 022
Introducción a las Estru
ucturas de Almacenamientto

Para consultar inform


mación 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 useername in ('SYS', 'SYS
STEM', 'SCOT
TT', 'HR'); [Enter]
]

USEERNAME DEFAULT_TABLES
SPACE TEMP
PORARY_TABL
LESPACE
---------------
------- --------------
------- ----
-----------
-------
SCOOTT USERS TEMP
P
HR USERS TEMP
P
SYSS SYSTEM TEMP
P
SYSSTEM SYSTEM TEMP
P

Podemoss apreciar lo
os tablespace por defe
ecto de cad
da usuario y el tablesp
pace temporral
asignado
o a cada usu
uario.

El usuariio SYS es el dueño de e todas las tablas basse y vistas d de acceso a la data del
d
diccionarrio de datos. Ningún otro usuario debe alte erar nunca (UPDATE, DELETE, o
INSERT)) cualquier fila u objetos del esquem
ma SYS, porq que tal activvidad puede comprometer
la integrid
dad de los datos.
d El ad e de datos debe tener estricto
dministradorr de la base e contrrol
de esta cuenta.
c

También podemos utilizar el EM para consultar informac


ción sobre lo
os usuarios de la base de
d
datos.

www.perudev.net 19
9
Oracle Database 100g
Addministración
nI

Página
a en Blanco

20 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 03
El Diccionario de Datos

Contenido

‰ Introducción al Diccionario de Datos 22


‰ Componentes Privados 23
ƒ Tablas X$ 23
ƒ Vistas Dinámicas (V_$) 25
ƒ Tablas $ 27
‰ Componentes Públicos 28
Oracle Database 100g
Addministración
nI

Introd
ducción al Diccionario d
de Datos
s

Una de la
as partes máás importanttes de una b base de datoos Oracle ess su diccionario de dato
os,
que es un
n sistema dee solo lecturra de tablas que proporcciona la información sobbre la base de
d
datos. Un diccionario
o de los datoos contiene:

ƒ La definiciión de los objetos de todos los esquemas (tablas, visstas, índice


es,
sinónimos, secuenciass, 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.
ƒ Información
n de restriccciones de inttegridad.
ƒ Los nombre
es de los ussuarios de O
Oracle.
ƒ gados a cada usuario.
Privilegios y roles otorg
ƒ Información
n de auditoria, como por
p ejemplo, que usuarios han iniciiado sesión y
cuanto tiem
mpo estuvierron activas.
ƒ Etc.
El diccion
nario de datos es una estructura
e de
e tablas y visstas, similarr a otros datos de la basse
de datos s. Todas lass tablas y vistas del diccionario
d d datos esstán almace
de enadas en el
tablespacce SYSTEM M.

No solo el
e diccionario o de datos es
e todo en cada
c base de
d datos Oraacle, esta es s también unna
herramienta importante para tod dos los usuuarios, para los diseñad
dores de ap plicaciones de
d
usuarios finales y pa ara los admministradoress de base de
d datos. Uttilice las sen ntencias SQ
QL
para reallizar consulttas al diccionario de loss datos. Deb
bido a que e
el diccionarioo de datos es
e
ectura, solo se puede consultar (insstrucciones SELECT)
de solo le S a llas tablas y vistas.

Por su complejidad y extensión, el dicciona os se ha divvidido, en dos niveles de


ario de dato d
objetos: privado
p y pú
úblico.

22 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 033
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 objettos (tablas y/o
y vistas) qu
ue
conforma an el Diccionnario de Daatos que porr su naturaleza sólo de eberían ser acezados y/oy
utilizadoss por usuario
os que normmalmente so on Administtradores de e la Base de e Datos. Esste
compone ente esta, a su
s vez integrado por loss siguientes grupos de objetos:
o

ƒ Tablas X$
ƒ Vistas Diná
ámicas (V_$
$)
ƒ Tablas $

Tablas
s X$

Son estruucturas en memoria


m pre
esentadas ccomo tablas y sirven co
omo base para las vista as
V$, norm
malmente esstas tablas non se encue entran docummentadas. Para
P ver su contenido unu
DBA tienne que hace erlo como us ma que se tiene con esttas tablas, es
suario SYS. El problem e
que, su nombre
n y el nombre de sus columnas no son descriptivos,
d por lo tanto
o resulta difíccil
darse cueenta del sign
nificado de su
s contenidoo. Es de sup
poner que por su importtancia, Oraccle
haya deccidido usar esas
e convencciones para nombrarlas.

No hay documentación acerca de las tablas X$ prevista por Oracle Corporation; sin embarg go
es posible mediante la revisión y el análisis del contenido de las mismas
m dedu
ucir su utilida
ad
en la crea
ación de las vistas V$.

Las tabla
as X$ son crreadas en memoria
m al m
momento de el inicio de la instancia y mantenida
as
en tiemppo real gua ardando info
ormación dee la activida
ad de la Base
B de Da atos desde el
comienzoo de la instancia.

El único comando permitido


p so
obre estas taablas es el SELECT, ocurriendo
o u error si se
un s
intenta ejjecutar cualq e instrucción diferente al SELECT.
quier tipo de

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

SQL anner from x$version;


L> select ba [Enter]

NNER
BAN
---
------------
----------------------------------
--------------------
Ora
acle Databas
se 10g Enterprise Edittion Release
e 10.2.0.1.0 - Prod
PL/
/SQL Release
e 10.2.0.1.0 - Producttion
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 – Producttion

www.perudev.net 23
3
Oracle Database 100g
Addministración
nI

o de SELECT
No se puede otorgar el privilegio T sobre esas
s tablas a nin
ngún usuario
o.

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

SQL lect on x$option to sc


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

La única operación disponible


d pa
ara permitir acceso sob
bre estas tab
blas a usuarrios diferente
es
a SYS es ón de vistas sobre ella
e la creació as y con essas vistas p
permitir el acceso,
a de la
siguiente
e forma:

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

SQL iew prueba$option as s


L> create vi select * fro
om x$option
n; [Enter
r]

sta creada.
Vis

SQL
L> create p
public synonym x$optio
on for prueb
ba$option; [Enter
r]

nónimo cread
Sin do.

SQL
L> grant sel
lect on prueba$option to public; [Enter
r]

Con minada correctamente.


ncesión term

SQL
L> conn scot
tt/tigre [Ent
ter]
Con
nectado.

L> select * from x$option;


SQL [Ent
ter]

DR
ADD INDX INST_ID PARA
AMETER VAL
LUE
---
------ -----
------ ---------- ----
------------
-----------
-------- ---
--------
04B
B79704 0 1 Part
titioning TRU
UE
04B
B79704 1 1 Obje
ects TRU
UE
04B
B79704 2 1 Real
l Applicatio
on Clusters
s FAL
LSE
04B
B79704 3 1 Adva
anced replic
cation TRU
UE
04B
B79704 4 1 Bit-
-mapped inde
exes TRU
UE
04B
B79704 5 1 Conn
nection mult
tiplexing TRU
UE
04B
B79704 6 1 Conn
nection pool
ling TRU
UE
04B
B79704 7 1 Data
abase queuin
ng TRU
UE
04B
B79704 8 1 Incr
remental bac
ckup and re
ecovery TRU
UE
04B
B79704 9 1 Inst
tead-of trig
ggers TRU
UE
04B
B79704 10 1 Para
allel backup
p and recov
very TRU
UE
. . .
. . .

24 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 033
El Diccion
nario de Datos
s

Las tablaas X$ no pueden serr modificada as de ningu una manera a y su man ntenimiento lo
desarrolla
a Oracle de manera auttomática. La forma fácil de ver su información es
e mediante el
uso de la
as vistas V$,

SQL
L> conn / as
s sysdba [Ent
ter]
Con
nectado.

SQL
L> select * from x$ksm
msd; [Ent
ter]

DR
ADD INDX INST_ID KSMS
SDNAM KS
SMSDVAL
---
------ -----
------ ---------- ----
------------
------ ----
-------
03B
BF0BB0 0 1 Fixe
ed Size 1
1247528
03B
BF0BD0 1 1 Vari
iable Size 109
9053656
03B
BF0BF0 2 1 Data
abase Buffer
rs 171
1966464
03B
BF0C10 3 1 Redo
o Buffers 7
7139328

SQL
L> select * from v$sga; [Ent
ter]

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

Vistas Dinámica
as (V_$)

Oracle coontiene un conjunto


c de vistas
v funda
amentales qu ue son manttenidas 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
vistas se ynamic perrformance views” porq que son con ntinuamentee actualizadaas
mientras la base de datos está abierta
a y en uso, y su co
ontenido se relaciona so
obre todo coon
su funcio
onamiento.

Aunque estas vista as parecen ser tablas de la bas se de datoss, no son. Estas vista as
proporcio
onan datos en las estrructuras inte ernas del disco y las estructuras de memoria.
Podemoss realizar consultar de estas vistas, pero nunca podemos acctualizarlas ó alterarlas.

El código contenidoo en “catalog.sql” con


ntiene las definiciones
d de estas vistas y su
us
correspondientes sin
nónimos públicos.

Las vistas dinámicass reales son identificadass por el preffijo V_$. Loss sinónimos públicos para
e prefijo V$. Los admin
estas vistas tienen el nistradores de
d la base d de datos y otros
o usuario
os
solo debe stas V$, y n
en tener accceso a las vis as V_$.
no a las vista

www.perudev.net 25
5
Oracle Database 100g
Addministración
nI

Las vistaas dinámicaas son utilizzadas por Oracle


O Ente
erprise Mana ager, que es
e la interfaaz
principal para accede er a informa ación sobre ffuncionamie
ento del siste
ema. Despuués de que la
instancia es iniciada,, las vistas V$
V que leen información n de la memmoria son acccesibles. La
as
vistas que leen los datos
d del dis
sco requieren que la basse de datos esté montaada, y algunaas
requierenn que la base de datos esté
e abierta.

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

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

SQL
L> select * from v$sga; [Enter
r]
lect * from v$sga
sel
*
ROR en línea
ERR a 1:
ORA
A-01034: ORA
ACLE not available

SQL
L> startup [Enter
r]
Ins
stancia ORAC
CLE iniciad
da.

tal System Global


Tot G Area 6
289406976 bytes
Fix
xed Size 1247528
8 bytes
Var
riable Size 109053656
6 bytes
Dat
tabase Buffeers 171966464
4 bytes
Red
do Buffers 7139328
8 bytes
Bas
se de datos montada.
Bas
se de datos abierta.

SQL
L> select * from v$sga; [Enter
r]

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

26 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 033
El Diccion
nario de Datos
s

Tablas
s$

El otro grupo
g de objjetos dentro
o del Diccionario de Da atos, es el cconjunto de las tablas $.
Estas tabblas tienen nombres má ás compren nsibles que las anteriorees tablas X$
$, tales com
mo
COL$, TS S$, USER$ o TAB$. Esste conjunto de tablas es creado po or la ejecució
ón del archivvo
sql.bsq. De la misma manera qu ue con las ta
ablas X$, se
e recomienda que solo sean
s usuario
os
administrradores (DBAA) los que accedan
a esta
as tablas.

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

SQL
L> select na
ame from ts$; [Enter
r]

ME
NAM
---
------------
-----------------
EXA
AMPLE
SYS
SAUX
SYS
STEM
TEM
MP
UND
DOTBS1
UND
DOTBS2
USE
ERS

7 filas
f selecc
cionadas.

www.perudev.net 27
7
Oracle Database 100g
Addministración
nI

Comp
ponentes
s Públic
cos

Dentro de este grup po de objeto os Oracle esstán todas las vistas que sobre ell componente
privado son creada as por los diferentes a archivos caat*.sql, sienndo el más conocido el
catalog.ssql, que crea
a vistas asocciadas a las tablas X$, $ y a las visttas V$ o V_
_$.

Dependie endo de qué é característticas están instaladas y configurada


as, una basee de datos de
d
Oracle 100g puede co ontener máss de 1,300 vistas del dicccionario de los datos. Las vistas d
del
diccionarrio de datos tienen nombbres que com mienzan con n el DBA_, A
ALL_, y USE ER_.

Estas visstas son la manera másm amigable de obserrvar la inforrmación conntenida en el


Diccionarrio de Datoss. Son el grrupo de obje
etos Oracle más conoccido, como alternativa
a d
de
seguridadd en el ma anejo del Diccionario
D d
de Datos po or parte dee los diferen
ntes usuario
os
involucra
ados en el manejo de la base de datos.

La diferencia entre laas vistas DB BA_, ALL_, USER_ se puede ilustrrar usando como c ejemp plo
la vista del diccionariio de datos DBA_TABL LES. La vista
a DBA_TAB BLES muestrra informació ón
sobre toddas las tablaas en la basse de datos.. La vista AL LL_TABLES S, a pesar ded su nombrre,
muestra solamente a tablas que e un usuario particular de la base e de datos posee
p o tien
ne
acceso. Por ejemplo o, si inicia sesión
s en la
a base de datos
d como usuario SCO OTT, la vissta
ALL_TABLES mostrrará todas la as tablas perrtenecientes al usuario S SCOTT y lass tablas sobre
las cualees a SCOT TT otros usu uarios le haan otorgado o acceso. L La vista US SER_TABLE ES
muestra solamente
s lo
os objetos perteneciente
p es a un usuaario. Si el ussuario SCOT TT consulta la
vista USE ER_TABLES S, sólo las ta
ablas que él posee se mostraran
m en o. El siguiente
n el resultado
gráfico muestra
m una representación gráfica a de la relacción entre laas vistas DB BA_, ALL_, y
USER_.

28 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 033
El Diccion
nario de Datos
s

Las vista
as DBA_ proporciona an la inform mación máás amplia d de la metaadata y so on
generalm
mente las visstas del dicccionario de datos usadas por los D
DBAs. La siguiente tab
bla
muestra una
u descripcción sobre lo os tipos de vvistas.

Prefijo Descripción

USER_ Muestran
M los objetos crea
ados por el usuario
u que hace la consulta.
ALL_ Muestran
M los objetos a lo
os cuales cad
da usuario tiiene acceso, es decir
to
odos los que e él ha cread
do como tammbién aquelloos sobre los cuales tiene
e
peermitido el acceso
a y no le pertenece
en.
DBA_ Muestran
M todo
os los objeto
os creados a nivel de la Base de Da
atos.
Disponibles para
p usuarioss administra
adores.

www.perudev.net 29
9
Oracle Database 100g
Addministración
nI

Como lass vistas ALL L_ y DBA_ muestran o objetos perteenecientes a diferentes


s usuarios, en
e
ellas se debe
d estipula
ar el propietario de cada
a objeto refe
erenciado.

mente toda vista DBA_


Normalm _, tiene su
u contrapartte USER_ y ALL_, con
c contada
as
excepciones que non amerita an la presencia de esas vista as, como por ejemplo:
dba_tablespaces, db
ba_data_file
es, dba_rolllback_segs
s, etc.

SQL
L> conn scot
tt/tigre [Enter]
Con
nectado.

SQL able_name from user_ta


L> select ta ables; [
[Enter]

BLE_NAME
TAB
---
------------
-----------------
DEP
PT
EMP
P
BON
NUS
SAL
LGRADE

30 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
Usuarios Administradores

Contenido

‰ Administrador de la Seguridad y Privilegios de la Base de Datos 32


ƒ Cuentas del Sistema Operativo Administradoras de la Base de Datos 32
ƒ Nombres de Usuarios Administradores de la Base de Datos 32
‰ Autenticación del Administrador de Base de Datos 34
ƒ Privilegios Administrativos 34
ƒ Seleccionar un Método de Autenticación 37
ƒ Usando Autenticación del Sistema Operativo (OS) 39
ƒ Usando la Autenticación del Archivo de contraseñas 42
‰ Creación y Manteniendo el Archivo de Contraseñas 44
ƒ Usando ORAPWD 44
ƒ Estableciendo el valor de REMOTE_LOGIN_PASSWORDFILE 46
ƒ Adicionando Usuarios al Archivo de Contraseñas 47
ƒ Mantenimiento del Archivo de Contraseñas 49
Oracle Database 100g
Addministración
nI

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

Para llevvar a cabo las tareass administra ativas, un DBA


D de Orracle necesita privilegio
os
específicos dentro dee la base de
e datos y po
osiblemente en el sistem o del servidor
ma operativo
en el cua
al la base de
e datos esta funcionando
o. El acceso
o a una cuen nistrador de la
nta de admin
base de datos
d debe ser
s celosam mente controllado.

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

Para rea alizar muchaas de las ta areas admin nistrativas de


e una base e de datos, es necesarrio
poder eje ecutar comaandos del sisstema opera ativo. Depenndiendo del ssistema ope erativo en qu
ue
se ejecuta Oracle, puede
p ser que
q se neccesite una cuenta
c del ssistema opeerativo o unna
identificación para acceder al sistema opera ativo. Si es así, la cuennta del siste
ema operativvo
pude req querir más privilegios
p o derechas de d acceso queq muchoss usuarios de d la base ded
datos req quieren (porr ejemplo, re
ealizar la insstalación del software dde Oracle). Aunque
A no es
e
necesario o guardar loos archivos de Oracle en nuestra cuenta perrsonal, si de ebemos tener
acceso a ellos.

Nombrres 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 omo se ilustra
c la base de datos, co
en el sigu
uiente cuadrro.

ƒ SYS
ƒ SYSTEM
Durante la instalació
ón de la ba
ase de datoss Oracle se
e establecen
n las contra
aseñas de lo
os
usuarios SYS y SYSTEM.

Se sugiere también crear por lo menos un usuario adic cional, y con r DBA, para
ncederle el rol
areas admin
utilizarlo al realizar ta nistrativas dia
arias. Se rec
comienda no YS
o utilizar las cuentas SY
y SYSTE EM para esto os propósitos.

32 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

SYS

Cuando se s crea una base de da ario SYS se crea automá


atos, el usua áticamente y se le asign
na
el rol de DBA.
D

Todas las tablas y vistas


v del diiccionario de
e datos sonn almacenaddas en el essquema SYS S.
Estas tab blas y vista
as son críticcas para la operación de la base e de datos Oracle. Para
mantener la integrid dad del dicccionario de e datos, lass tablas en
n el esquem ma SYS so on
manipulaadas solame ente por Oraacle. Nunca deben ser modificadass por cualqu uier usuario o
administrrador de la base de da atos, y nadie ar cualquier tabla en el esquema del
e debe crea d
usuario SYS.
S (Sin embargo,
e se
e pueden cambiar los parámetros de almace enamiento del
d
diccionarrio de datos en caso de que sea neccesario.)

Asegúresse de que la
a mayoría de
e los usuario
os de la base
e de datos n
nunca pueda
an conectarsse
con la cuenta SYS.

SYSTEM
M

Cuando se
s crea una uario SYSTE
a base de datos, el usu EM se crea automáticam
mente y se le
asigna el rol de DBA
A.

El usuarrio SYSTEM M es usad do para cre


ear tablas y vistas adicionales para mostrrar
informaciión adminisstrativa, y tablas
t as usadas por variass opciones y
y viistas interna
herramientas de Ora acle. Nunca se debe cre n el esquema SYSTEM de interés de
ear tablas en d
usuarios individualess.

Rol DBA
A

d nombre DBA,
Un rol prredefinido, de D se cre
ea automátic camente con
n cada basee de datos de
d
Oracle. Este
E rol conttiene la mayyoría de los privilegios del
d sistema de base de datos. Por lo
tanto, ess de muy gran
g alcancee y debe ser concedid do solamentte a los ad
dministradore
es
completaamente funciionales de la a base de daatos.

Notta:

El papel
p del DBBA no incluye e los privilegios del sistema SYSDB BA ó SYSOP PER.
Ésto
os son los prrivilegios ad
dministrativo os especiales que permiten a un
admministrador realizar tareeas básicas ded la adminiistración de la base de datos,
tale
es como crear la base de datos, el a arranque y lal parada de
e la instancia.

www.perudev.net 33
3
Oracle Database 100g
Addministración
nI

Auten
nticación
n del Ad
dministra
ador de Base de
e Datos

Como DB BA, realizammos a menu udo operaciiones especciales tales como Inicia ar y Parar la
base de datos. Porqque solamen nte un DBA debe realizaar estas ope os username
eraciones, lo es
del admin
nistrador de la base de datos
d requie
eren un esqu
uema seguro o de autentifficación.

Privileg
gios Adm
ministrativ
vos

Los privillegios admin


nistrativos que
q se requieren para que
q un adm
ministrador pueda
p realizar
operacionnes básicass 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 autorización
a que se requuiera.

Notta

Loss privilegios del sistema SYSDBA y SY YSOPER permmiten el accceso a la insstancia


de la base de datos
d aun cu
uando la basse de datos no
n está abieerta.

El control de estos
e privilegios está tottalmente fuera de la ba
ase de datoss.

34 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

SYSDBA
A y SYSOP
PER

Las siguiientes son las operacio


ones que esstán autoriza
adas para lo
os privilegios del sistem
ma
SYSDBA A y de SYSO OPER:

Privilegiio del Operación


O A
Autorizada
Sistema

SYSDBA
A ƒ Ejecutar operaciones
o s de STARTUP y SHUTD
DOWN
ƒ ALTER DATABASE:
D OPEN, MOUNT, BACKKUP, 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 SESSIONN

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

Este
E privileg
gio permite a un usuario realizar tare
eas operacio
onales
básicas,
b perro sin la capa
acidad de ve
er datos del otros usuariio.

El contex xto en el cual


c se auto orizan a utilizar estos privilegios depende
d de
el método de
d
autentificcación que se elige utilizar.

Cuando nos
n conecta amos con priivilegios de SYSDBA o SYSOPER, nos estamo
os conectand
do
p defecto, no con el esquema que se aso
con un esquema por ocia genera
almente a su
s
e. Para SYS
username SDBA este esquema
e es SYS; para SYSOPER el e PUBLIC.
e esquema es

www.perudev.net 35
5
Oracle Database 100g
Addministración
nI

Conectá
ándonos con Privileg
gios Admin
nistrativos
s: Ejemplo

En este ejemplo
e se comprueba que a un usuario se le esquema SY
e asigna el e YS cuando se
s
conecta con
c el privile
egio del siste
ema SYSDB
BA.

Paso 1

Como priimer paso, crearemos


c mo usuario scott,
una tabla com s y lueg
go insertarem
mos una fila.

SQL
L> conn scot
tt/tiger [Enter]

nectado.
Con

SQL
L> show user
r [Enter]

ER es "SCOTT
USE T"

SQL able test( dato varcha


L> create ta ar2(30) ); [
[Enter]

bla creada.
Tab

SQL
L> insert in
nto test values( 'Gust
tavo Coronel
l' ); [
[Enter]

1 fila
f creada.
.

SQL
L> select * from test; [Enter]

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

Paso 2

Como se o, otorgaremos a scott e


egundo paso el privilegio SYSDBA.
S

SQL
L> conn sys/
/admin as sysdba [
[Enter]

nectado.
Con

SQL
L> grant sys
sdba to scott; [
[Enter]

ncesión term
Con minada correctamente.

36 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 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 o ya no es sc
a por defecto cott, sino sy
ys.

SQL
L> conn scot
tt/tiger as sysdba [
[Enter]

nectado.
Con

SQL
L> show user
r [
[Enter]

ER es "SYS"
USE

SQL
L> select * from test; [
[Enter]

lect * from test


sel
*
ROR en línea
ERR a 1:
ORA
A-00942: la tabla o vista no exis
ste

Selecc
cionar un Método de
d Auten
nticación

Los méto
odos siguien
ntes están disponibles
d para autenticar adminiistradores de
d la base de
d
datos:

ƒ Autenticaciión por el Sistema Operrativo (OS)


ƒ Autenticaciión mediante
e Archivo de
e Contraseña
as (Passworrd Files)
Su opción es afectad da si adminiistramos la base de dattos localmennte en la misma máquin
na
donde re eside la basse de datoss, o si administramos diversas
d basses de datoos de un so
olo
cliente reemoto. La siiguiente figu
ura ilustra la
as opciones que tenemo
os para los esquemas de
d
autentificcación del ad
dministradorr de la base de
d datos.

www.perudev.net 37
7
Oracle Database 100g
Addministración
nI

Si estamos realizand
do la adminiistración rem
mota de la base
b de datoos, debemos consultar la
documen ntación de red de Ora acle para determinar si s estamos utilizando una
u conexió
ón
segura. La mayoría de los proto
ocolos comu unes de connexión, tales como TCP//IP y DECneet,
no son se
eguros.

Conexio
ones Remo
otas No-Se
eguras

Para con nectar con Oracle como usuario o privilegiaddo sobre una conexió ón no-segurra,
debemos s estar autenticados po o de contraseñas. Al usar la auten
or un archivo ntificación del
d
archivo de
d contraseñ ña, la base de
d datos utiiliza un arch a no perder la
hivo de contraseña para
identificación de los usernames de la base de datos a los se han cconcedido el e privilegio de
d
sistema SYSDBA
S o SYSOPER.
S

Conexio
ones Localles y Cone
exiones Re
emotas Seg
guras

Para con
nectarnos coon Oracle como
c usuario privilegiado sobre una conexión
n local o un
na
conexión remota seg os las siguientes opcione
gura, tenemo es:

ƒ Podemos conectarnos
c s y ser auten
nticados porr un archivo de contrase
eñas, siempre
y cuando la base de e datos tenga un arch hivo de contraseñas y tengamos el
privilegio del sistema SYSDBA
S oSSYSOPER.

ƒ Si el serviddor no está utilizando un archivo de contrase eñas, o si no tenemos el


privilegio SYSDBA
S o SYSOPER, y por lo tanto t no esstamos en ele archivo de
d
contraseña as, podemoss utilizar la autentificacción del OS S. En la ma ayoría de loos
sistemas operativos,
o la
a autentificación del OS
S para los addministradores de la basse
de datos immplica colocaar el username del OS del
d administrrador de la base
b de datoos
en un grupo especial, generalment
g te designado mbre OSDBA
o con el nom A.

38 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

Usando
o Autentiicación del
d Sistem
ma Opera
ativo (OS))

OSDBA y OSOPER
R

Son dos grupos de usuarios


u esp
peciales del sistema opeerativo para
a controlar la
as conexionees
de los ussuarios administradores de la base de datos ussando la auttenticación del
d OS. Esto os
grupos so on genérica
amente cono ocidos comoo OSDBA y OSOPER. L Los grupos son
s creadoss y
los nomb bres específficos asigna
ados como p parte del prroceso de innstalación de
d la base de
d
datos. Loos nombres específicos dependen d e el siguiente
del sistema operativo y se ilustran en
cuadro:

Grupo
G del Sisstema
UNIX Windo
ows
Operativo
O

OSDBA
O dba ORA_D
DBA
OSOPER
O oper ORA_OPER

Los nom mbres por defecto


d asumidos por el instalado
or universal de Oraclee pueden ser
eliminado
os. Podemo SDBA y OS
os crear los grupos OS SOPER espe ecíficos segú
ún el sistem
ma
operativo
o.

A continu
uación hacem mos una desscripción cómo un usua
ario que perte upo OSDBA u
enece al gru
OSOPER R afecta la co
onexión con Oracle:

ƒ Si es un miembro del grupo


g OSDB BA, y especiifica AS SYS SDBA cuand do se coneccta
e de datos, lo estará hacciendo con el
con la base de sistema SYSDBA.
e privilegio d S

ƒ Si es un miembro
m el grupo OS
de SOPER, y especifica
e AS SYSOPE ER cuando ses
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 operattivo e intentta conectarsse
como SYSDBA o SYSOPER, el co omando CON NNECT fallará.

Prepara
ando la Auttenticación
n del SO

Para hab
bilitar la aute
entificación de un usua
ario adminisstrador que usa el siste
ema operativvo
debemoss 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 100g
Addministración
nI

Conectá
ándonos usando la Autenticac
A ión del SO
O

Un usuarrio puede seer autenticado, habilitán


ndolo como usuario adm
ministrativo, y conectarsse
con una base
b os local con uno de los comandos siguientes
de dato s de
el SQL*Plus:

NNECT / AS SYSDBA
CON

NNECT / AS SYSOPER
CON

Para una
a conexión reemota con la
a base de da atos sobre una
u conexión n segura, el usuario deb
be
también especificar
e el
e nombre deel servicio de
e red de la base
b de dato
os remota:

NNECT /@net_
CON _service_name AS SYSDBA

NNECT /@net_
CON _service_name AS SYSOPER
R

El siguien
nte gráfico muestra
m los miembros
m el grupo ORA_DBA.
de

40 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

A continuuación tenem
mos un ejem
mplo de com
mo se realiza
a la conexión utilizando autenticació
ón
del sistem
ma operativo
o.

SQL
L> conn / as
s sysdba [Enter]

nectado.
Con

SQL
L> show user
r [Enter]

ER es "SYS"
USE

Ejercicio
o Experimental

El siguien
nte ejercicio debe desarrrollarlo usted.

1. Cre e nombre serrgio.


ear el usuario del SO de

2. uario sergio al grupo Administradore


Agrregue el usu es.

3. Cie
erre todas la
as aplicacion
nes, cierre la sesión actual, e iniccie sesión con el usuarrio
serrgio.

4. Inte
ente conecta e como SYS
arse a Oracle SDBA, come
ente el resulttado con su compañero.

5. uario sergio al grupo OR


Agrregue el usu RA_DBA.

6. Inte mente conecctarse a Oracle como SY


ente nuevam YSDBA, com
mente el ressultado con su
s
commpañero.

www.perudev.net 41
1
Oracle Database 100g
Addministración
nI

Usando
o la Aute
enticación
n del Archivo de contraseñ
c ñas

Esta seccción describ


be cómo autenticar a un
n usuario administrativo usando la autentificació
a ón
del archivo de la coontraseña. Le
L sugiero rretirar a tod
dos los miemmbros de loos grupos del
d
sistema operativo
o ORRA_DBA y ORA_OPER.
O .

Prepara
ando el Arc
chivos de Contraseñ
C as de Aute
enticación

Para perrmitir la aute


entificación de un usua
ario administtrativo que usa
u la auten
ntificación d
del
archivo de
d contraseñ ñas se debe hacer el siguiente:

1. aseñas usando el utilitariio ORAPWD


n existe, crear el archivvo de contra
Si no D:

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

2. ación REMO
Esttablecer el parámetro de inicializa OTE_LOGIN_PASSWO
ORDFILE en
e
EXCLUSIVE.

Notta

REMMOTE_LOGIN N_PASSWORD DFILE es un parámetro ded inicializa


ación estáticco y por
lo tanto
t no pue
ede ser cambiado sin el reinicio de la base de datos.
d

3. Con mo usuario SYS


nectarse a la base de datos com S (o con
n otro usuarrio que teng
ga
priv
vilegios adm
ministrativos).

4. Si el
e usuario no
o existe en la
a base de da
atos, crear el
e usuario.

5. orgar el privilegio del sistema SYSD


Oto DBA ó SYSO
OPER al usua
ario.

Conectá
ándonos usando auttenticación
n del archiv
vo de conttraseñas

Los usua
arios con privilegios admministrativos pueden conectarse y a
autenticarse
e en una basse
de datos local ó rem
mota usando o el comando o SQL*Plus CONNECT T. Deben con nectar con su
s
usernamee y contrase a cláusula AS SYSDBA o AS SYSO
eña, y con la OPER.

mplo, si al usuario sco


Por ejem ott se le h
ha concedid egio SYSDB
do el privile BA, él pued
de
conectarsse de la sigu
uiente mane
era:

CON
NNECT scott/tig
ger AS SYSDBA
A

42 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

Si se le concede
c el privilegio
p SYS
SOPER, él p
podría conecctarse de la ssiguiente ma
anera:

NNECT scott/tig
CON ger AS SYSOPE
ER

Nottas

La autentificac
a ción del siste
ema operatiivo toma pre ecedencia so obre la
auttentificación
n del archivoo de contrasseñas. Especcíficamente 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 administrrativos sin im
mportar el
use
ername/passsword que se s especifiquue.

Si no
n pertenece e al grupo OSDBA
O ú OSSOPER, y ta
ampoco está
á en el archiivo de
conntraseñas, entonces la conexión
c fallará.

Ejercicio
o Dirigido

El siguien
nte ejercicio debe resolvverlo junto co
on su professor.

1. Esttablezca el valor del paráme


etro REMO
OTE_LOGIN
N_PASSWO
ORDFILE e
en
EXCLUSIVE.

2. el sistema operativo ORA_DBA y


Quite todos los miembros de los grupos de
RA_OPER.
OR

3. Cre
ear el archivo
o de contrasseñas con la
as siguientess características:

3. Contraseña
a del usuario
o SYS: supe
er

4. Número má
áximo de en
ntradas: 10

4. ear el usuario gustavo, asígnele


Cre a la ccontraseña clever.
c

5. Con
ncédale el privilegio
p SYS
SDBA a gusstavo.

6. Verrifique el con
ntenido del archivo
a de co
ontraseñas.

7. nexión de gu
Verrifique la con ustavo como
o usuario administrador.

www.perudev.net 43
3
Oracle Database 100g
Addministración
nI

Creac
ción y Ma
antenien
ndo el A
Archivo de
d Conttraseñas
s

Podemoss crear un archivo de co


ontraseñas usando
u el prrograma utilitario para la
a creación del
d
archivo de
d contraseññas, ORAPW WD. Para algunos sistemas operativos, podem mos crear esste
archivo como
c parte de
d su instalación estándar.

o ORAPW
Usando WD

Cuando se s invoca ell programa utilitario


u de creación del archivo de as sin proveer
e contraseña
ningún pa e recibe un mensaje que
arámetro, se e indica el uso
u apropiaddo del comando, tal com
mo
se ilustra
a a continuac
ción:

C:\> orapwd [
[Enter]
Usag
ge: orapwd file=
=<fname> passsword=<passwoord> entries=<u
users> force=<yy/n>

whhere
file - name of password file (mand),
password
p - password for SYS (m
mand),
entries
e - maximuum number of disstinct DBA and OPERs (opt),
fo
orce - whether to
t overwrite exissting file (opt),
There are no spacces around the equal-to
e (=) chaaracter.

C:\>

El siguiente comand do crea un archivo de contraseñas de nombrre acct.pwd d que permite


hasta 30 usuarios privilegiados
p con diversa
as contraseñas. En estte ejemplo, el archivo se
s
crea inicialmente con eña secret p
n la contrase para los usuarios que co mo SYS.
onectan com

C:\> ORAPWD FILE


E=acct.pwd PAS
SSWORD=secreet ENTRIES=30
0 [Enter]

Notta

Es críticamente
c e importante e para la seguridad del sistema pro oteger el arcchivo de
con
ntraseñas y las
l variabless de entorno o que identiffican su loca
alización. Cuualquier
usu
uario con accceso podría potencialme ente compro ometer la seeguridad de la
con
nexión.

44 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

A continu
uación pasam
mos a descrribir los pará
ámetros del utilitario
u ORA
APWD.

FILE Este parámetro


p esstablece el n
nombre del archivo
a de ccontraseñas a ser creado.
Se debe especificcar el nombrre completo y la ruta del archivo. El contenido de
d
este archivo es encriptado, y no es posible le eerlo directa
amente. Esste
parám
metro es obliggatorio.

Los tip
pos de nomb bre de archivvo permitido
os para el arcchivo de con
ntraseñas soon
especcíficos del sis
stema operaativo. Algunoos sistemas operativos requieren
r quue
el arc
chivo de con ntraseñas teenga un forrmato especcífico y loca alizado en un
u
directo
orio específfico. Otros sistemas operativos
o p
permiten el uso de la as
bles de entorno para esspecificar el nombre y la
variab a localizació
ón del archivvo
de conntraseñas. Debemos
D revisar la doccumentación específica de Oracle deld
sistem
ma operativo o para los n nombres y las localiza aciones perm mitidas en sus
platafo
orma.

ORD En es
PASSWO ste parámettro estableccemos la coontraseña para
p el usuario SYS. Si
usamo encia ALTER
os la sente R USER pa ara cambiarr la contrasseña de SY YS
despuués de conectarse a la base de dattos, la contrraseña alma acenada en el
diccionario de datos
d y la contraseña almacenada en el archivo de d
contra
aseñas amba as son actuaalizadas. Es
ste parámetrro es obligattorio.

ENTRIES
S Este parámetro
p e
especifica e
el número de
d entradas que se req quiere que el
archiv
vo de contra aseñas ace epte. Este número
n corrresponde al
a número de d
usuariios distintos permitidos p
para conectar a la base de datos coomo SYSDB BA
o SYSSOPER. El número real de entradass permisibless puede ser más alto qu ue
el númmero de ussuarios porrque la utilidad ORAPW WD continú úa asignanddo
das de contrraseña hasta que se lle
entrad ena un bloqu ue del sistema operativvo.
Por ejjemplo, si ell tamaño deel bloque del sistema op
perativo es de
d 512 Bytees,
esto aloja cuatro o entradas de contraseña. El número
n de entradas ded
contra
aseña alojad das será siem
mpre múltiplo de cuatro.

FORCE Este parámetro,


p s se estable
si ece en Y, le permite sob bre-escribir un archivo de
d
contra elve un errorr si existe un archivo de
aseñas existtente. Devue e contraseñaas
del mismo nombre e y se omite metro o se esstablece en N.
e este parám N

www.perudev.net 45
5
Oracle Database 100g
Addministración
nI

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

Además de crear el e archivo ded la contraaseña, debe


emos tambié
én fijar el parámetro
p d
de
inicializacción REMOOTE_LOGIN N_PASSWO ORDFILE enn el valor apropiado. Los valorees
reconocid dos se describen a continuación:

Valor Descripción

NONE Fijar estte parámetroo en NONE hace que O Oracle funcione como si
no existtiese el archiivo de contra
aseñas. Es decir, no se
e permite
ningunaa conexión p privilegiada sobre
s conexiiones no-seg
guras.
EXCLUS
SIVE Un archivo de contrraseñas EXC CLUSIVE se e puede utiliz
zar
solamen
nte con una base de dattos. Usar un archivo de contraseñass
EXCLUS SIVE permitte agregar, modificar,
m y suprimir usu
uarios.
Tambiénn permite ca
ambiar la conntraseña de SYS con el comando
ALTER USER. Este e es el valor por defecto..

SHARED
D Un archivo de contrraseñas SHA ARED puede e ser utilizad
do por
múltiples bases de d datos que fu
uncionan en el mismo se ervidor. Sin
embargo o, el archivo
o no puede ser
s modificaddo. Esto sign nifica que no
o
se puedde agregar nuevos usuarios a un arcchivo de con ntraseñas
SHARED.

Todos loos usuarios que necesita


an los privile
egios del sisstema
SYSDBA A y/o SYSOOPER deben ser agregad dos al archivvo de
contraseeñas cuandoo REMOTE_ _LOGIN_PA ASSWORDFILE se
establecce en EXCLUSIVE. Desspués que se e agreguen a todos los
usuarioss, se puede cambiar RE
EMOTE_LOG GIN_PASSW WORDFILE a
SHARED, y despué és comparte el archivo.

Esta opc
ción es útil si
s se tiene un
no o más DB
BAs que adm
ministran
bases de datos múltiples.

46 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

Adicionando Us
suarios al
a Archivo
o de Conttraseñas

Cuando concede
c privvilegios SYSSDBA y/o SY YSOPER a unu usuario, el
e nombre de usuario y la
informaciión de su prrivilegio se agregan
a ontraseñas. Si el servido
al archivo de co or no tiene un
u
archivo de contrasseñas EXC CLUSIVE (e es decir, si el pará ámetro de inicializació ón
REMOTE E_LOGIN_P PASSWORD DFILE se ha o en NONE ó SHARED
a establecido D) se mostrará
un mensaaje de error si tratamos de conceder estos privillegios.

El nombrre de usuarrio se mantiene en el archivo


a de contraseñas
c solamente mientras esse
usuario tiene por lo menos uno de estos do os privilegios
s. Si se revo
oca ambos privilegios, se
s
e usuario del archivo de contraseñas.
elimina el

Creando
o un Archivo de Con
ntraseñas y Agregánd
dole Nuevo
os Usuario
os

Use el siguiente pro


ocedimiento para crear un nuevo archivo
a de ccontraseñass, y agregarrle
nuevos usuarios:
u

1. Pro ar un nuevo archivo de ccontraseñas.


oceda a crea

2. Esttablezca el parámetro de inicialización REMO


OTE_LOGIN_PASSWO
ORDFILE en
e
EXCLUSIVE.

3. Con
néctese a Oracle
O con el privilegio SYSDBA.

4. Iniccie la instanccia y crear la base de d


datos si es necesario,
n o monte e inicie una basse
de datos existe ente.

5. Creear los usuarios necesarios. Otorga


ar los privileg
gios SYSDB
BA y/o SYSO
OPER a uste
ed
missmo y otros usuarios
u aprropiadamente.

Otorgan ocando Priivilegios SY


ndo y Revo YSDBA y SYSOPER
S

Para otorgar el privilegio SYSD


DBA y/o SY
YSOPER deb
be utilizar la n GRANT, su
a instrucción s
sintaxis es
e la siguiente:

GRA
ANT privilegio TO
O usuario;

Para revo
ocar el privile
egio debe utilizar la insttrucción es REVOKE,
R su
u sintaxis es la siguiente
e:

VOKE privilegio FROM usuario;


REV

www.perudev.net 47
7
Oracle Database 100g
Addministración
nI

Consulttando los Miembros


M del Archiv
vo de Contrraseñas

Podemoss usar la vista V$PWF


FILE_USER RS para consultar los usuarios qu ue tienen loos
privilegios SYSDBA y SYSOPEER para la base de da
atos. Esta vvista tiene las siguiente
es
columnass:

Columna
a Descripción
D

USERNA
AME Esta
E columnna contiene e
el nombre de
el usuario qu
ue es recono
ocido por el
archivo
a de contraseñas.
c
SYSDBA
A Si
S el valor de
e esta colummna es TRUE
E, entonces el usuario puede
p iniciarr
sesión
s e privilegio SYSDBA.
con el S

SYSOPE
ER Si
S el valor de
e esta colummna es TRUE
E, entonces el usuario puede
p iniciarr
sesión
s e privilegio SYSOPER.
con el S

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

SQL
L> conn sys/
/admin as sysdba [
[Enter]

nectado.
Con

SQL
L> desc v$pw
wfile_users [
[Enter]

mbre
Nom ¿Nul
lo? Tipo
---
------------
----------------------
------- ----
----- -----------------
----
USE
ERNAME VARCHHAR2(30)
SYS
SDBA VARCHHAR2(5)
SYS
SOPER VARCHHAR2(5)

SQL
L> select * from v$pwfile_users; [Enter
r]

ERNAME
USE DB
SYSD SYSOPER
---
------------
----------------- ----
-- --------
SYS
S TRUE
E TRUE
SCO
OTT TRUE
E FALSE

48 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 04
4
Usuarios Administrado
A res

Manten
nimiento del Archivo de Co
ontraseñas

Ampliarr el número
o de usuarrios del arc
chivo de co
ontraseñas
s

Si se reccibe 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 contraseñas má ás
grande y re-conceder los privileggios a los usuarios.

Reemplazar el arc
chivo de co
ontraseñas
s:

Use el sig
guiente proccedimiento para
p reempla
azar el archivo de contra
aseñas:

1. Ano
ote los usua
arios que tie
enen privileg BA ó SYSOPER consulttando la vissta
gios SYSDB
V$PWFILE_USERS.

2. erre la base de
Cie n la instruccción SHUTD
d datos con DOWN.

3. Elim
mine si el arc
chivo de con
ntraseñas exxistente.

4. Se debe crear nuevamen on el utilitarrio ORAPWD


nte el archiivo de conttraseñas co D.
bemos aseg
Deb gurarnos que
e estamos aumentando el número ded entradas.

5. Finalmente pro
oceda a agre
egar los usua
arios al arch
hivo de contrraseñas.

Eliminar el Archiv
vo de Contrraseñas

Si determ
mina que yaa no se requ uiere más dde un archiv
vo de contra
aseñas paraa 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. Despuués de que eliminemos este archivvo,
sólo los usuarios qu
ue puedan ser autenticcados por el e sistema o odrán realizar
operativo po
operacionnes de admiinistración en la base de
e datos.

www.perudev.net 49
9
Oracle Database 100g
Addministración
nI

Página
a en Blanco

50 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 05
Inicio y Parada de la Base de Datos

Contenido

‰ Introducción 52
‰ Inicio de una Base de Datos de Oracle 53
ƒ Fases del Inicio de la Base de Datos 53
‰ Comando: STARTUP 55
‰ Comando: SHUTDOWN 56
ƒ SHUTDOWN con la cláusula NORMAL 56
ƒ SHUTDOWN con la cláusula IMMEDIATE 56
ƒ SHUTDOWN con la cláusula TRANSACTIONAL 57
ƒ SHUTDOWN con la cláusula ABORT 58
‰ Comando: ALTER DATABASE 59
Oracle Database 100g
Addministración
nI

Introd
ducción

El DBA, ese el responnsable del in


nicio y parad
da de la instaancia de Orracle. Oracle
e proporcionna
a los admministradores autorizado ones de realizar esta tarea usando una varieda
os las opcio ad
de interfaaces. Es im mportante entender
e lass opciones que
q están ddisponibles para iniciar y
cerrar la instancia de
e Oracle, y cuando las va nes pueden o deben ser utilizadas.
arias opcion

Para iniciar o cerrar una instancia de Oraclee, necesita estar


e conecta
ado con la base
b de dato
os
con los privilegios
p apropiados. Hay dos prrivilegios especiales que están disponibles para
usuarios que van a realizar
r estas tareas: SYYSDBA y SY YSOPER. El privilegio SYYSDBA es unu
privilegio que permite realizar cualquier ttarea de la a base de datos. La a autorizació
ón
SYSOPER es un privilegio de menor
m alcan
nce que permite operacciones de in nicio y parad
da
pero resttringe otras tareas
t administrativas, tales
t como el
e acceso a los objetos de esquema as
de las applicaciones. Estas autorrizaciones se manejan ene el archivoo de contrasseñas o vía el
sistema operativo.
o

Cuando una base de datos está e recienteemente insttalada, sólo o SYS pued
o el usuario de
conectarsse con la ba
ase de datoss con el priviilegio SYSDBA. Se pueede otorgar este privileg
gio
vilegio SYSO
y el priv OPER a otrros usuario para ejecutar esta tarrea sin la necesidad
n d
de
conectarsse con el usuario SYS.

El siguien
nte gráfico muestra
m las diferentes fa
ases del pro
oceso de iniccio y parada
a de una basse
de datos de Oracle.

52 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 055
Inicio y Pa
arada de la Ba
ase de Datoss

Inicio de una Base de


e Datos de Orac
cle

Fases del Inicio


o de la Ba
ase de Da
atos

Según loo descrito en


n la Lección n 01, la insta
ancia de Orracle se commpone de un n conjunto de
d
estructura
as lógicas en
e memoria y de proce esos de fond do que interactúan con n los usuarioos
para la comunicació
c ón con la ba ase de dato os de Oraclee. Cuando Oracle esta a iniciado, la
as
estructura
as en memo oria y los prrocesos de ffondo están inicializados y abiertoss para que loos
usuarios puedan com municarse co on la base de datos de Oracle.
O

Siempre que se iniccia una bas


se de datoss de Oracle e, pasa por una serie de
d pasos qu ue
asegurarr su consiste
encia. Cua
ando se iniccia, una bas se de datoss pasa por tres estado
os:
NOMOUNT, MOUN NT, y OPEN, tal como se
e ilustra en la
a siguiente figura.

Fase: NOMOUNT

Una base
e de datos en
e esta fase incluye las ssiguientes ta
areas:

ƒ Se lee el archivo de pa
arámetros.
ƒ Se identificcan los archivos de control.
ƒ Se inician los procesos
s de fondo.
ƒ Se inician las estructurras en mem
moria, pero no
n son vinculadas con la
as estructura
as
en disco.
ƒ La base de
e datos no essta disponib
ble para los usuarios.
u

www.perudev.net 53
3
Oracle Database 100g
Addministración
nI

Si una ba
ase de datoss se encuenntra en esta fase, se pu
ueden realizzar ciertas ta
areas. Una de
d
las más comunes
c es la creación de una nuevva base de datos.
d

Ocasionaalmente, una a base de datos no pu uede pasar a la fase ssiguiente (MMOUNT) y se s


mantiene
e en la fase e NOMOUN NT. Por eje emplo, esto puede ocurrrir si se tien
ne problemaas
para acceder a las estructuras
e d archivo de control, que contiene informació
del ón importante
para conttinuar con el proceso de
e inicio de la
a base de da dañan estas estructurass o
atos. Si se d
no están disponibles, el procesoo de inicio de
e la base de
e datos no pu
uede continu uar hasta qu
ue
se resuellva 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
s siguientes tareas:
luego se ejecutan las

ƒ 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 parámetross.
ƒ Se lee el archivo
a de control y se o
obtiene el estado
e de loss archivos de
d datos y lo
os
redo log file
es.
areas admin
Ciertas ta nistrativas se
s pueden realizar
r mien
ntras la basse de datos esta en essta
fase, com
mo por ejemp
plo:

ƒ Renombrarr los archivo


os de datos.
ƒ Realizar un
n proceso de
e recovery.
ƒ a ubicación física de los archivos.
Cambiar la

ƒ ase de datoss en modo A


Poner la ba Archive Log..

Fase: OPEN
O

En esta fase,
f primero a llegar a la ffase MOUN
o se deben ejecutar las tareas para 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 línea
a.
En esta fase
f sta disponible para todos
la base de datos es s los usuario
os.

54 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 055
Inicio y Pa
arada de la Ba
ase de Datoss

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
parámetrros, inicia la instancia, monta
m y abre la base de datos.

Sintaxis

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

Donde:

NO
OMOUNT Inicia la instancia
a, pero no mo
onta la base
e de datos.
MO
OUNT Inicia la instancia
a, y monta la
a base de da
atos.
OP
PEN Inicia la instancia
a, monta y ab
bre la base de
d datos.
PF
FILE/SPFILE
E Perm
mite indicar el archivo de parámetross.
RE
ESTRICT Abre la base de datos
d en mo
odo restringid
do. Solo los usuarios con
egio RESTRICTED SES
privile SSION podrrán iniciar se esión.

FO
ORCE Fuerzza el inicio de una base de datos. Si la base de datos esta
en fun
ncionamientto, en primerr lugar realizza ejecuta un
n
SHUT TDOWN.

www.perudev.net 55
5
Oracle Database 100g
Addministración
nI

Coma
ando: SH
HUTDOW
WN

En algunos casos, es s necesario cerrar la ba


ase de datoss, por ejemplo, para ejeccutar backup
ps
en frió, re
egularmente
e para progrramar o realizar mejorass de la basee de datos. Cualquiera
C d
de
estos cassos, es nece
esario entendder las opcio
ones de la parada
p de un
na base de datos.
d

Sintaxis

UTDOWN [NORMAL | TRANSA


SHU ACTIONAL | IMM
MEDIATE | ABO
ORT]

SHUTD
DOWN co
on la cláusula NOR
RMAL

Para cerrar una bas es, utilice ell comando SHUTDOW


se de datos en situaciones normale S WN
áusula NORMAL:
con la clá

UTDOWN NORM
SHU MAL

La cláusu
ula NORMAL es opcional, porque éste
é es el mé
étodo de pa
arada por de
efecto si no se
s
ona ninguna cláusula.
proporcio

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 loos usuarioss actualmentte conectad
dos se descconecten para
proceder a cerrar la ba
ase de datoss.
mo inicio de la base de datos no re
El próxim equerirá ning
gún procediimiento para
a recuperar la
instancia.

SHUTD
DOWN co
on la cláusula IMM
MEDIATE

Utilice la parada inme


ediata de la base de dattos solamen
nte en las sig
guientes situ
uaciones:

ƒ Para iniciarr un backup automatizad


do y desaten
ndido.
ƒ Cuando un
n corte de en
nergía va a o
ocurrir muy pronto.
p
ƒ Cuando la a base de e datos o una de sus s aplicaciiones esta funcionand do
irregularme
ente y no pu
uede contacctarse con ell usuario pa
ara indicarle que termine
en
su sesión ó no puedenn terminar su
u sesión.

56 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 055
Inicio y Pa
arada de la Ba
ase de Datoss

Para cerrrar una base


e de datos inmediatame
i ndo SHUTD
ente, se utiliiza el coman DOWN con la
cláusula IMMEDIAT TE:

UTDOWN IMMEDIATE
SHU

La parada inmediata de la base de


d datos pro
ocede con la
as siguientess condicione
es:

ƒ No se permite nue
evas conexxiones, tam
mpoco se pueden in
niciar nueva
as
transaccion
nes.
ƒ No espera a que las se
esiones activvas sean terrminadas.
ƒ Las transaccciones pendientes son canceladas
s, y los usuarios son dessconectadoss.
El próxim
mo inicio de la base de datos no re
equerirá ning a recuperar la
gún procediimiento para
instancia.

SHUTD
DOWN co
on la cláusula TRA
ANSACTIO
ONAL

Cuando se requierre realizar una parada de la in nstancia qu


ue permita terminar la
as
transacciones activa
as, se deb do SHUTD
be utilizar el comand DOWN con la cláusu ula
TRANSA ACTIONAL::

UTDOWN TRANSACTIONAL
SHU

La parada transaccio
onal de la ba
ase de datoss procede co
on las siguientes condiciones:

ƒ No se permite nue
evas conexxiones, tam
mpoco se pueden in
niciar nueva
as
transaccion
nes.
ƒ Después que las transacciones so
on terminada
as, los cliente
es son descconectados de
d
la base de datos.
mo inicio de la base de datos no re
El próxim equerirá ning
gún procediimiento para
a recuperar la
instancia.

Una paraada transacccional previiene a clien


ntes pierdan
n su trabajo, y al mism
mo tiempo, no
n
requiere que todos lo
os usuarios terminar
t su sesión.

www.perudev.net 57
7
Oracle Database 100g
Addministración
nI

SHUTD
DOWN co
on la cláusula ABO
ORT

Se puede e cerrar la base


b de dattos instantáneamente a abortando la
a instancia de
d la base ded
datos. Si
S es posible e, se debe realizar estte tipo de parada
p solam
mente en la as situacione
es
siguiente
es:

ƒ La base dee datos o una


u de sus aplicacioness está funciionando irre
egularmente y
ninguno de
e los otros tip
pos de parad
da funcionan
n.
ƒ Se necesita
a cerrar la base
b os instantáneamente (po
de dato or ejemplo, si se sabe un
u
corte de en
nergía va a ocurrir
o en un
n minuto).
ƒ Se ha enco blemas al iniciar la instan
ontrado prob ncia de la ba
ase de datoss.
Cuando se
s necesita una parada a de la base de datos ab ansacciones y conexione
bortando tra es
o SHUTDOW
de usuarios, ejecute el comando WN con la clláusula ABOORT:

UTDOWN ABOR
SHU RT

La parada abortada de d datos proccede con lass siguientes condiciones


d la base de s:

ƒ No se permite nue
evas conexxiones, tam
mpoco se pueden in
niciar nueva
as
transaccion
nes.
ƒ Las sentenncias SQL activas
a del cliente que son
s procesad
das por la base
b de dato
os
son termina
adas inmediiatamente.
ƒ Las transaccciones activvas 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 requeriirá un procedimiento para recuperarr la instancia
El próxim a.

58 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 055
Inicio y Pa
arada de la Ba
ase de Datoss

Coma
ando: AL
LTER DA
ATABAS
SE

Cuando ses inicia la base


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

Sintaxis

ALTER DATABASE MOUNT | OPE


EN [ READ ON
NLY | READ WR
RITE ]

Donde:

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

www.perudev.net 59
9
Oracle Database 100g
Addministración
nI

Página
a en Blanco

60 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
Acceso a la Base de Datos Oracle

Contenido

‰ Verificación de Servicios Windows 62


ƒ Servicio de la Base de Datos 62
ƒ Servicio del Proceso Escucha 62
ƒ Tipos de Inicio de los Servicios 63
ƒ Estados de un Servicio 63
ƒ La Ventana de Servicios 64
‰ Identificación del Servicio y la Instancia de Base de Datos 65
ƒ Servicio de Base de Datos 65
ƒ Instancias de la Base de Datos 67
ƒ Servicio de Accesibilidad 70
ƒ Proceso de Servidor Dedicado 72
ƒ Nomenclatura 73
‰ Configuración del Método de Nomenclatura Local 75
ƒ Configurar el archivo tnsname.ora durante la instalación 75
ƒ Configurar el archivo tnsname.ora después de la instalación 75
‰ Configuración del Proceso Escucha 77
ƒ Configuración del Proceso Escucha Durante la Instalación 77
‰ Glosario 78
Oracle Database 100g
Addministración
nI

Verific
cación de
d Servicios Win
ndows

De la rela
ación de serrvicios cread
dos durante la instalació
ón de Oracle
e, por ahora
a nos interessa
básicameente dos, el primero relaacionado co
on la base de datos y ell segundo coon el processo
escucha.

Serviciio de la Base
B de Datos
D

Este servvicio esta re


elacionado con la instancia y la basse de datos, la estructurra del nombre
de este servicio
s es:

OraccleServiceSID

Donde SID representta el nombree de la instancia, por eje


emplo, si el nombre
n de la instancia es
e
EGCC, el
e nombre deel servicio ess:

OraccleServiceEGCC
C

Serviciio del Pro


oceso Es
scucha

Este servvicio esta re


elacionado con la disponibilidad de
d la base d
de datos pa
ara el accesso
remoto, el
e nombre po or defecto de
e este serviccio es:

OraccleOraDb10g_hoome1TNSListeneer

62 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 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 ccomo se des
scribe en el siguiente cu
uadro:

Tipo de Inicio Descripció


ón

Manual El servicio
o debe ser in omando net
niciado de manera expliccita con el co
o desde laa ventana dee servicios.
Automáttico El servicio
o se inicia de
e manera automática jun
nto con el sis
stema
operativo.
Deshabilitado El servicio
o no esta disponible, porr 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 ejecutta desde la consola
c de comandos.
c

Estado
os de un Servicio
S

Un serviccio puede tener uno de los estados que se desccriben en el ssiguiente cuadro:

Estado Descrip
pción

Iniciado El servicio esta funccionando y disponible.


d
Detenido
o El servicio no esta d
disponible.
Pausado
o El servicio esta funccionando, pe
ero no esta d
disponible. Se
S asume
que es un estado te emporal.

www.perudev.net 63
3
Oracle Database 100g
Addministración
nI

La Ven
ntana de Servicios
S s

La ventaana de serviicios permite


e administra
ar los servic
cios, para ca
argar esta ventana
v deb
be
seguir loss siguientes pasos:

1. Dessde el menú
ú Inicio ejecute el coman
ndo Ejecuta
ar.

2. En el campo ab
brir escriba el
e comando:: services.m
msc

3. Lue
ego haga clic
c en el botón
n Aceptar.

64 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Identifficación
n del Serrvicio
nstancia de Base de Dattos
y la In

Serviciio de Bas
se de Dattos

Una base
e de datos Oracle
O esta representad
da para los clientes
c com
mo un servicio; es decir, la
base de datos realizza el trabajo
o a nombre de
d los clienttes. Una ba
ase de datoss puede tener
uno o má
ás servicios asociados a ella.

La siguie
ente figura muestra
m dos bases de daatos, cada uno con su propio
p servic
cio de base de
d
anet. Un serrvicio, sales..us.acme.com
datos para los clienttes de Intra m, permite a vendedore es
tener accceso a la baase de datoos de ventass. Otro servicio, financee.us.acme.coom, permite a
so a la base de datos de
analistas financieros tener acces e finanzas.

Las base es de datoss de ventass y finanzass son identificadas por un nombre e de servicio,
sales.us..acme.com y finance.us.acme.co om respectivvamente. El nombre de el servicio es
e
especifica
ado por ell parámetro o de inicialización SERVICE_NAMES en el e archivo de d
parámetrros de inicia
alización. El nombre dell 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 (paarámetro DB
B_NAME) y el
nombre del
d dominio (parámetro DB_DOMAIIN). En el ca aso de saless.us.acme.ccom, sales es
e
el nombre e de datos y us.acme.co
e de la base om es el nommbre del dom
minio.

www.perudev.net 65
5
Oracle Database 100g
Addministración
nI

Notta

Es posible
p cambiar dinámiccamente el valor del pa
arámetro de SERVICE_NAAMES
con
n la instrucción SQL ALT
TER SYSTEM cuando la base de datos está en servicio.

Las sigu
uientes instrrucciones co
onsultan el valor de los
l parámetros SERVI
ICE_NAMES
S,
DB_NAM ME, y DB_DO OMAIN.

SQL
L> show para
ameter service_names [Enter]

ME
NAM TYPE VALUE
---
----------------------------------
-- ---------
--- -------
------------
------
ser
rvice_names string orcl.ww
ww.perudev.c
com

SQL
L> show para
ameter db_name [Enter]

ME
NAM TYPE VALUE
---
------------
----------------------
-- ---------
--- -------
------------
------
db_
_name string orcl

SQL
L> show para
ameter db_d
domain [Enter]

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

Una base de datos puede tene er múltiples 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 clienttes Web. Un
U
servicio, book.us.accme.com, de
edicado a cclientes quee 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 múltiples
m se
ervicios aso
ociados a una base de datos permite la
as siguiente
es
funcionalidades:

ƒ Una base de datos puede


p ser iidentificada de diversa
as maneras por diverso
os
clientes.
ƒ Un administrador de la base de e datos pue ede limitar o reservar recursos del
d
sistema. Este
E d control permite una asignación de recursoss mejor a lo
nivel de os
clientes que solicitan uno
u de estoss servicios.

66 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Instanc
cias de la
a Base de
e Datos

Una basee de datos tiene por loo menos una a instancia. Un instanciia esta compuesta de un
u
área de memoria
m mada Syste
llam em Global AArea (SGA) y procesos de Oracle. La L memoria y
los proce
esos de un na instancia manejan e eficientemennte los dato
os de la ba ase de dato
os
asociada
a y sirven a usuarios
u de la base de d
datos.

Notta

Una
a instancia también
t man
neja otros se
ervicios, com
mo por ejem
mplo: Oracle
e XML
DB..

www.perudev.net 67
7
Oracle Database 100g
Addministración
nI

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

Como se ervicios, las


s instancias son identifficadas por un nombre e de instanncia, sales y
finance en este eje emplo. El nombre
n de la instancia a es especiificado por el parámetro
INSTANC CE_NAME en e el archivoo del parám
metro de iniccialización. E
El nombre de la instanccia
por defeccto es Oraclle System Identifier
I ((SID) de la in
nstancia.

SQL
L> show para
ameter instance_name [Enter]

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

Algunas arquitectura
as de hardw ware permitten que mú últiples com mputadoras compartan el
acceso a los datos, al software, o a los dispositivos periféricos.
p O
Oracle Real Applicatio
on
Clusters pueden aprovechar de d tal arqu uitectura para ejecutar múltiples instancias
i e
en
diversas computadorras que com
mpartan una sola base de e datos físicca.

68 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

La siguie
ente figura muestra
m la co n de Oracle Real Appliication Clussters, en esste
onfiguración
ejemplo, dos instan ncias, saless1 y sales22, están associadas co
on una basse de dato os,
sales.us.a
acme.com.

Serviciio de Acc
cesibilida
ad

Para connectarse a un servicio de base d de datos, loos clientes usan un descriptor


d d
de
conexiónn que prove ee la ubicación de la basse de datos y el nombree del serviciio de base de
d
datos, El siguiente ejemplo
e mueestra un desscriptor de conexión q que habilita a los cliente
es
ectarse a un
para cone n servicio de
e base de da
atos llamadoo sales.us.acme.com.

(DESCRIPTION=
(
(ADDRESS=(PROTOCOL=tcp))(HOST=sales-server)(PORT=1521))
(
(CONNECT_DA
ATA=
(SERVICE_
_NAME=sales.uss.acme.com)
)
)

www.perudev.net 69
9
Oracle Database 100g
Addministración
nI

La sección ADDRE ESS del descriptor d de conexió ón es realmente la dirección


d dee
protocoloo del proce eso escuch ha. Para co onectarse a un servicio o de base ded datos, lo os
clientes primero se contactan con un pro oceso escu ucha que típicamente
t reside en el
servidor de base de e datos. El proceso
p esccucha recibee las solicitu
udes de connexión de loos
clientes y entrega esstos requerimmientos al se
ervidor de base de dato os. Una vez establecida
e la
conexión, el cliente y el servidor se comunican directamente.

Como un na dirección comercial, el proceso escucha


e es configurado o para acepptar peticione
es
es en una dirección de protocolo. E
de cliente Esta direcció
ón define el protocolo que el processo
escucha está escuchhando y alguuna otro info
ormación esppecífica del p P ejemplo, el
protocolo. Por
proceso escucha po odría ser configurado
c para escucchar en la siguiente dirección del d
protocolo
o:

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

Este ejemmplo muesttra a una dirección de protocolo TCP/IP


T que
e especifica el host y un
u
número ded puerto deel proceso escucha. Loss clientes coonfigurados con
c esta mis sma direcció
ón
de protoccolo pueden enviar soliccitudes de co
onexión a esste proceso e
escucha.

El descriptor de co onexión tam mbién especcifica el nom


mbre del servvicio de la base
b de dato
os
con la cuual los clien
ntes intentan
n establecerr una conexxión. El procceso escuch ha conoce loos
servicios para los cuales puede manejar sollicitudes de conexión, porque una baseb de dato
os
de Oraclee registra dinámicamentte esta inforrmación en el
e proceso escucha. Estte proceso d del
registro se
s llama reg gistro del servicio.
s Taambién provvee al proceeso escucha a informació
ón
sobre lass instancias de la base e de datos y los maneja adores del servicio dispponibles para
cada insttancia. Los manejadores
m s de servicio
o actúan com
mo puntos ded conexión a un servidor
de base de datos Oracle.
O Un manejador del servicio o puede serr un despa achador o unu
servidorr dedicado.

Si se reqquiere la co
onexión a una instancia a específica de la base
e de datos, entonces loos
clientes también
t pue
eden especifficar el INSTTANCE_NAME de una instancia pa articular en el
descriptoor de cone exión. Por ejemplo,
e el siguiente
s de
escriptor de
e conexión especifica el
nombre ded instancia sales1 que esta asocia ada con salees.us.acme.com.

(DESCRIPTION=
(
(ADDRESS=(PROTOCOL=tcp))(HOST=sales-server)(PORT=1521))
(
(CONNECT_DA
ATA=
(SERVICE_
_NAME=sales.uss.acme.com)
E_NAME=sales1)
(INSTANCE
)
)

70 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Alternativvamente, loss clientes quue siempre quieren usaar un tipo pa


articular de manejador
m d
de
servicio pueden
p usar un descriiptor de conexión que e especifica el tipo de manejador
m d
de
servicio. En el siguie
ente ejemplo o, un descriptor de coonexión es configurado
c para usar un
u
despacha ador para una
u configuración de sservidor com
mpartido, inndicado por: (SERVER =
shared).

(DESCRIPTION=
(
(ADDRESS=(PROTOCOL=tcp))(HOST=sales-server)(PORT=1521))
(
(CONNECT_DA
ATA=
(SERVICE_
_NAME=sales.uss.acme.com)
(SERVER=sshared)
)
)

Si querremos que e el clientte use un n servidor dedicado,, debemos s especificar


(SERVER R=dedicated d) en lugar de (SERVE ER=shared). Si el pará ámetro SERVER no essta
establecido, entonce uración de servidor com
es la configu mpartido es a n embargo, el
asumido. Sin
cliente ussará servidor dedicado si
s no esta dissponible un despachadoor.

Cuando el
e proceso escucha
e recibe los reque d cliente, este selecciona uno de lo
erimientos del os
manejado ores de serrvicios que fueron prevviamente re egistrados. D
Dependiendo o del tipo de
d
manejado or de serviccio seleccio
onado, el prrotocolo de comunicacción usado, y el sistem ma
operativo
o del servido d datos, el proceso esscucha ejecu
or de base de uta una de las siguiente
es
acciones.

ƒ Da la petición de conex
xión directam
mente a un despachado
d or.
ƒ Envía un mensaje
m al cliente
c con lla localizació
ón del desp
pachador ó el
e proceso de
d
servidor dedicado.
d E cliente entonces se conecta
El a directameente con el
despachaddor o el proce
eso dedicaddo del servidor.
ƒ Genera un proceso de e servidor de
edicado y pa
asa la conexxión del clien
nte al processo
de servidorr dedicado.
Una vez que el proce eso escucha
a haya terminado la ope
eración de coonexión para
a el cliente, el
e comunica
cliente se a con el serrvidor de la base de datos
d Oracle
e sin la parrticipación del
d
proceso escucha. El E proceso escucha
e rea
asume la essperar a esscuchar nueevas sesione es
entrantess de la red.

www.perudev.net 71
1
Oracle Database 100g
Addministración
nI

Proces
so de Serrvidor Dedicado

Una conffiguración de servidor dedicado,


d el proceso esscucha inicia
a un processo de servidor
dedicado o para cada solicitud de conexión de los clientes dedica ado al mante enimiento del
d
cliente. Una
U e la sesión es finalizada
vez que a, el proces
so de servid
dor dedicadoo finaliza. Por
que un proceso de servidor dedicado tien ne que ser iniciado pa ara cada co onexión, essta
configuraación requie
ere más re ecursos de el sistema que la co onfiguración de servidor
compartid do.

Un proce eso de servvidor dedica


ado es un tipo
t de servvicio que ell proceso escucha
e iniccia
cuando recibe una solicitud de un
u cliente. Para
P terminar la conexión cliente/serrvidor, una de
d
las siguie
entes accion
nes debe ocu
urrir:

ƒ El servidor dedicado he
ereda la soliicitud de con
nexión desde
e el proceso
o escucha.
ƒ El servidorr dedicado informa al proceso esc cucha su dirección de protocolo. El
proceso esscucha pasa la dirección de prottocolo al cliente en un n mensaje ded
respuesta y termina laa conexión. El cliente se
s conecta con el serviidor dedicaddo
usando direectamente la
a dirección d
de protocolo
o.
Si el clien
nte y el servidor de base
e de datos existen
e en la misma commputadora, laa conexión del
d
cliente puede pasarr directamen nte a un pro oceso de servidor dedicado sin irr a través del
d
proceso escucha.
e La
a aplicación que inicia la
a sesión gen
nera un procceso de servvidor dedicad
do
para la solicitud
s de conexión.
c E
Esto sucede automáticamente si la aplicación que q es usad
da
para iniciar la sesión n en la basse de datos esta en la misma com mputadora ded la base ded
datos.

Notta

Parra que los clientes remootos puedan conectarse con el servidor dedicaddo, 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 siguieente figura muestra


m un proceso esscucha pasa
ando la solicitud de conexión de un
u
cliente a un proceso de servidor dedicado.

72 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

1. El proceso
p escucha recibe la solicitud de conexión
n del cliente.

2. El proceso esccucha inicia a un procesoo de servidor dedicado


o, y el serviidor dedicad
do
herreda la soliciitud de cone
exión desde el proceso escucha.
e

3. El cliente
c es ah
hora conecta mente con el servidor dedicado.
ado directam

Nomen
nclatura

Los usua arios inician una solicitu


ud de conexxión proporc cionando unna cadena de d conexión.
Una cadena de con nexión incluyye un nomb bre de usua ario y una ccontraseña, junto con un u
identificaador de con nexión. Un identificado or de conexióón puede se er el mismo descriptor ded
conexión o un nombre que resuelve a un de escriptor de conexión. U
Uno de los id dentificadore
es
de conexxión más comunes es un u nombre d de servicio de red, un nombre sencillo para un u
servicio. Los ejemplo u cadena de conexión
os siguientess muestran una n que utiliza un descriptor
de conex xión completto como iden ntificador de
e conexión y otra caden na de conexiión que utilizza
el nombre o de red sale
e de servicio es como ide entificador de
e conexión.

NNECT
CON
scottt/tiger@(DESC
CRIPTION=(ADD
DRESS=(PROT
TOCOL=tcp)(HO
OST=sales-serveer1)(PORT=152
21))
(CO
ONNECT_DATA=
=(SERVICE_NA
AME=sales.us.accme.com)))

NNECT scott/tig
CON ger@sales

Cuando el
e nombre de
d servicio de
d red sales s es usado,, el proceso de conexió
ón resuelve el
nombre sales a unn descriptorr de conexxión. Esta información del servicio de red ese
almacena
ada en una o más repoositorios de información
n a la que a
acceden conn métodos de
d
nomencla
atura.

eso para esstablecer una sesión del cliente con la ayyuda de un


El proce n método de
d
nomencla
atura es com
mo sigue:

1. El cliente inicia una solicitud de


e conexión proporciona
ando un ide
entificador de
d
conexión.

2. El identifica
ador de cone exión es ressuelto a un descriptor
d de
e conexión por
p un métod
do
de nomenc clatura. Esta informaciónn se vuelve al
a cliente.

3. El cliente realiza la solicitud


s ón proporcionada por el
de conexión a la direcció
descriptor de
d conexión n.

4. El proceso ervidor de base de dato


o escucha recibe la solicitud y la dirige al se os
apropiada.

5. ón es acepta
La conexió ada por el se
ervidor de ba
ase de datoss.

www.perudev.net 73
3
Oracle Database 100g
Addministración
nI

Oracle Net provee los siguientess métodos de


e nomenclattura:

ƒ Nomenclatura Local
ƒ Nomenclatura de Direc
ctorios
ƒ Nomenclatura de cone
exión sencilla
a
ƒ Nomenclatura Externa

Nomenc
clatura Loc
cal

El métod do de nom menclatura local


l almaccena los no ombres de servicio dee red y su
us
descripto
ores de cone
exión en un archivo
a de cconfiguración
n denominad
do tnsnamess.ora.

Nomenc
clatura de Directorios
s

El métoddo de nome enclatura de


e directorioss almacena identificado
ores de con
nexión en un
u
servidor de
d directorio
os LDAP parra acceder a un servicio de base de datos.

Nomenc
clatura de conexión sencilla
s

La nomenclatura de conexión se encilla permite a los clie


entes 10g co
onectarse co
on un servidor
de base de datos Orracle usando o una caden na de conexxión TCP/IP que consistte del nombre
del host y opcionalmente el puerrto y el nomb
bre del servicio.

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

La nomenclatura de conexión se
encilla no req
quiere config
guración.

Nomenc
clatura Extterna

El método de nomen nclatura exte


erna almacena los nomb
bres de servvicio de red en
e un soporrte
de serviccio de nome enclatura que no es de Oracle. Estos soportess de servicio
os de tercera
as
personas s incluyen:

ƒ Servicio de
e Información
n de Red (N
NIS) Nombramiento externo
ƒ Entorno dee Computacción Distribuida (Distribu
uted Compu
uting Environ
nment) (DCE
E)
Servicio de
e Directorio de
d Celdas (C
CDS)

74 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Config
guración
n del Mé
étodo de
e Nomen
nclatura
a Local

El métod do de nommenclatura local


l adicio
ona nombrees de serviicios de reed al archivvo
tnsname es.ora. Cada
a nombre de
d servicio dde red apun escriptor de conexión. El
nta a un de
siguiente
e ejemplo muestra
m un nombre
n de servicio de ando a un descriptor de
e red apunta d
conexión:

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

En este ejemplo, el nombre de de red ventas esta apu


e servicio d untando al descriptor de
d
conexión contenido en e DESCRIP PTION. DES SCRIPTIONN contiene la
a dirección de
d protocolo
oe
identifica el servicio de
d base de datos
d destino.

Es posiblle configurarr la nomencllatura local d


durante o de
espués de la
a instalación.

Configurar el arrchivo tnsname.ora durantte la insta


alación

Oracle Net
N Configura ation Assista
ant permite configurar los
l nombress de servicio o de red para
los clienttes. Oracle Universal Innstaller ejecu
uta Oracle Net
N Configu uration Assisstant despué
és
de la insttalación del software.
s La
a configuraciión varía dep
pendiendo d
del modo de instalación.

Si realiza
a una insta nt le permite
alación perssonalizada Oracle Net Configuration Assistan
seleccion
nar el méto odo de nom menclatura a usar. Si selecciona Nomenclatura Local, le
permitirá configurar el nombre e del serviccio de red en el archivo tnsnam mes.ora para
conectarsse con el servicio de bas
se de datos Oracle.

www.perudev.net 75
5
Oracle Database 100g
Addministración
nI

Configurar el arrchivo tnsname.ora después de la iinstalació


ón

Se pued de agregar nombres de e servicios de red al archivo tnssnames.ora en cualquier


momento o después de e la instalacción. Para co
onfigurar el método
m de n
nomenclatura
a local, pued
de
utilizar un
na de las sig
guientes herramientas:

ƒ Oracle Enterprise Manager


M

ƒ Oracle Net Manage


er

ƒ Oracle Net Configuration Assisttant

76 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Config
guración
n del Proceso E
Escucha
a

El Proceso Escucha a es un proc ceso separa ado que fun nciona en la


a computadoora donde se s
encuentra
a el servidorr de base de e datos. Reccibe solicitud exión entranttes del cliente
des de cone
y maneja
a el tráfico de
e estas soliccitudes al servidor de ba
ase de datos.

Porque todos
t los parámetros
p de configuración tieneen valores por defecto o, es posibble
comenzaar y utilizar a un processo escucha qque no esta a configurado. Este proc
ceso escuch ha
por defeccto tiene poor nombre LISTENER,
L no soporta servicios que se están n iniciando, y
escucha en la siguiennte dirección
n de protoco
olo TCP/IP:

(ADDRESS=(PROT
TOCOL=tcp)(HO
OST=host_namee)(PORT=1521))

Los serviicios soportaados, es decir, los servicios a los cuales


c el pro
oceso escuc cha remite la
as
solicitude
es del cliente
e, se pueden vo de listene
n configurarr en el archiv er.ora o estta informació
ón
se puede e registrar dinámicame
d nte en el proceso escu ucha. Esta característicca de registro
dinámico o se llama registro
r de servicio. EEl registro es
e realizado por processo PMON (u un
proceso de fondo de d la instan ncia) de ca ada instancia de base de datos que q tenga la
configuraación necesa arámetro de inicializació
aria en el archivo del pa ón de la basee de datos. El
registro dinámico del d servicio
o no requie ere ninguna a configuraación en el archivo de d
listener.oora.

Configuración del
d Proce
eso Escucha Dura
ante la Ins
stalación
n

Oracle Universal
U In
nstaller eje
ecuta Oraclle Net Co onfiguration n Assistantt durante la
instalació
ón del software. Este prrograma le ppermite configurar la dirección de protocolo
p y el
servicio que
q escucha a para una base
b os de Oracle.
de dato

Durante la instalació
ón de un servidor
s Enterprise Edittion o Stand n, Oracle Net
dard Edition
Configura
ation Assisttant configu
ura automátticamente ele proceso e escucha co on el nombre
LISTENE ER que tiene
e una dirección de protoocolo TCP/IP
P que escuccha para la base
b de dato
os
Oracle. Durante
D una ada, Oracle Net Configuration Assistant permite
a instalación personaliza
ar el nombre del proceso
configura o escucha y la dirección
n de protoco
olo que uno elija.
e

Además, una direccción del pro otocolo IPC


C que escuccha las llam madas a prrocedimiento
os
externos es configuro
o automática
amente, sin tener en cue
enta el tipo d
de la instalación.

Oracle Net Configura ation Assista


ant también configura auutomáticame ente la inforrmación sobre
el servicio
o para los procedimiento vo listener.o
os externos en el archiv ora.

www.perudev.net 77
7
Oracle Database 100g
Addministración
nI

En el sigu
uiente scriptt tenemos un
n ejemplo

Ejemplo de un listener:
l liste
ener.ora

LIS
STENER=
(DESCRIPTIOON=
(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_LISTEENER=
(SID_LIST=
(SID_DESC
C=
(SID_N
NAME=plsextp
proc)
LE_HOME=/oracle10g)
(ORACL
RAM=extproc)
(PROGR
)
)

Para ejec
cutar Oracle e Net Conffiguration A Assistant de
esde la ven
ntana Ejecuttar ejecute el
programaa netca, tal como
c se ilus
stra a continuación:

Esta herrramienta nos n permitirrá realizar cualquier configuració


c n del procceso escuch
ha
posterior a la instalacción.

78 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Glosa
ario

ADDRESS
S Dirección
n de protocolo de red de
el listener.

Cuando se s realiza un
na conexión, el cliente y el listener se
s configurann
con direccciones de protocolo idénticas. El cliente utiliza esta
e
dirección para enviarr la solicitud de conexión
n a una ubiccación de
listener concreta,
c mie
entras el liste
ener "recibe
e" solicitudess de dicha
dirección.

A continu
uación, se m
muestra una dirección
d de
e ejemplo:

DRESS=
(ADD
(PROTOCOL=tccp)
(HOST=sales-seerver)
(PORT=1521)
)

Archivo Archivo de
d configuracción que con ntiene nombbres de serviicio de red
tnsnamees.ora asignadoos a descripttores de conexión. Este archivo se utiliza
u para el
e
método de
d nomencla atura local.

El archivo
o tnsnames..ora debe residir en una de las siguiientes
ubicacionnes:

ƒ Direcctorio especiificado por la


a variable de
e entorno TNNS_ADMIN.
Si la variable de entorno TNS S_ADMIN no o está definiida como
una variable
v en W
Windows NT T, puede que e esté en el registro.

ƒ Direc
ctorio de connfiguración global
g del no
odo. Para Su
un Solaris,
este directorio ess /var/opt/o
oracle. Wind dows NT no tiene un
directorio normall.
El dirrectorio $OR
RACLE_HOM ME/network k/admin en UNIX o el
directorio ORACL LE_HOME\network\ad dmin en siste
emas
opera ativos Windoows.
Cadena de Conexió
ón (Connectt String) Info
ormación que
e el usuario transfiere a un servicio
para cone mo el nombre de usuario
ectarse, com o, la contraseña y el
identificador de coneexión:

www.perudev.net 79
9
Oracle Database 100g
Addministración
nI

Descripttor de (Connectt Descriptor)) Descripción


n con formatto especial del
d destino
Conexióón de una co
onexión de rred. Un desccriptor de co onexión conttiene
informaciión sobre el servicio des
stino y la ruta
a de red.

Descripciión formatea
ada de forma
a especial del destino de
e una
conexión de red.

Los desccriptores de cconexión contienen el se ervicio de deestino que se


identifica mediante el nombre de e servicio de las bases ded datos
Oracle10 0g, Oracle9i u Oracle8i o el identifica
ador del siste
ema Oracle
(SID) de las bases de e datos Oraccle8 u Oracle7.
Direcció
ón de (Protocol Address) Id
dentifica la dirección
d de red de un ob
bjeto de red.
Protocolo
Cuando se s realiza unna conexión, el cliente y el receptor de la
solicitud, por ejemploo el listener, se configura an con direccciones de
protocoloo idénticas. E ección para enviar la
El cliente utilliza esta dire
solicitud de
d conexión n a una ubica ación concre eta de un ob
bjeto de la
red, mienntras que el receptor "rec cibe" solicitu
udes de dichha dirección..
Es importtante instalaar los mismo os protocoloss para el recceptor y el
cliente de
e la conexión n, así como configurar la as mismas direcciones.
d

La direccción de proto
ocolo consta de un elemento denom
minado
ADDRES SS.
cador de
Identific (Connectt Identifier) N
Nombre, nommbre de servvicio de red o nombre de e
Conexióón servicio que
q se resue elve en un descriptor de conexión. Los
L usuarioss
inician un d conexión mediante la
na solicitud de a transferenccia de un
nombre ded usuario y una contrasseña junto co on un identifficador en
una cade ena de conexxión para el servicio al q
que desea co onectarse
Método de (Naming Methods) M Método de resolución utilizado por un na aplicaciónn
Nomencclatura cliente pa
ara resolver un identifica
ador de cone exión en un descriptor de
conexión al conectarrse a un serv vicio de la ba
ase de datos
s. La Red dee
Oracle sooporta cuatro
o métodos de d nomencla atura:

ƒ Nome
enclatura Lo
ocal
ƒ Nome
enclatura de
e Directorios
s
ƒ Nome
enclatura de
e conexión sencilla
s (denominado anteriormente
Nome
enclatura de
el host)
ƒ Nome
enclatura Exxterna

80 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 06
6
Acceso a la Base de Datos Oracle

Nombre de Servicio
o (Net Servvice Name) N Nombre sen ncillo del servvicio que se resuelve en
n
de Red un descriiptor de coneexión. Los usuarios
u iniciian una soliccitud de
conexión mediante el e envío de un nombre de e usuario y una
u
contraseñña junto conn un identificador en una a cadena de conexión
ervicio al que desea con
para el se nectarse:

CONNECT usuario/contraseña@noombre_servicio_rred

Según su
us necesidad des, los nom
mbres de serrvicio de red se pueden
almacena
ar en distinta
as ubicacion
nes, por ejem
mplo:

ƒ Archiivo de configguración locaal, tnsnamess.ora, de cadda cliente


ƒ Serviidor de direcctorios
ƒ Oracle Names Server
ƒ Serviicio de nome enclatura exxterna, incluyyendo Serviccio de
Inform
mación de R Red (NIS) o Servicio
S de DDirectorio de
e Celdas
(CDSS)
clatura Loca
Nomenc al (Local Naaming) Méto odo de nome enclatura quee resuelve el
e nombre dee
servicio de
d red, almaacenado en el e archivo tnsnames.ora del cliente
en un desscriptor de conexión.
c Laa nomenclatu ura local es más
aconsejable para red bución simple con un nú
des de distrib úmero
reducido de servicioss que cambia an en muy rraras ocasion nes.
Proceso Escucha (Listener)) Proceso qu ue reside en
n el servidor cuya respon nsabilidad ess
la de reciibir solicitude
es de conexxión de clienttes y gestion
nar el tráfico
o
al servido
or.

Cada vez z que un clie


ente solicita una sesión d de red con un
u servidor,
el listener recibe la so mación del cliente
olicitud real. Si la inform
coincide con la informmación del listener, éste e otorga una conexión al
servidor.
Registro
o de Servicio
o (Service Registration n) Función mediante
m la ccual el proce
eso PMON
(proceso en segundo o plano de in
nstancias) re
egistra inform
mación
automátic camente en el proceso escucha.
e Yaa que esta innformación
se registrra en el procceso escucha, no es neccesario conffigurar el
archivo listener.ora ccon esta información estática.

El registro del servicio proporcion


na al processo escucha la siguiente
informaciión:

ƒ Nombre de servicio para cad da instancia en ejecución de la basee


de daatos
ƒ Nombres de insta ancias de la
a base de da atos
ƒ Mane ejadores de servicios (distribuidoress y servidor dedicado)
d
onibles para la instancia
dispo
ƒ Inform
mación de ccarga de noddos, instancias y distribuuidores

Esta inforrmación perrmite al proceso escucha a determinarr cómo se


debe realizar el servicio de solicitud de cone
exión de un cliente.
c

www.perudev.net 81
1
Oracle Database 100g
Addministración
nI

Servicio de Método ded nomencla atura externa


a que permitte a los usua
arios utilizar
Directorrio de Celda
as de forma transparentte las herram mientas y ap
plicaciones de
d Oracle
(CDS) para acce eder a las baases de dato
os Oracle en
n un entorno o DCE
(Distributted Computing Environm ment).
Servicio de (Networkk Informationn Service) Prrotocolo clien
nte/servidor de las
Informacción de Red
d Páginas Amarillas
A (yp) de Sun Microsystems
M s para la disttribución de
(NIS) datos sobbre la configuración del sistema (como los nomb bres de
usuario y del host) enntre las com
mputadoras d de una red.
Servidorr Dedicado (Dedicateed Server) Proceso
P del servidor
s ded
dicado a una
a conexión
del cliente.
SID (Oracle System
S Identtifier) Nombrre que identifica una insstancia
concreta de una basee de datos ene ejecución. Por cada baseb de
datos, ha
ay al menos una instancia que hace referencia a ella.

Para las bases de da atos anteriorres a Oracle88i, se utilizaba el SID


para iden ncluía en la parte del
ntificar la basse de datos.. El SID se in
descriptoor de conexió ón del archivvo tnsnamess.ora y en la definición
del listener en el arch hivo listener.ora. Los descriptores de conexión
utilizadoss por los clie
entes para laa conexión a la base de datos
Oracle8 u Oracle7 de eben estar configurados
c s con el pará ámetro SID.

82 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
Administración de la Instancia

Contenido

‰ Parámetros de Inicialización 84
ƒ El archivo initSID.ORA (PFILE) 85
ƒ El Archivo SPFileSID.ORA (SPFILE) 87
ƒ Modificando Valores de los Parámetros 88
‰ Dimensionando el SGA 94
‰ Manejo de Sesiones 97
ƒ Sesión Restringida 97
ƒ Finalizar una Sesión 100
ƒ Terminar una Sesión 101
‰ Archivos de Alertas 103
Oracle Database 100g
Addministración
nI

Parám
metros de
d Iniciallización

Cuando ses inicia la instancia el servidor


s Ora
acle tiene qu
ue hacer la lectura
l de lo
os parámetro
os
de inicialización desdde el archivo
o de parámeetros, para definir
d las esstructuras del SGA, ruta
as
de directo
orio, entre otros parámeetros. Hay d
dos tipos de archivo de parámetros:
p

ƒ Archivo dee parámetro o estático PFILE llamad


do comúnm
mente initSID
D.ORA dond
de
dentificador de la instanccia
SID es el id
ƒ Archivo ded parámettros persistente, SPF
FILE comúnmente lla
amado com
mo
spfileSID.O
ORA.

Figura 7 . 1 Estructtura 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
operativoo, si el pfile es modifica
ado para refrrescar los ca
ambios en laa instancia esta
e debe ser
reiniciada
a, algunos parámetros
p s dinámiccos esto perrmite que se
son ean modificaados mientra
as
esta activva la instanccia sin embargo estos ca
ambios no se n el pfile.
e reflejan en

La ubicacción por defe


ecto de es archivo
a es: % HOME%\database.
%ORACLE_H

84 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

A continu
uación se mu emplo de archivo PFILE
uestra un eje E.

###########
#########
#########
#########
#########
##################
###########
######
# Copyright
C (c) 1991, 2001, 2002
2 by Oracle Corrporation
###########
#########
#########
#########
#########
##################
###########
######

###########
#########
#########
#########
#########
#
# Cache
C and I/O
###########
#########
#########
#########
#########
#
block_size=8192
db_b
db_ffile_multiblock_rread_count=8

###########
#########
#########
#########
#########
#
ob Queues
# Jo
###########
#########
#########
#########
#########
#
_queue_processe
job_ es=10

###########
#########
#########
#########
#########
#
# File Configuration
n
###########
#########
#########
#########
#########
#
conttrol_files=("C:\ooracle\product\
\10.2.0/oradataa/egcc/oradata
a\control01.ctl",,
"C:\
\oracle\productt\10.2.0/oradaata/egcc/oradatta\control02.ctl",
"C:\
\oracle\productt\10.2.0/oradaata/egcc/oradatta\control03.ctl")

###########
#########
#########
#########
#########
#
# Cursors
C and Libraary Cache
###########
#########
#########
#########
#########
#
open
n_cursors=300

#########
########### #########
#########
#########
#
# Diagnostics
D and Statistics
S
###########
#########
#########
#########
#########
#
backkground_dump_
_dest=C:\oracle\product\10.2.0/admin/egcc/bdump
e_dump_dest=C:\oracle\product\10.2.0/adm
core min/egcc/cdump
p
userr_dump_dest=C:\oracle\product\10.2.0/adm
min/egcc/udumpp

###########
#########
#########
#########
#########
#
# Database
D Identificcation
###########
#########
#########
#########
#########
#

www.perudev.net 85
5
Oracle Database 100g
Addministración
nI

db_ddomain="www.pperudev.com"
db_nname=egcc

#########
########### #########
#########
#########
#
# SGA Memory
###########
#########
#########
#########
#########
#
_target=167772
sga_ 2160

###########
#########
#########
#########
#########
#
# NLS
#########
########### #########
#########
#########
#
_language="SPA
nls_ ANISH"
nls_
_territory="SPAIN
N"

###########
#########
#########
#########
#########
#
# Processes and Sessions
#########
########### #########
#########
#########
#
proccesses=150

#########
########### #########
#########
#########
#
# System Managedd Undo and Rollback Segments
###########
#########
#########
#########
#########
#
o_management=
undo =AUTO
undo
o_tablespace=U
UNDOTBS1

###########
#########
#########
#########
#########
#
# Security and Auditing
#########
########### #########
#########
#########
#
audit_file_dest=C:\oracle\product\
\10.2.0/admin/egcc/adump
remoote_login_passw
wordfile=EXCLUSIVE

###########
#########
#########
#########
#########
#
# Shared Server
#########
########### #########
#########
#########
#
dispatchers="(PROTOCOL=TCP) (SERVICE=egcccXDB)"

###########
#########
#########
#########
#########
#
# Miscellaneous
M
###########
#########
#########
#########
#########
#
compatible=10.2.0.1.0

#########
########### #########
#########
#########
#

86 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

# Sort, Hash Joins,, Bitmap Indexess


###########
#########
#########
#########
#########
#
_aggregate_targget=16777216
pga_

Reglas para especificcar parámettros

ƒ Todos los parámetros


p son opciona
ales

ƒ ato siguiente: parámetro


Especificarr los valores en el forma o = valor

ƒ El servidor tiene valore a parámetro que depend


es por defectto para cada den del SO
ƒ etro pueden
Los paráme n ser especifficados en cu
ualquier orde
en
ƒ Los comen
ntarios de lín
nea van desp
pués del sign
no #
ƒ Se puede incluir un arc ntro de otro con el parám
chivo de parrámetros den metro IFILE
ƒ Un parámetro con va alores múlttiples, los valores
v se deben especificar entre
paréntesis separados con
c comas

El Arch
hivo SPFileSID.OR
RA (SPFIL
LE)

Es un arrchivo binariio que es mantenido


m por el servidor Oracle, eel spfile permite que lo
os
cambios persistan a los procesos ase de datos.
s de iniciar y bajar la ba

Creació
ón del archivo SPFILE
E

El SPFIL
LE se crea a partir de e un PFILE E usando ele comando CREATE SPFILE,
S esste
comando
o debe ser ejjecutado antte de abrir la
a base de da
atos.

Sintaxis::

EATE SPFILE [=
CRE = ‘nombre y rutaa del archivo sppfile’]
F
FROM PFILE [=
= ‘nombre y rutaa del archivo pfile’];

Ejemplo 1

SQL
L> conn / as
s sysdba [
[Enter]
Con
nnected.

L> shutdown immediate


SQL [
[Enter]
Dat
tabase close
ed.
Dat
tabase dismo
ounted.
ORA
ACLE instanc
ce shut down.

www.perudev.net 87
7
Oracle Database 100g
Addministración
nI

SQL
L> create sppfile from pfile; [
[Enter]
Fil
le created.

SQL
L> startup [
[Enter]
ORA
ACLE instanc
ce started.

tal System Global


Tot G Area 8
72424008 bytes
Fix
xed Size 453192
2 bytes
Var
riable Size 54525952
2 bytes
Dat
tabase Buffeers 16777216
6 bytes
Red
do Buffers 667648
8 bytes
Dat
tabase mountted.
Dat
tabase openeed.

Modific
cando Va
alores de los Pará
ámetros

Para reallizar cambios de valor de uno ó máss parámetross existen varias alternattivas:

ƒ Cambiando
o el archivo PFILE
ƒ Cambiando
o con ALTER
R SESSION
ƒ Cambiando
o con ALTER
R SYSTEM
Algunos parámetros son dinámiicos, lo que quiere decir, que se p
pueden modificar su valor
sin necessidad de bajar la base de datos.

Cambiando el archivo PFILE


E

Si realiza
amos cambioos en el archhivo PFILE, para que te
engan efecto o estos cambbios debemo
os
bajar la base
b de dato
os, crear el archivo
a SPFILE, y volverr a cargar la base de da
atos.

Verificar si un parrámetro es dinámico

Tenemoss las vista as V$PARA AMETER y V$SYST TEM_PARAM METER pa ara consultar
informaciión sobre la
a modificació
ón de los pa ente cuadro se explica la
arámetros. En el siguie
informaciión de dos columnas
c sobre los pará
ámetros.

ISS
SES_MODIF
FIABLE Indica Si el parámetro puede
p ser m
modificado co
on ALTER
SESSION.
ISS
SYS_MODIF
FIABLE Indica Si el parámetro puede
p ser m
modificado co
on ALTER
SYSTEM.

88 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

Ejemplo 2

SQL
L> column na
ame format a40 [Enter
r]

SQL
L> select na
ame, isses_
_modifiable,
, issys_modi
ifiable
2 from v$sy
ystem_param
meter
3 where iss
sys_modifiable != 'FAL
LSE'
4 order by 1; [Enter
r]

NAM
ME ISSESS ISSYS_MODD
---
----------------------------------
------ ------ ----------
aq_
_tm_processees FALSEE IMMEDIATEE
arc
chive_lag_taarget FALSEE IMMEDIATEE
asm
m_diskgroupss FALSEE IMMEDIATEE
asm
m_diskstringg FALSEE IMMEDIATEE
asm
m_power_limiit TRUE IMMEDIATEE
aud
dit_file_desst FALSEE DEFERRED
bac
ckground_dummp_dest FALSEE IMMEDIATEE
bac
ckup_tape_ioo_slaves FALSEE DEFERRED
cir
rcuits FALSEE IMMEDIATEE
com
mmit_write TRUE IMMEDIATEE
con
ntrol_file_rrecord_keep_time FALSEE IMMEDIATEE
cor
re_dump_destt FALSEE IMMEDIATEE
cpu
u_count FALSEE IMMEDIATEE
cre
eate_stored__outlines TRUE IMMEDIATEE
cur
rsor_sharingg TRUE IMMEDIATEE
db_
_block_checkking TRUE IMMEDIATEE
db_
_block_checkksum FALSEE IMMEDIATEE
db_
_cache_advicce FALSEE IMMEDIATEE
db_
_cache_size FALSEE IMMEDIATEE
db_
_create_filee_dest TRUE IMMEDIATEE
db_
_create_onliine_log_dest_1 TRUE IMMEDIATEE
db_
_create_onliine_log_dest_2 TRUE IMMEDIATEE
db_
_create_onliine_log_dest_3 TRUE IMMEDIATEE
db_
_create_onliine_log_dest_4 TRUE IMMEDIATEE
db_
_create_onliine_log_dest_5 TRUE IMMEDIATEE
db_
_file_multibblock_read_
_count TRUE IMMEDIATEE
db_
_flashback_rretention_target FALSEE IMMEDIATEE
db_
_keep_cache__size FALSEE IMMEDIATEE
db_
_recovery_fiile_dest FALSEE IMMEDIATEE
db_
_recovery_fiile_dest_size FALSEE IMMEDIATEE
db_
_recycle_cacche_size FALSEE IMMEDIATEE
db_
_16k_cache_ssize FALSEE IMMEDIATEE
db_
_2k_cache_siize FALSEE IMMEDIATEE
db_
_32k_cache_ssize FALSEE IMMEDIATEE
db_
_4k_cache_siize FALSEE IMMEDIATEE
db_
_8k_cache_siize FALSEE IMMEDIATEE
ddl
l_wait_for_llocks TRUE IMMEDIATEE
dg_
_broker_conffig_file1 FALSEE IMMEDIATEE
dg_
_broker_conffig_file2 FALSEE IMMEDIATEE
dg_
_broker_starrt FALSEE IMMEDIATEE
dis
spatchers FALSEE IMMEDIATEE
drs
s_start FALSEE IMMEDIATEE
fal
l_client FALSEE IMMEDIATEE
fal
l_server FALSEE IMMEDIATEE
fas
st_start_io__target FALSEE IMMEDIATEE
fas
st_start_mtttr_target FALSEE IMMEDIATEE
fas
st_start_parrallel_rollback FALSEE IMMEDIATEE
fil
le_mapping FALSEE IMMEDIATEE
fix
xed_date FALSEE IMMEDIATEE
glo
obal_names TRUE IMMEDIATEE
hs_
_autoregisteer FALSEE IMMEDIATEE
jav
va_pool_sizee FALSEE IMMEDIATEE
job
b_queue_proccesses FALSEE IMMEDIATEE

www.perudev.net 89
9
Oracle Database 100g
Addministración
nI

lar
rge_pool_sizze FALSEE IMMEDIATEE
lda
ap_directoryy_access FALSEE IMMEDIATEE
lic
cense_max_seessions FALSEE IMMEDIATEE
lic
cense_max_ussers FALSEE IMMEDIATEE
lic
cense_sessioons_warning FALSEE IMMEDIATEE
loc
cal_listenerr FALSEE IMMEDIATEE
log
g_archive_coonfig FALSEE IMMEDIATEE
log
g_archive_deest FALSEE IMMEDIATEE
log
g_archive_deest_state_1 TRUE IMMEDIATEE
log
g_archive_deest_state_10 TRUE IMMEDIATEE
log
g_archive_deest_state_2 TRUE IMMEDIATEE
log
g_archive_deest_state_3 TRUE IMMEDIATEE
log
g_archive_deest_state_4 TRUE IMMEDIATEE
log
g_archive_deest_state_5 TRUE IMMEDIATEE
log
g_archive_deest_state_6 TRUE IMMEDIATEE
log
g_archive_deest_state_7 TRUE IMMEDIATEE
log
g_archive_deest_state_8 TRUE IMMEDIATEE
log
g_archive_deest_state_9 TRUE IMMEDIATEE
log
g_archive_deest_1 TRUE IMMEDIATEE
log
g_archive_deest_10 TRUE IMMEDIATEE
log
g_archive_deest_2 TRUE IMMEDIATEE
log
g_archive_deest_3 TRUE IMMEDIATEE
log
g_archive_deest_4 TRUE IMMEDIATEE
log
g_archive_deest_5 TRUE IMMEDIATEE
log
g_archive_deest_6 TRUE IMMEDIATEE
log
g_archive_deest_7 TRUE IMMEDIATEE
log
g_archive_deest_8 TRUE IMMEDIATEE
log
g_archive_deest_9 TRUE IMMEDIATEE
log
g_archive_duuplex_dest FALSEE IMMEDIATEE
log
g_archive_loocal_first FALSEE IMMEDIATEE
log
g_archive_maax_processes FALSEE IMMEDIATEE
log
g_archive_miin_succeed__dest TRUE IMMEDIATEE
log
g_archive_trrace FALSEE IMMEDIATEE
log
g_checkpointt_interval FALSEE IMMEDIATEE
log
g_checkpointts_to_alert FALSEE IMMEDIATEE
log
g_checkpointt_timeout FALSEE IMMEDIATEE
max
x_dispatcherrs FALSEE IMMEDIATEE
max
x_dump_file__size TRUE IMMEDIATEE
max
x_shared_serrvers FALSEE IMMEDIATEE
nls
s_length_semmantics TRUE IMMEDIATEE
nls
s_nchar_convv_excp TRUE IMMEDIATEE
object_cache_mmax_size_percent TRUE DEFERRED
object_cache_ooptimal_size TRUE DEFERRED
ap_page_pool
ola l_size TRUE DEFERRED
ope
en_cursors FALSEE IMMEDIATEE
opt
timizer_dynaamic_sampling TRUE IMMEDIATEE
opt
timizer_feattures_enable TRUE IMMEDIATEE
opt
timizer_indeex_caching TRUE IMMEDIATEE
opt
timizer_indeex_cost_adj TRUE IMMEDIATEE
opt
timizer_modee TRUE IMMEDIATEE
opt
timizer_secuure_view_merging FALSEE IMMEDIATEE
par
rallel_adapttive_multi__user FALSEE IMMEDIATEE
par
rallel_instaance_group TRUE IMMEDIATEE
par
rallel_max_sservers FALSEE IMMEDIATEE
par
rallel_min_sservers FALSEE IMMEDIATEE
par
rallel_threaads_per_cpu FALSEE IMMEDIATEE
pga
a_aggregate__target FALSEE IMMEDIATEE
pls
sql_ccflags TRUE IMMEDIATEE
pls
sql_code_typpe TRUE IMMEDIATEE
pls
sql_compilerr_flags TRUE IMMEDIATEE
pls
sql_debug TRUE IMMEDIATEE
pls
sql_native_llibrary_dir FALSEE IMMEDIATEE
pls
sql_native_llibrary_subdir_count FALSEE IMMEDIATEE
pls
sql_optimizee_level TRUE IMMEDIATEE
pls
sql_v2_compaatibility TRUE IMMEDIATEE

90 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

pls
sql_warningss TRUE IMMEDIATEE
que
ery_rewrite__enabled TRUE IMMEDIATEE
que
ery_rewrite__integrity TRUE IMMEDIATEE
rec
cyclebin TRUE IMMEDIATEE
rem
mote_dependeencies_mode TRUE IMMEDIATEE
rem
mote_listeneer FALSEE IMMEDIATEE
res
source_limitt FALSEE IMMEDIATEE
res
source_managger_plan FALSEE IMMEDIATEE
res
sumable_timeeout TRUE IMMEDIATEE
ser
rvice_names FALSEE IMMEDIATEE
sga
a_target FALSEE IMMEDIATEE
sha
ared_pool_siize FALSEE IMMEDIATEE
sha
ared_serverss FALSEE IMMEDIATEE
sha
ared_server__sessions FALSEE IMMEDIATEE
ski
ip_unusable__indexes TRUE IMMEDIATEE
smt
tp_out_serveer TRUE IMMEDIATEE
sor
rt_area_retaained_size TRUE DEFERRED
sor
rt_area_sizee TRUE DEFERRED
sql
l_trace TRUE IMMEDIATEE
sql
ltune_categoory TRUE IMMEDIATEE
sta
andby_archivve_dest FALSEE IMMEDIATEE
sta
andby_file_mmanagement FALSEE IMMEDIATEE
sta
ar_transformmation_enabled TRUE IMMEDIATEE
sta
atistics_levvel TRUE IMMEDIATEE
str
reams_pool_ssize FALSEE IMMEDIATEE
thr
read FALSEE IMMEDIATEE
tim
med_os_statiistics TRUE IMMEDIATEE
tim
med_statistiics TRUE IMMEDIATEE
tra
ace_enabled FALSEE IMMEDIATEE
und
do_retentionn FALSEE IMMEDIATEE
und
do_tablespacce FALSEE IMMEDIATEE
use
er_dump_destt FALSEE IMMEDIATEE
wor
rkarea_size__policy TRUE IMMEDIATEE

1 filas sele
151 eccionadas.

Modifica
ando Parámetros con ALTER SESSION
S

Sintaxis::

ALTER SESSION SET


S parámetro = valor;

Ejemplo 3

SQL
L> conn syst
tem/manager [
[Enter]
Con
nnected.

SQL
L> show para
ameter session_cached_
_cursors [
[Enter]

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

SQL
L> alter ses
ssion set session_cac
ched_cursors
s = 30; [
[Enter]

ssion altere
Ses ed.

www.perudev.net 91
1
Oracle Database 100g
Addministración
nI

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

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

Modifica
ando Parámetros con ALTER SYSTEM
S

Sintaxis::

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

Ejemplo 4

SQL
L> conn / as
s sysdba [
[Enter]
Con
nnected.

SQL ameter open_cursors


L> show para [
[Enter]

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

SQL stem set open_cursors = 200;


L> alter sys [
[Enter]
Sys
stem altered
d.

SQL
L> show para
ameter open_cursors [
[Enter]

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

Ejemplo 5

SQL
L> conn / as
s sysdba [Enter
r]
Con
nnected.

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

ME
NAM TYPE VALUE
---
------------
----------------------
-- ---------
--- -------
------------
-------
jav
va_pool_size
e big integ
ger 2097152
20

SQL stem set java_pool_siz


L> alter sys ze = 0 scope
e = spfile; [Enter
r]
Sys
stem altered
d.

92 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

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

ME
NAM TYPE VALUE
---
------------
----------------------
-- ---------
--- -------
------------
------
jav
va_pool_size
e big integ
ger 2097152
20

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

SQL
L> startup [Enter
r]
ORA
ACLE instanc
ce started.

tal System Global


Tot G Area 8
72424008 bytes
Fix
xed Size 453192
2 bytes
Var
riable Size 54525952
2 bytes
Dat
tabase Buffeers 16777216
6 bytes
Red
do Buffers 667648
8 bytes
Dat
tabase mountted.
Dat
tabase openeed.

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

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

www.perudev.net 93
3
Oracle Database 100g
Addministración
nI

Dimen
nsionando el SG
GA

El tamaño de SGA pude variar sin tener que


e reiniciar el servidor, es por ello que
e se define un
u
parámetrro llamado SGA_MAX_
S SIZE y SGA A_TARGET para limitar el crecimien nto.

Figura 7 . 2 El SGA
A

El tamaño del SGA esta


e nado por loss siguientes parámetros de inicializa
determin ación:

GA_MAX_SIIZE
SG Establece el máximo tamaño
t que puede aloja ar el
SGA cuan ndo se levanta la instanccia de base de
d
datos. Este parámetro o permitirá a
aumentar el
tamaño de n necesidad de iniciar la
e la SGA sin
instancia, teniendo en
n cuenta quee el total del SGA
no excedaa este parámmetro.
SG
GA_TARGET
T (Oracle 100g r1) Especcifica el total de tamaño que
dispondrá la SGA cua ando la instancia se inicia. Si
utilizamos este parám metro no tend dremos neceesidad
de definir los valores para
p db_cac che_size,
shared_po ool_size, larrge_pool_siize,
java_pool_ _size puesto o que oraclee automática
amente
ajusta estoos compone entes incluye endo
stream_pool_size.
DB
B_CACHE_S
SIZE Determina d Databasse Buffer Ca
a el tamaño del ache
en bytes.
LO
OG_BUFFER
R a el número de bytes del Redo Log Buffer
Determina B
Cache.
SH
HARED_POO
OL_SIZE Especifica e bytes del Shared Poo
a el tamaño en ol.

94 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

ST
TREAMS_PO
OOL_SIZE Determinaa el tamaño ded Oracle Streams, quee le
permite a la versión EE compartir datos y eve
entos
en un ambbiente distrib
buido.

Cuando ell parámetro STREAMS_ _POOL_SIZE E no


es asignad
do, se utiliza
a memoria del shared po
ool,
hasta un 10%
1 de su taamaño.
LA
ARGE_POOL_SIZE amaño en byytes del Large Pool por
Indica el ta
defecto ess cero.
DB
B_BLOCK_S
SIZE Determina a el tamaño del
d bloque O Oracle primaario en
bytes, el b ad de lectura o
bloque Oracle es la unida
escritura.

El SGA como
c estruc
ctura dinámiica utiliza un
na unidad de
d granularidda el cual es
e un espaccio
contiguo de memoria a, esta unida
ad depende e del tamaño
o definido pa
ara el SGA, así la unida
ad
de granularida es 4M
MB si el SGAA es menor o igual que 1 GB y 16 M MB si el SGA
A es mayor a 1
GB.

El tamaño de las estructuras del SGA puedee cambiar enn proporcion


nes múltiplos
s de la unida
ad
de granu
ularida, pode
emos consu ultar V$SGAA_DYNAMIC C_COMPONENTS para consultar lo os
componeentes dinámiicos del SGAA y el tamañ
ño granular utilizado.
u

www.perudev.net 95
5
Oracle Database 100g
Addministración
nI

Ejemplo 6

SQL
L> select co
omponent, current_size
e, granule_s
size
2 from v$sgga_dynamic_
_components;
; [
[Enter]

MPONENT
COM IZE GRANULE
CURRENT_SI E_SIZE
---
------------
----------------------
- ----------
--- -------
------
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
880803 41
194304
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

13 filas selec
ccionadas.

L> show para


SQL ameter db_cache_size [
[Enter]

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

SQL stem set db_cache_size


L> alter sys e = 47M; [
[Enter]

stema modifi
Sis icado.

SQL
L> show para
ameter db_cache_size [
[Enter]

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

96 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

Manejjo de Se
esiones

Sesión
n Restring
gida

La sesiónn restringida
a es muy úttil, por ejemplo, cuando
o realizamos el manten nimiento de la
estructura
a, ó realizam
mos tareas de
d importació ón ó exporta
ación de la b
base de dato
os.

Cuando realizamos tareas de mantenimien


m to como administradore
es debemoss asegurarno os
de que seamos
s lo únicos
ú conecctados a la base de daatos, para esso debemoss terminar la
as
sesiones de otros usuarios de manera expliccita.

Habilitar – Deshab
bilitar el ac
cceso restrringido a la
a base de d
datos

Para resttringir el accceso a la basse de datos se puede ussar el coman


ndo ALTER SYSTEM.
S

Sintaxis::

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

Ejemplo 7

SQL
L> conn / as
s sysdba [Enter
r]
Con
nnected.

SQL ogins from v$instance;


L> select lo ; [Enter
r]

GINS
LOG
---
--------
ALL
LOWED

SQL
L> alter sys
stem enable restricte
ed session; [Enter
r]
Sys
stem altered
d.

SQL
L> select lo
ogins from v$instance;
; [Enter
r]

GINS
LOG
---
--------
RES
STRICTED

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


War a no longer connecte
ed to ORACLE
E.

www.perudev.net 97
7
Oracle Database 100g
Addministración
nI

También 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 [Ent
ter]
Con
nnected.

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

SQL
L> startup restrict
r [Ent
ter]
ORA
ACLE instanc
ce started.

tal System Global


Tot G Area 8
93395628 bytes
Fix
xed Size 453292
2 bytes
Var
riable Size 75497472
2 bytes
Dat
tabase Buffeers 16777216
6 bytes
Red
do Buffers 667648
8 bytes
Dat
tabase mountted.
Dat
tabase openeed.

SQL
L> select lo
ogins from v$instance;
; [Ent
ter]

GINS
LOG
---
--------
RES
STRICTED

Quiene
es pueden iniciar ses
sión en mo
odo restring
gido

Para pod der iniciar sesión


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 también concede
c el privilegio
p RE
ESTRICTED SESSION, por lo tanto o, los usuario
os
a los que
e se asigna este
e rol tambbién podrán iniciar sesió
ón en modo restringido.

98 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

Inicialmente los usua


arios que pue
eden conecttarse 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 [Ent
ter]
Con
nnected.

SQL stricted session to sc


L> grant res cott; [Ent
ter]
Gra
ant succeede
ed.

SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.

Revocarr privilegio RESTRICTE


R ED SESSION
N

Sintaxis::

VOKE privilegio/
REV /rol FROM usuaario

Ejemplo 10

SQL
L> conn / as
s sysdba [
[Enter]
Con
nnected.

SQL
L> revoke re
estricted session from
m scott; [
[Enter]
Rev
voke succeed
ded.

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

rning: You are


War a no longer connecte
ed to ORACLE
E.

www.perudev.net 99
9
Oracle Database 100g
Addministración
nI

Finalizar una Se
esión

Sintaxis::

ALTER SYSTEM DIISCONNECT SE


ESSION ‘sid,serrial#’
{
{POST_TRANS
SACTION | IMMEDIATE}

Ejemplo 11

SQL
L> select siid,serial#,username,st
tatus,BLOCKI
ING_SESSION
N
2 from v$se
ession; [Enter]

SID SERI
IAL# USERNAAME S
STATUS BLO
OCKING_SESS
SION
---- -------
--- ---- --------------- -
-------- ---
-----------
----
141 18 SCOTT A
ACTIVE 144
144 16 SCOTT I
INACTIVE
146 70 A
ACTIVE
148 18 SCOTT A
ACTIVE 144
149 2 A
ACTIVE
152 11 SYS A
ACTIVE
154 1 A
ACTIVE
158 4 A
ACTIVE
160 1 A
ACTIVE
161 1 A
ACTIVE
162 1 A
ACTIVE
163 1 A
ACTIVE
164 1 A
ACTIVE
165 1 A
ACTIVE
166 1 A
ACTIVE
167 1 A
ACTIVE
168 1 A
ACTIVE
169 1 A
ACTIVE
170 1 A
ACTIVE

ccionadas.
19 filas selec

L> alter sys


SQL stem
2 disconnec
ct session '144,16' po
ost_transact
tion; [Enter]
Sys
stem alteredd.

Si scott después
d de terminar transacción inttenta hacer otra operaciión, 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 Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

Termin
nar una Sesión
S

Sintaxis::

ALTER SYSTEM KILL SESSION ‘ssid,serial#’ [IMM


MEDIATE]

Ejemplo 12

SQL
L> select SI
ID,SERIAL#,USERNAME,st
tatus from v$session;
v [Enter]

SID SERIAL# USERNAME STA


ATUS
-------- ---
--- -------- -------------
------------
------- ---
------
1 1 ACT
TIVE
2 1 ACT
TIVE
3 1 ACT
TIVE
4 1 ACT
TIVE
5 1 ACT
TIVE
6 1 ACT
TIVE
7 1 ACT
TIVE
8 1 ACT
TIVE
9 5 SYS ACT
TIVE
12 195 SCOTT INA
ACTIVE

ted.
10 rows select

L> alter sys


SQL stem kill session '12,
,195' immedi
iate; [Enter]

stem altered
Sys d.

SQL
L> select SI
ID,SERIAL#,USERNAME,st
tatus from v$session;
v [Enter]

SID SERIAL# USERNAME ATUS


STA
-------- ---
--- -------- -------------
------------
------- ---
------
1 1 ACT
TIVE
2 1 ACT
TIVE
3 1 ACT
TIVE
4 1 ACT
TIVE
5 1 ACT
TIVE
6 1 ACT
TIVE
7 1 ACT
TIVE
8 1 ACT
TIVE
9 5 SYS ACT
TIVE
12 195 SCOTT KIL
LLED

ted.
10 rows select

www.perudev.net 10
01
Oracle Database 100g
Addministración
nI

También podemos reevisar los bloqueos de las sesione


es con la he
erramienta Oracle
O EM, ttal
como se muestra en la siguiente figura.

Figura 7 . 3 Blo
oqueos de ce
esiones.

102 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 07
7
Administra
ación de la Instancia

Archiv
vos de Alertas
A

El archivvo de alertas alert_SID.log registraa los coman ndos y resultados de lo os principalees


eventos mientras la base de datos d esta operativa,
o cada
c instanccia tiene un
na archivo de
d
alertas, sino
s existe la instancia crea uno duurante el inicio, este arcchivo crece día a día así
a
que debe e ser revisarrlo y darle mantenimient
m to, puedes optar
o por elim
minar parte del contenid
do
ó eliminaarlo periódiccamente pre evio backup si deseas guardar la información n histórica del
d
archivo de
d alertas.

El Archivo de alertas contiene la siguiente in


nformación:

ƒ ora de inicio y parada de


Fecha y Ho e la base de datos
ƒ Una lista de
e los parámetros de iniccialización 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 Wrriter
ƒ Información
n de los swittch de los lo
og files
ƒ paces y segmentos de UNDO
Creación de los tablesp U
ƒ Sentencias
s de tipo ALT
TER que han
n sido utiliza
adas
ƒ Información
n relacionad or de tipo ORA-600
da con el erro
La localizzación del arrchivo de ale
erta la define
e el parámettro BACKGR
ROUND_DU
UMP_DEST.

www.perudev.net 10
03
Oracle Database 100g
Addministración
nI

Ejemplo 13

1. Bajar la base de datos.

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

2. Eliminar el archivo de alertas.


a

ase de datoss.
3. Iniciar la ba

L> startup
SQL
ORA
ACLE instanc
ce started.

tal System Global


Tot G Area 8
72424008 bytes
Fix
xed Size 453192
2 bytes
Var
riable Size 54525952
2 bytes
Dat
tabase Buffeers 16777216
6 bytes
Red
do Buffers 667648
8 bytes
Dat
tabase mountted.
Dat
tabase openeed.

4. Revisar el archivo
a de alertas
a

104 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 08
Administración del Archivo de Control

Contenido

‰ ¿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 Información del Archivo de Control 111
Oracle Database 100g
Addministración
nI

¿Qué es el Arrchivo de
d Contrrol?

Toda bas se de datos tiene un arcchivo de con


ntrol, qué ess un archivo binario dond
de se registra
la estructtura física de
e la base de
e datos.

El archivo
o de control contiene:

ƒ El nombre de la base de
d datos
ƒ Nombre y ubicación
u de
e los data file
es y redo log
g files
ƒ Fecha y ho
ora de la creación de la b
base de dato
os
ƒ El número actual de la secuencia d
del log
ƒ Información
n de los che
eckpoints
El archivo de control debe estarr disponible para escritu
ura por el se
ervidor de base
b de dato
os
siempre que la basee de datos esté
e abierta. Sin el archivo de conntrol, la base
e de datos no
n
puede seer montada y es difícil re
ecuperarla.

o de controll de una basse de datos se crea al mismo tiempo que la ba


El archivo ase de datoos.
Por defeccto, por lo menos
m una copia
c del arrchivo de co
ontrol se creea durante la
a creación de
d
base de datos. En n algunos sistemas ope erativos porr defecto ess crear coppias múltiple
es.
Debes crrear dos o más
m copias deld archivo d de control durante la creeación de base de datoos.
Puedes también
t ear archivos de control más adelan
cre nte, si pierdes archivos
s de control o
deseas cambiar
c valores particula
ares en los archivos
a de control.
c

106 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 08
8
Administra
ación del Arch
hivo de Contrrol

Establecer el Nombre
e de los Archivo
os de Co
ontrol

Los nom
mbres de loss archivos de d control sse especifica an en el paarámetro de inicializació
ón
CONTRO OL_FILES en el archivo de parámettros de la ba ase de datos. La instanncia reconocce
oda la lista de archivo
y abre to os durante la puesta en e marcha, y la instancia escribe y
mantiene a de archivos de control durante la operación
e toda la lista o de
e la base de
e datos.

Ejemplo 1

SQL
L> show para
ameter control_files [Ent
ter]

ME
NAM TYPE VALUE
---
---------------------- -----------
- ----------
-----------
-----------
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 paráme
etro CONTR
ROL_FILES antes de la
a creación de
d
base de datos:
d

ƒ Si no estaa utilizando el Administtrador de Archivos de Oracle (Ora acle-Manage


ed
onces la basse de datos crea un arc
Files), ento chivo de con
ntrol y usa un
u nombre de
d
archivo porr defecto. El nombre po
or defecto de
epende del sistema
s operrativo.
ƒ Si estas utilizando
u el
e Administrrador de Archivos de Oracle, en ntonces deb be
establecer el parámetrro de inicialización que determina el nombre y la ubicació
ón
de los arch
hivos de conttrol,
ƒ Si estas utilizando
u el Administrad
dor de Almacenamiento o Automáticco (Automattic
Storage Management)), puedes po oner nombre es de archivvos incomplletos en ASM
en los parámetroos de inicializació
ón DB_CR REATE_FILE_DEST y
DB_RECO OVERY_FILE E_DEST. AS SM crea automáticamen nte los archiv
vos de contrrol
en los lugaares apropiad
dos.

www.perudev.net 10
07
Oracle Database 100g
Addministración
nI

Multip
plexado el Archiivo de C
Control

Cada basse de datoss debe tenerr por lo men


nos 2 archivoos de controol, cada unoo almacenad do
en difere
entes discos. Si un arcchivo de conntrol es dañ
ñado debido a una falla a del disco, la
instancia asociada debe ser cerrada. Una vvez que se repare el dissco, el archivo de contrrol
dañado ses puede resstaurar usan
ndo la copia
a intacta del archivo de control
c del otro
o disco y la
instancia puede ser reiniciada. En este caaso, no se reequiere ning
guna recupe eración de lo
os
medios.

El comportamiento de los arcchivos de ccontrol multtiplexados e e describe a


es como se
continuacción:

ƒ La base de
d datos escribe los noombres de archivo de control en el parámetro
CONTROL L_FILES, en etro de iniccialización de la base de
n el archivo del paráme d
datos.
ƒ La base de datos lee solam mente el primer arcchivo en el
e parámetro
CONTROLL_FILES durante la operración de la base de datos.
ƒ Si uno de los archivos de control llega a ser in
nasequible d
durante la op
peración de la
base de da
atos, la instancia llega a ser inoperable y debe ser
s abortada a.

Notta

Ora
acle recomie enda fuertemmente que ttoda base de
e datos teng ga un mínimo o de
doss archivos de
e control y que
q estén sittuados en diiscos físicos separados.

Una formma para mu ultiplexar arcchivos de ccontrol es almacenar


a una copia deel archivo de
d
control en
e discos diferentes.
d Almacenan ndo archivo
os de contro ol en disco
os diferentees,
reducimoos al mínimo
o el riesgo cuando
c falle
e uno de loss discos. Lo
o que se buusca es evitar
hacer un proceso de recovery.

108 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 08
8
Administra
ación del Arch
hivo de Contrrol

Crean
ndo Copias Adic
cionales
s, Renommbrando
o
y Reubicando
o Archiv
vos de Control
C

Se puede e crear una copia adicional del arcchivo de con ntrol para multiplexarlo,
m , copiando un
u
archivo de
d control exxistente a un na nueva ub bicación y agregando
a el nombre de el archivo a la
lista de los
l archivoss de controll. De mane era similar, podemos rrenombrar un u archivo ded
control exxistente cam
mbiando el nombre
n del archivo
a o caambiando su u ubicación, y cambiand do
el nombrre del archivvo en la lista
a de archivo
os de controol. En ambo os casos, paara garantizar
que los archivos
a de control
c no ca
ambian duraante el proce a base de datos antes de
eso, cerrar la d
copiar el archivo de control.
c

Para agre egar una copia multiplexxada del arcchivo de con


ntrol actual o renombrar un archivo de
d
control, debe
d seguir los
l siguientees pasos:

1. Cerrar la ba
ase de datos

2. Copie un archivo
a de control
c existente a una nueva ubica
ación, usand
do comando
os
del Sistema
a Operativo..

3. Corrija el parámetro
p COONTROL_FILES en el archivo
a de parámetro dee inicializació
ón
de base de e datos para uevo nombre del archivo
a añadir el nu o de control, o cambiar el
nombre del archivo de control exisstente.

4. Inicie de nu
uevo la base
e de datos.

www.perudev.net 10
09
Oracle Database 100g
Addministración
nI

Ejemplo 2

1. Cerramos la
l base de datos.
d

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

2. Realizamos
s copia del archivo
a de ccontrol en C:\\CTLFILE y D:\CTLFILE
E.

3. Modificamo os el parám
metro CONT
TROL_FILES
S en el arcchivo de pa
arámetros de
d
inicializació
ón.

SQL
L> startup nomount
n [Enter]
Ins
stancia ORAC
CLE iniciad
da.

tal System Global


Tot G Area 0
167772160 bytes
Fix
xed Size 1247876
6 bytes
Var
riable Size 71304572
2 bytes
Dat
tabase Buffeers 88080384
4 bytes
Red
do Buffers 7139328
8 bytes

SQL
L> alter sys
stem set
2 control_ffiles='c:\ctlfile\cont
trol01.ctl',
,'d:\ctlfil
le\control02
2.ctl'
3 scope=spffile; [Enter]

stema modifi
Sis icado.

4. Iniciamos nuevamente
n la base de datos.

SQL
L> shutdown immediate [Enter]
ORA se de datos sin montar
A-01507: bas r

stancia ORAC
Ins CLE cerrada.

SQL
L> startup [Enter]
Ins
stancia ORAC
CLE iniciad
da.

tal System Global


Tot G Area 0
167772160 bytes
Fix
xed Size 1247876
6 bytes
Var
riable Size 71304572
2 bytes
Dat
tabase Buffeers 88080384
4 bytes
Red
do Buffers 7139328
8 bytes
Bas
se de datos montada.
Bas
se de datos abierta.

SQL
L> show para
ameter control_files [Enter]

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

110 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 08
8
Administra
ación del Arch
hivo de Contrrol

Mostrrando Infformación del A


Archivo de Conttrol

Las siguientes vistas


s muestran in
nformación acerca
a de lo
os archivos de
d control:

Vista Descripción
n

V$DATA
ABASE Muestra infoormación dee la base de datos desde
e
el archivo de
e control.
V$CONT
TROLFILE Lista los nom
mbres de loss archivos de control
V$CONT
TROLFILE_R
RECORD_S
SECTION Muestra las distintas se ecciones que e componen
el archivo de os registros de los que
e control y lo
consta cada a una; así coomo el núme ero de
registros de cada tipo usados hasta a el
momento.
V$PARA
AMETER Puede ser utilizada
u para a mostrar no
ombres de
los archivos
s de control ccomo fueronn
especificada
as en el paráámetro de innicialización
CONTROL FILES.

Ejemplo 3

SQL
L> select na
ame from v$controlfile
e; [Ent
ter]

ME
NAM
---
------------
-----------------
C:\
\CTLFILE\CON
NTROL01.CTL
D:\
\CTLFILE\CON
NTROL02.CTL

www.perudev.net 11
11
Oracle Database 100g
Addministración
nI

Página
a en Blanco

112 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
Administración del los Redo Logs

Contenido

‰ ¿Que es el Redo Log? 114


ƒ Redo Threads 114
ƒ Contenido del Redo Log 114
ƒ Como Oracle Database Graba en los Redo Log 115
‰ Planificación de los Redo Log Files 118
ƒ Multiplexado de los Redo Log Files 118
‰ Creando Groupos y Miembros Redo Log 119
ƒ Creando Grupos Redo Log 119
ƒ Creando Miembros Redo Log 120
‰ Eliminando Grupos y Miembros Redo Log 121
ƒ Eliminando Grupos Redo Log 121
ƒ Eliminando Miembros Redo Log 121
‰ Consultando Información sobre los Redo Log 123
‰ Ejercicio 123
Oracle Database 100g
Addministración
nI

¿Que es el Re
edo Log
g?

La estrucctura de mayyor importanncia para op


peraciones de
d recuperacción es el Reedo Log, qu ue
consiste en dos o má ás archivos preasignadoos que almacenan todoss los cambioos hechos a la
base de datos
d tal com
mo ellos ocu
urren. Cadaa instancia de
d una Base de datos de e Oracle tien
ne
un redo lo
og asociado o para proteg de datos en caso de que
ger la base d e la instancia
a falle.

Redo Threads
T

Cada insstancia de ba
ase de datoss tiene su propio redo log
l groupss. Estos reddo log groupps,
multiplexados o no, llaman
l a un thread de lla instancia de redo. Enn configurac
ciones típica
as,
sólo una instancia dee base de datos
d tiene a
acceso a una Base de datos
d de Orracle, tan só
ólo
un hilo está
e presennte. En Orracle Real A Application Clusters, sin embargo o, dos o má ás
instancias simultáneaamente tiene
e acceso a uuna sola basse de datos y cada insta
ancia tiene su
s
propio thread de redo
o.

En esta lección desscribiré como o configurarr y administtrar el redo log en una


a instancia de
d
Base de datos de Oracle
O estánd
dar. El númmero de threead que pue ede ser asumido es 1 en
e
todas lass discusiones
s y los ejemplos desarro
ollados.

Conten
nido del Redo
R Log
g

Los Redo os con redo


o Log Files son llenado o records. Un redo reccord, tambié én llamado un
u
redo enttry, está commpuesto de un grupo dde vectores de cambio , cada uno de los cuale
1
es
es una deescripción de
d un cambio o hecho a un solo bloqu
ue en la base de datos. Por ejemplo,
si cambiaa un valor del sueldo en una tab bla de empleados, gen nera un redo record qu ue
contiene los vectoress de cambio que describ
ben los camb
bios al bloqu
ue del segmento de datoos
para la ta
abla, el bloq
que de dato
os de segme ento deshaccer, y la tab
bla de transacción de lo
os
segmento os deshacerr.

Los redo records son


n guardados s de una ma anera circula ar en el redo log buffer del
d SGA y so on
almacenaados en unoo de los redo log files por
p el processo de fondo de la base de datos Lo og
LGWR). Siempre que una transa
Writer (L acción sea confirmada,, LGWR grraba los red do
d la transacción desde
records de e el redo log g buffer del SGA a un rredo log file e, y asigna un
u
SYSTEM M CHANGE NUMBER
N (S
SCN) para id dentificar loss redo records para cad da transacció
ón
confirmad
da. Sólo cuuando todos los redo reccords asocia ados con una transacció ón dada estáán
seguros en
e disco el proceso
p de usuario
u notiffica que la trransacción h
ha sido confirmada.

Los redo records tam


mbién puedee ser grabaddos a un redo log file antes de que la
l transaccióón
correspondiente seaa confirmadaa. Si el reedo log bufffer se llena a, u otra transacción ese
confirmad
da, LGWR envía
e g entries en el redo log buffer a un
todos los redo log n redo log file,

1
Vector de
d Cambio: Describe
D un cambio
c simple e en un bloque de datos dee la BD. Entre
e otros datos,,
contiene el
e número de versión, el có
ódigo de la tra
ansacción, y la
l dirección d
del bloque afe
ectado.

114 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
9
Administra
ación de los Redo
R Logs

aun cuanndo algunos redo record


ds puede no ser confirmados. Si fue
era necesarrio, la base de
d
datos pue ar estos cambios.
ede cancela

Como Oracle Database Graba en


n los Redo Log

El redo lo
og de una base
b de dato
os consiste en dos o más
m redo log g files. La base
b de dato
os
requiere un mínimo de dos archhivos para ggarantizar qu á siempre disponible para
ue uno está
grabar mientras
m el otro está siendo
s archivado (si laa base de datos está en el mod do
ARCHIVE ELOG).

El processo LGWR grraba en el re edo log files de una man nera circular.. Cuando ell redo log file
es
actual se
e llena, el LG GWR empiezza a grabar en el siguie ente redo log
g file dispon
nible. Cuand do
el último redo log filee esta llenado, LGWR retorna al primer
p redo log file y graba en el él,é
comenza ando el ciclo L Figura 9..1 ilustra el proceso de grabación circular
o otra vez. La c de loos
redo log files. Los números al la ado de cada a línea indica
an la secuenncia en que LGWR grab ba
a cada reedo log file.

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

www.perudev.net 11
15
Oracle Database 100g
Addministración
nI

Llenado los
l redo log files están disponibles
d p
para ser reutilización po
or LGWR, de
ependiendo si
esta habiilitado el modo archivado.

ƒ Si el arcchivado esta deshabiilitado (la base de datos está en mod do


NOARCHIV VELOG), un n redo log file
e lleno vuelv
ve a estar diisponible después de qu
ue
los cambios registrados en él son grabados
g enn 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 o vuelve a estar disponible despu
og file lleno ués de que los cambio os
registradoss en él han sido
s grabados en los arrchivos de d
datos y el arrchivo 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; [Enter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 1 CURRENT 50
2 1 INACTIVE 48
3 1 INACTIVE 49

La base de datos Oracle


O utiliza
a solo un red do log file al
a mismo tieempo para almacenar
a lo
os
redo reccords desdee el redo lo og buffer. El redo log g file que LGWR
L actualmente essta
escribiendo es llamad
do current redo
r log file..

Los redo log files qu


ue son reque eridos para un proceso de recuperación de la instancia so on
llamadoss active redo
o log files. Los
L redo log g files que ya
a no son req queridos parra un processo
de recupeeración de la
a instancia son
s llamadoss inactive re edo log files.

Si la basse de datos está en el modo ARCH HIVELOG, entonces


e la base de da atos no puedde
reutilizar o sobre-esscribir un re edo log file en línea ac ctivo (activee) hasta que e uno de loos
procesoss de archivad do de fondo o (ARCn) ha aya archivaddo 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 reutiilizando el primer archivvo activo (acttive) disponiible.

Log Switches y Lo
og Sequen
nce Numbe
ers

Un log sw witch es el punto en el cual la basse de datos deja de gra abar en un redo
r log file y
comienza e otro. Normalmente, un log switc
a a grabar en ch ocurre cuuando el current redo lo og
file está completame
c ente lleno y la grabación debe continnuar en el siiguiente redo log file. S
Sin
embargo, se puede e configuraar log switcch para qu ue ocurran a intervalo os regulare es,
independ dientemente de si el cu urrent log fiile está com
mpletamentee lleno. Ta ambién pued de
forzar log
g switch mannualmente.

116 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
9
Administra
ación de los Redo
R Logs

La Base de datos Oracle


O asigna
a a cada red u nuevo log
do log file un g sequence number cad da
vez que un log switc ch ocurre y LGWR
L empiieza a graba ar. Cuando la base de datos archivva
los redo log files, loss log archiva
ados conservvan su log sequence
s nu
umber. A un n redo log fiile
que es cííclicamente utilizado se le asignara el siguiente log sequencce number disponible.
d

Cada red do log file en


e línea o archivado
a ado por su log sequencce
ess únicamente identifica
number. Durante una falla, la instancia, o la recuperración de medios,m la base de dato
os
aplica correctamente e los redo log
g files en ord
den ascendeente usando uence number
o el log sequ
de los red
do log files.

Ejemplo 2

SQL
L> alter sys
stem switch logfile; [Enter
r]

stema modifi
Sis icado.

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter
r]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 1 ACTIVE 50
2 1 CURRENT 51
3 1 INACTIVE 49

www.perudev.net 11
17
Oracle Database 100g
Addministración
nI

Planifficación de los Redo


R Lo
og Files

Multipllexado de
e los Red
do Log Files

La base de datos Oracle te deja d multiple


exar los redo log filess de una in
nstancia para
salvaguaardar contra a daños a archivos individuales. Cuando los redo log files está án
multiplexados, el LG GWR graba a simultánea amente la misma info ormación del redo log en
e
múltiples redo log file
es idénticos,, de tal modo que elimin
namos fallass que puedan presentarsse
a un solo
o redo log file
e.

Notta

Ora
acle recomie enda multipllexar los reddo log files. La pérdida
a de datos de
d un
red
do log file pu
uede ser cattastrófica si se requiere un proceso de recuperaación.

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 see llama un member
m (m
miembro). En E Figura 9.2,
9 A_LOG11 y B_LOG1 ambos so on
miembros s del grupoo 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 tamaño.
t

Cada mie u log file group es sim


embro de un multáneamen es decir, el LGWR grab
nte activo (e ba
simultáneeamente en cada uno de ellos) se egún lo indicado por lo os log sequence number
idénticos asignados por el LGWR. En la Fig mer LGWR escribe simultáneamente
gura 9.2, prim
en A_LO OG1 y B_LO OG1. Luego o graba simmultáneamente en A_L LOG2 y B_ _LOG2, y así
a
sucesivamente. LGW WR nunca escribe
e sim
multáneamen nte en miem mbros de divversos grupo
os
(por ejem
mplo, en A_L
LOG1 y B_LO OG2).

118 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
9
Administra
ación 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
[ #]
(
('especificación especificación dee archivo 1')
de archivo 1', 'e
S
SIZE n {K|M}

Ejemplo 3

SQL
L> alter dat
tabase
2 add logfiile
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;; ter]
[Ent

se de datos modificada.
Bas

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Ent
ter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 1 INACTIVE 50
2 1 CURRENT 51
3 1 INACTIVE 49
4 2 UNUSED 0

L> select gr
SQL roup#, member from v$l
logfile
2 order by 1 asc, 2 asc; [Ent
ter]

GROUP# MBER
MEM
--------
--- ---
----------------------
------------
-----------
------
1 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO01.LOG
2 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO02.LOG
3 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO03.LOG
4 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO04A
A.LOG
4 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO04B
B.LOG

www.perudev.net 11
19
Oracle Database 100g
Addministración
nI

Creand
do Miemb
bros Redo
o Log

Sintaxis

ALTER DATABASE
A
ADD LOGFILE MEMBER
M 'especificación de arcchivo'
T GROUP #;
TO

Ejemplo 4

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 1 INACTIVE 50
2 1 CURRENT 51
3 1 INACTIVE 49
4 2 UNUSED 0

L> alter dat


SQL tabase add logfile mem
mber
2 'C:\oraclle\product\10.2.0\orad
data\egcc\re
edo01B.log'
3 to group 1; [Enter]

se de datos modificada.
Bas

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 2 INACTIVE 50
2 1 CURRENT 51
3 1 INACTIVE 49
4 2 UNUSED 0

L> select gr
SQL roup#, member from v$l
logfile
2 order by 1 asc, 2 asc; [Enter]

GROUP# MEM
MBER
--------
--- ---
----------------------
------------
-----------
------
1 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO01B
B.LOG
1 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO01.LOG
2 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO02.LOG
3 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO03.LOG
4 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO04A
A.LOG
4 C:\
\ORACLE\PRODUCT\10.2.0
0\ORADATA\EG
GCC\REDO04B
B.LOG

6 filas
f selecc
cionadas.

120 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
9
Administra
ación 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 LOGFILLE GROUP #;

Ejemplo 5

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 2 INACTIVE 50
2 1 CURRENT 51
3 1 INACTIVE 49
4 2 UNUSED 0

L> alter dat


SQL tabase drop logfile gr
roup 3; [Enter]

se de datos modificada.
Bas

SQL roup#,members,status,s
L> select gr sequence# fr
rom v$log; [Enter]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 2 INACTIVE 50
2 1 CURRENT 51
4 2 UNUSED 0

Elimina
ando Mie
embros Redo
R Log

Sintaxis

ALTER DATABASE DROP LOGFILLE MEMBER ' esspecificación dee archivo ';

Ejemplo 6

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter
r]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 2 INACTIVE 50
2 1 CURRENT 51
4 2 UNUSED 0

www.perudev.net 12
21
Oracle Database 100g
Addministración
nI

SQL
L> alter sys
stem switch logfile; [Enter
r]

stema modifi
Sis icado.

SQL
L> alter sys
stem switch logfile; [Enter
r]

stema modifi
Sis icado.

SQL
L> alter sys
stem switch logfile; [Enter
r]

stema modifi
Sis icado.

SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter
r]

GROUP# MEMBERS STATUS SEQUEN


NCE#
-------- ---
--- -------- -------------
---- -------
----
1 2 INACTIVE 53
2 1 CURRENT 54
4 2 INACTIVE 52

L> select gr
SQL roup#, member from v$l
logfile
2 order by 1, 2; [Enter
r]

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

L> alter dat


SQL tabase drop logfile me
ember
2 'C:\ORACLLE\PRODUCT\10.2.0\ORAD
DATA\EGCC\RE
EDO01.LOG'; [Enter
r]

se de datos modificada.
Bas

SQL roup#, member from v$l


L> select gr logfile
2 order by 1, 2; [Enter
r]

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

122 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 09
9
Administra
ación de los Redo
R Logs

Consu
ultando Informa
ación so
obre los Redo Lo
og

Las siguientes vistas


s proveen infformación so
obre los redo
o logs.

Vissta Descripción
n

V$
$LOG Muestra info
ormación de
e los grupos redo logs.
V$
$LOGFILE Muestra info
ormación de
e los grupos redo logs y sus
miembros.
V$
$LOG_HISTO
ORY Muestra info
ormación hisstórica 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 tenerr 3 grupos re


edo log: 1, 2,, y 3.

2. Cada grupo
o debe tenerr 2 miembross.

3. El tamaño de
d cada arch
hivo debe se
er de 100 Mb
b.

www.perudev.net 12
23
Oracle Database 100g
Addministración
nI

Página
a en Blanco

124 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
Administración de Tablespaces

Contenido

‰ Esquema de la Base de Datos 126


ƒ Tipos de Segmentos 127
‰ Guía para Administrar Tablespaces 128
ƒ Uso de Múltiples Tablespaces 128
ƒ Asignar Cuotas a los Usuarios en los Tablespace 128
‰ Administración de Tablespaces 129
ƒ Tablespace Administrado Localmente 129
ƒ Tablespace Administrando por el Diccionario 130
‰ Tablespace Administrado Localmente 131
ƒ Sintaxis General 131
ƒ Cláusula EXTENT 133
ƒ Cláusula AUTOEXTEND 136
‰ Tablespaces Temporales 137
ƒ Introducción 137
ƒ Crear un Tablespace Temporal Administrado Localmente 137
‰ Especificando Bloques NO Estándares para Tablespaces 139
‰ Gestionando Tablespaces 140
ƒ Monitoreando el Espacio Libre 140
ƒ Agregando un nuevo archivo 140
ƒ Tablespace ONLINE - OFFLINE 141
ƒ Tablespace READ ONLY – READ WRITE 142
ƒ Eliminando un Tablespace 142
Oracle Database 100g
Addministración
nI

Esque
ema de la
l Base de Dato
os

Una base e de datos físicamente esta


e constitu
uida de conttrol files, log files y data files, los da
ata
files se agrupan en estructuras
e ló
ógicas llamaadas Tablespaces, una b base de datos debe tener
por lo me enos un Tablespace lla amado SYST TEM sin emmbargo se re ecomienda crear mas de d
uno para distribuir otras estructuras lógicas q
que almacen nan datos.

Además de los Table espace el se


ervidor Oraccle se compo one de otrass estructurass lógicas para
gestionarr el almacen
namiento de datos, como o se ilustra a continuació
ón.

Bloque Oracle Un
U bloque Oracle
O tiene un
u tamaño en
e bytes dete
erminado po
or el
parámetro
p DB_BLOCK_
D _SIZE.
Extent Es
E un conjun
nto de bloqu
ues oracle co
ontiguos.
nt
Segmen Se
S compone
e de uno o m
mas Extents.
Tablesp
pace Esta
E compue
esto por uno
o o mas Segment.

126 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Tipos de
d Segme
entos

Un segm mento está definido como c cualqu


uier entidad
d que conssume espaccio físico de
d
almacenaamiento den ntro de la base de daatos. Algunnos de los tipos más comunes ses
describen
n en la siguiente tabla:

Tipo de Segmento Descriipción


Table Almaccenan datos en estructu
uras de filas y columnas.
Index Mejora
an el acceso
o a los datoss de las tabla
as.
Rollbackk Segmento especia al usado parra mantenerr consistenciia en
las leccturas durante las transa
acciones de los usuarioss y
ejecuttar recuperacción de transacción.
Partition Divide
e una tabla e
en piezas má
ás pequeñass, piezas má
ás
manejjables para p
propósitos de
d desempeñño.

Ejemplo 1

En este ejemplo
e conssultamos los
s segmentoss del esquem
ma HR.

SQL
L> column se
egment_name format a20
0 [
[Enter]

SQL
L> column ta
ablespace_name format a20 [
[Enter]

SQL
L> select se
egment_name, segment_t
type, tables
space_name, bytes
2 from dba__segments
3 where ownner='SCOTT'; [
[Enter]

GMENT_NAME
SEG SEGMENNT_TYPE TABLESPAC
CE_NAME BYTES
---
------------
---- -----------------
-- ---------
-----------
-- ---------
--
PK_
_DEPT INDEX USERS 65536
DEP
PT TABLE USERS 65536
EMP
P TABLE USERS 65536
PK_
_EMP INDEX USERS 65536
BON
NUS TABLE USERS 65536
SAL
LGRADE TABLE USERS 65536

6 filas
f selecc
cionadas.

www.perudev.net 12
27
Oracle Database 100g
Addministración
nI

Guía para
p Adm
ministra
ar Tables
spaces

Uso de
e Múltiple
es Tables
spaces

Usando múltiples
m tab
blespaces teenemos mayyor flexibilida
ad en la ejeccución de op
peraciones de
d
base de datos. Po or ejemplo, cuando unna base de datos tiene múltiples tablespace es,
podemoss realizar las
s tareas siguientes:

ƒ Separar loss datos del usuario de los datos de el diccionario


o de datos para
p reducir la
disputa entre los objettos del dicccionario y los
s objetos dee los esqueemas para loos
mismos daatafiles.
ƒ Separe los datos de e una apliccación de otras, para a impedir que
q múltiple
es
aplicacione
es sean afecctadas si un tablespace debe ser puesto en OFF
FLINE.
ƒ Almacenarr 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 línea, con tal
t
que en con
njunto este siempre
s disp
ponible.
ƒ Reservar un
u tablespacce para un pparticular tipo de uso de
e la base de e datos, com
mo
una alta actividad de
d actualiza ación, solo lectura, o como segmento
s d
de
almacenammiento tempo
oral. Esto pe
ermite optimizar el uso d
de los tablesspaces.
ƒ Backup de tablespacess individuale
es.

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

Concedaa a los usu uarios que tendrán prrivilegios pa


ara crear objetos una cuota en el
tablespacce donde ten
ndrá su segm
mento para sus objetos..

128 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Admin
nistració
ón de Ta
ablespac
ces

Tables
space Adm
ministrad
do Localm
mente

Se trata de
d un tablesspace que gestiona
g suss propias exttensiones, u
utiliza un ma
apa de bits en
e
cada arcchivo de dattos para ma
antener un seguimiento o del estadoo libre ó utiilizado de la
as
extension
nes.

Cada vez z que una extensión


e es asignada o se libera para volver a utilizarla, Oracle
O camb
bia
los valore
es del mapaa de bits pa
ara que refle
eje el nuevo
o estado dee las extenssiones. Esto os
cambios no generan información n de rollback ya que no
o actualizan las tablas del
d diccionarrio
de datos..

Los table
espaces adm
ministrados lo
ocalmente p
presentan los
s siguientes beneficios:

ƒ Mejora la concurrenccia y velociidad de op peraciones d de espacio, por que la


asignación y liberació
ón de espaccio modificaa recursos a os localmente
administrado
(mapa de bits
b almacen nados en la ccabecera de
e los archivos).
ƒ Mejora el desempeño,
d por que op
peraciones re ecursivas quue se puedeen producir en
e
los tablespace adminisstrados por e
el diccionario
o de datos sson eliminadas.
ƒ Se permite
en bases de datos de re
eserva leíble
es, porque administramo
a os localmente
tablespace
es temporale
es (por eje
emplo, para ordenamientos) y asíí no genera an
ningún und
do o redo.
ƒ Simplifica la asignació acio, cuando la cláusu
ón de espa ula AUTOAL
LLOCATE ese
especificad
da, el tam maño aproppiado paraa el exten omáticamente
nt es auto
seleccionaddo.
ƒ 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 bloqques de map pa
de bits.
ƒ Unir extentts libres es in
nnecesario p
para los tabllespaces administrados localmente..
Todos loos tablespa
aces, incluido el table
espace SY
YSTEM, pue
eden ser administrado
a os
localmente.

Adicionallmente, el paquete DBMS_SP PACE_ADMIN provee


e procedim
mientos para
tablespacces administtrados localm
mente.

www.perudev.net 12
29
Oracle Database 100g
Addministración
nI

Ejemplo 2

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

SQL ablespace_name, extent


L> select ta t_management
t
2 from dba__tablespaces; [Enter
r]

BLESPACE_NAM
TAB ME EXTE
ENT_MAN
---
------------
----------------- ----
-------
SYS
STEM LOCA
AL
UND
DOTBS1 LOCA
AL
SYS
SAUX LOCA
AL
TEM
MP LOCA
AL
USE
ERS LOCA
AL
EXA
AMPLE LOCA
AL

6 filas
f selecc
cionadas.

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

Tables
space Adm
ministran
ndo por e
el Diccion
nario

Cuando iniciamos Oracle


O 10g, la opción por defecto para
p la admministración de los exte
ent
cuando creamos
c unn tablespace es Admin nistrado Localmente. Sin embargo, podemo os
especificaar explícitamente cuan ndo queremmos crear unu tablespa ace adminisstrado por el
diccionarrio, Oracle actualiza
a las ario cuando un extent es
s tablas aprropiadas en el dicciona e
asignadoo o liberado para
p rehusarlo.

130 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Tables
space Administ
A trado Lo
ocalmen
nte

Sintaxiis Genera
al

EATE TABLESPA
CRE ACE nombre
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 [Enter
r]
Con
nectado.

SQL ablespace ts_demo


L> create ta
2 datafile 'C:\oracle\product\10
0.2.0\oradat
ta\egcc\ts_
_demo.dbf'
3 size 5 M;; [Enterr]

blespace cre
Tab eado.

En este ejemplo
e se esta
e creando
o el tablespa
ace ts_demo
o con parám
metros por de
efecto:

ƒ Estado ReadWrite
ƒ Tipo Perm
manente
ƒ Gestión de
e Extensione
es Loca
al
ƒ Tipo de Asignación Auto
omático
ƒ Gestión de
e Espacio de
e Segmento Auto
omático
ƒ Ampliar automáticamente Deshabilitado

www.perudev.net 13
31
Oracle Database 100g
Addministración
nI

Ejemplo 4

Objetos generales
g pa
ara los ejemplos de esta
a lección.

SQL
L> create se
equence sq_
_table; [Ent
ter]
Sec
cuencia crea
ada.

SQL
L> create orr replace procedure sp
p_fill_table
e
2 ( tabla varchar2,
v n number )
3 as
4 cmd var
rchar2(500);
5 s varch
har2(200) := 'Oracle i
is PowerFull
l';
6 begin
7 cmd := 'insert into ' || tab
bla
8 || ' values(sq_table.nex
xtval,''' ||
| s || ''')';
9 for k in
i 1..n loop
10
0 execu
ute immediate ( cmd );
;
11
1 commi
it;
12
2 end loo
op;
13
3 end;
14
4 / 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 ) tablesppace ts_dem
mo; [
[Enter]

bla creada.
Tab

SQL fill_table( 'tb_demo',


L> call sp_f , 62300 ); [
[Enter]
Lla
amada termin
nada.

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_DE
EMO'; [
[Enter]

GMENT_NAME
SEG SEGMENT_TYPE EXTEN
NT_ID B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_DEMO TABLE 0 8 65536
TB_
_DEMO TABLE 1 8 65536
. . .
. . .
_DEMO
TB_ TABLE 14 8 65536
TB_
_DEMO TABLE 15 8 65536
TB_
_DEMO TABLE 16 128 048576
10
TB_
_DEMO TABLE 17 128 10
048576
PK_
_TB_DEMO INDEX 0 8 65536
PK_
_TB_DEMO INDEX 1 8 65536
. . .
. . .
_TB_DEMO
PK_ INDEX 14 8 65536
PK_
_TB_DEMO INDEX 15 8 65536

ccionadas.
34 filas selec

132 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Cláusu
ula EXTEN
NT

Sintaxis

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

Para creear un table


espace adm
ministrado lo
ocalmente, debemos eespecificar LOCAL
L en la
cláusula EXTENT MA ANAGEMEN NT de la insttrucción CRE
EATE TABLESPACE.

Tenemoss dos opcion


nes, podemo
os hacer que
e Oracle ma aneje los extent automátticamente coon
la opción
n AUTOALLOOCATE (opcción por deffecto), o pod
demos espe ecificar que el tablespacce
sea man nejado con extent uniformes de un tamaño específicco mediante e la cláusu ula
UNIFORM M SIZE.

Ejemplo 6

SQL
L> create ta
ablespace ts_a
2 datafile 'C:\oracle\product\100.2.0\oradat
ta\egcc\ts_
_a.dbf' size
e 5 M
4 extent maanagement local autoal
llocate; [Ent
ter]

blespace cre
Tab eado.

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 ) tablesppace ts_a; [Ent
ter]

bla creada.
Tab

SQL
L> call sp_f
fill_table( 'tb_a', 62
2300 ); [Ent
ter]

amada termin
Lla nada.

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_A'
'; ter]
[Ent

GMENT_NAME
SEG SEGMENT_TYPE NT_ID
EXTEN B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_A TABLE 0 8 65536
TB_
_A TABLE 1 8 65536
. . .
. . .
_A
TB_ TABLE 14 8 65536
TB_
_A TABLE 15 8 65536
TB_
_A TABLE 16 128 048576
10
TB_
_A TABLE 17 128 10
048576
PK_
_TB_A INDEX 0 8 65536
PK_
_TB_A INDEX 1 8 65536
. . .
. . .
_TB_A
PK_ INDEX 14 8 65536
PK_
_TB_A INDEX 15 8 65536

ccionadas.
34 filas selec

www.perudev.net 13
33
Oracle Database 100g
Addministración
nI

El resulta
ado que se obtiene
o es siimilar al del Ejemplo 4.

Ejemplo 7

SQL
L> create ta
ablespace ts_b
2 datafile 'C:\oracle\product\100.2.0\oradat
ta\egcc\ts_
_b.dbf' size
e 5 M
3 extent maanagement local unifor
rm; [Ent
ter]

blespace cre
Tab eado.

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 ) tablesppace ts_b; [Ent
ter]

bla creada.
Tab

SQL
L> call sp_f
fill_table( 'tb_b', 62
2300 ); [Ent
ter]

amada termin
Lla nada.

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_B'
'; ter]
[Ent

GMENT_NAME
SEG SEGMENT_TYPE EXTEN
NT_ID B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_B TABLE 0 128 10
048576
TB_
_B TABLE 1 128 10
048576
TB_
_B TABLE 2 128 10
048576
PK_
_TB_B INDEX 0 128 10
048576

En este ejemplo se ha especificcado que ell tamaño de el extent es uniforme, pero


p no se ha
h
indicado el tamaño, entonces
e asume el valorr por defecto
o, este es de
e 1 MB.

134 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Ejemplo 8

SQL
L> create ta
ablespace ts_c
2 datafile 'C:\oracle\product\100.2.0\oradat
ta\egcc\ts_
_c.dbf' size
e 2M
3 extent maanagement local unifor
rm size 127 K; [Ent
ter]

blespace cre
Tab eado.

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 ) tablesppace ts_c; [Ent
ter]

bla creada.
Tab

SQL
L> call sp_f
fill_table( 'tb_c', 10
0000 ); [Ent
ter]

amada termin
Lla nada.

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_C'
'; ter]
[Ent

GMENT_NAME
SEG SEGMENT_TYPE EXTEN
NT_ID B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_C TABLE 0 16 1
131072
TB_
_C TABLE 1 16 1
131072
TB_
_C TABLE 2 16 1
131072
PK_
_TB_C INDEX 0 16 1
131072
PK_
_TB_C INDEX 1 16 1
131072

En este caso,
c especiificamos quee el extent te
enga un tam
maño de 1277K, pero no es
e posible por
que tienee que ser un múltiplo de 8K, debido a que el paarámetro DB__BLOCK_SIZE es de 8K,
nto es redondeado a 128
por lo tan 8K, que es loo mismo a 16 bloques.

SQL
L> show para
ameter db_block_size [Ent
ter]

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

www.perudev.net 13
35
Oracle Database 100g
Addministración
nI

Cláusu
ula AUTO
OEXTEND
D

Sintaxis

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

Donde:

OF
FF Deshabilita
a el crecimie
ento automá
ático del table
espace.

ON
N Habilita el crecimiento
o automático del tablespa
ace.

NE
EXT Se utiliza para
p especifficar el siguie
ente incremeento del tam
maño en
disco cuan ndo mas exte ent son requueridos.
El valor predeterminaddo es el tamaño de un b bloque.

MA
AXSIZE Esta cláussula se utiliza
a para especcificar el má
áximo espaciio permitido
para expan ndir automáticamente el archivo de datos.

UN
NLIMITED Esta cláussula indica que no existe
e límite para el crecimien
nto del
archivo de
e datos.

Ejemplo 9

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

blespace cre
Tab eado.

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 ) tablesppace ts_d; [Enter]

bla creada.
Tab

SQL
L> call sp_f
fill_table( 'tb_d', 20
0000 ); [Enter]

amada termin
Lla nada.

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_D'
'; [Enter]

GMENT_NAME
SEG SEGMENT_TYPE NT_ID
EXTEN B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_D TABLE 0 32 2
262144
TB_
_D TABLE 1 32 2
262144
TB_
_D TABLE 2 32 2
262144
PK_
_TB_D INDEX 0 32 2
262144
PK_
_TB_D INDEX 1 32 2
262144

136 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Tables
spaces Temporrales

Introdu
ucción

Para mejjorar la conccurrencia de


e múltiples operaciones de ordenam
miento, reduc
cir su costo, o
evitar qu
ue la Base de Datos Oracle
O administre opera
aciones de espacio, deebemos crear
tablespacces temporrales. Un ta ablespace ttemporal pu uede ser ccompartido por múltiple es
usuarios..

Dentro de
d un table espace temp aciones de ordenamien
poral, todass las opera nto para un na
instancia dada y el ta
ablespace comparten
c un solo segm
mento de orddenamiento. El segmento
de orden namiento ex xiste para cada
c ecuta operaciones de ordenamiento
instancia que eje
dentro de un tables space deterrminado. El segmento de ordenam miento es creado
c por la
primera instrucción que
q use el ta ablespace teemporal paraa ordenamie és de iniciar la
ento, despué
base de datos, y es s liberado solo
s cuando n puede ser
o se baja la instancia. Un extent no
compartiddo por múltip
ples transaccciones.

Podemoss consultar la asignacción y liberaación de esspacio denttro de un segmento


s d
de
ordenamiento en unn tablespacee temporal usando la vista
v V$SORT_SEGME ENT. La vissta
V$TEMPSEG_USAG GE identifica los usuarioss actuales en
e esos segm
mentos.

No es po
osible crear objetos
o explíícitamente en
e un tablesp
pace temporral.

Ejemplo 10

En este ejemplo
e conssultamos el nombre del tablespace temporal.

SQL
L> select TA
ABLESPACE_NAME from v$
$sort_segmen
nt; [
[Enter]

BLESPACE_NAM
TAB ME
---
------------
------------------
TEM
MP

Crear un
u Tables
space Temporal Administr
A rado Loca
almente

Debido a que el man nejo del espaacio es muccho más sim


mple y más e
eficiente en un
u tablespacce
administrrado localme
ente, ellos son
s los máss apropiados para table
espaces tem mporales. Loos
tablespacces temporaales adminisstrados localmente usann tempfiles,, los cuales no modifica
an
data fuera del tableespace tem mporal o ge eneran ning
gún redo pa ara data de el tablespacce
temporal.

Para con
nsultar información sobbre los temppfiles podem
mos usar la $TEMPFILE y
as vistas V$
DBA_TEMP_FILES análogo
a a la
as vistas V$D
DATAFILE y DBA_DATA A_FILES.

Para cre
ear un tablespace tempporal debem mos usar la instrucción CREATE TEMPORAR
T RY
TABLESP PACE, y neccesitamos el privilegio d
del sistema CREATE
C TA
ABLESPACE
E.

www.perudev.net 13
37
Oracle Database 100g
Addministración
nI

Sintaxis

EATE TEMPORA
CRE ARY TABLESPA
ACE nombre
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> create te
emporary tablespace te
emp_a
2 tempfile 'C:\oracle\product\10
0.2.0\oradatta\egcc\TEMMP_A.DBF'
3 size 5 M reuse
4 extent ma
anagement local unifor
rm size 1M; [Entter]

blespace cre
Tab eado.

Para opttimizar el desempeño


d de las op
peraciones de
d ordenam
miento en e el tablespacce
temporal, el valor especificado
o en UNIFORM SIZE E debe ser múltiplo del parámetro
SORT_AAREA_SIZE.

138 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Espec
cificando
o Bloques
NO Es
stándarees para Tablesp
T paces

Podemoss crear table


espaces conn tamaños dde bloques diferentes
d all estándar definido
d por el
parámetrro DB_BLO OCK_SIZE. Esta caractterística pe ermite transsportar tablespaces co on
tamaños de bloques diferentes entre
e bases d
de datos.

La cláusula BLOCKS SIZE en la instrucción CREATE TABLESPAC


T CE permite especificar el
tamaño del
d bloque diferente al ta
amaño del bloque estándar. Sin em
mbargo, el bu
uffer cache en
e
el SGA debe ser con
nfigurado parra tamaños de bloques no estándarr.

Ejemplo 12

SQL
L> alter sys
stem set db_2k_cache_s
size = 8M sc
cope = spfi
ile; [Ent
ter]

stema modifi
Sis icado.

SQL
L> show para
ameter db_2k_cache_siz
ze [Ent
ter]

ME
NAM TYPE VALUE
---
------------
----------------------
-- ---------
--- -------
------
db_
_2k_cache_si
ize big integ
ger 8M

SQL
L> ablespace ts_e
create ta
2 datafile 'C:\oracle\product\10
0.2.0\oradat
ta\egcc\ts_
_e.dbf' size
e 2M
3 extent ma
anagement local unifor
rm size 128K
K
4 blocksize
e 2K; [Ent
ter]

blespace cre
Tab eado.

SQL
L> create ta
able tb_e(
2 id num
mber primary key,
3 valor varchar2(200)
4 ) tablesppace ts_e; [Ent
ter]

bla creada.
Tab

SQL
L> select se
egment_name, segment_t
type, extent
t_id, block
ks, bytes
2 from dba__extents
3 where tabblespace_name = 'TS_E'
'; ter]
[Ent

GMENT_NAME
SEG SEGMENT_TYPE EXTEN
NT_ID B
BLOCKS BYTES
---
------------
------- --------------
----- ------
----- -----
------ -----
------
TB_
_E TABLE 0 64 1
131072
SYS
S_C005523 INDEX 0 64 1
131072

www.perudev.net 13
39
Oracle Database 100g
Addministración
nI

Gestio
onando Tablesp
paces

Monito
oreando el
e Espacio
o Libre

Para mon
nitorear el esspacio libre de un tablesspace tenem
mos las vista
as:

ƒ dba_free_s
space

ƒ dba_free_s
space_coalesced

Ejemplo 13

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

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

Agrega
ando un nuevo
n arc
chivo

Ejemplo 14

SQL
L> alter tab
blespace ts_d
2 add dataffile 'C:\oracle\produc
ct\10.2.0\or
radata\egcc
c\ts_d2.dbf'
'
3 size 1M; [Ent
ter]

blespace mod
Tab dificado.

SQL
L> select ts
s#, name from v$tables
space where name = 'TS
S_D'; [Ent
ter]

TS# NAM
ME
-------- ---
--- ----------------------
-------
12 TS_
_D

L> select ts
SQL s#, name, block_size, status
2 from v$daatafile where ts# = 12
2; [Ent
ter]

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

140 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 10
0
Administra
ación de Tabllespaces

Tables
space ONLINE - OF
FFLINE

Ejemplo 15

SQL
L> select co
ount(*) from tb_b; [Enter
r]

C
COUNT(*)
---
--------
62300

SQL
L> alter tab
blespace ts_b offline;
; [Enter
r]

blespace mod
Tab dificado.

SQL
L> select co
ount(*) from tb_b; [Enter
r]
sel
lect count(*
*) from tb_
_b
*
ROR en línea
ERR a 1:
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; [Enter
r]

blespace mod
Tab dificado.

SQL
L> select co
ount(*) from tb_b; [Enter
r]

C
COUNT(*)
---
--------
62300

www.perudev.net 14
41
Oracle Database 100g
Addministración
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' ); [Ent
ter]

1 fila
f creada.
.

SQL
L> select * from tb_e; [Ent
ter]

ID VAL
LOR
-------- ---
--- ----------------------
-------
500 www
w.perudev.com

SQL
L> alter ablespace ts_e read on
ta nly; [Ent
ter]

blespace mod
Tab dificado.

SQL
L> insert innto tb_e values ( 501,
, 'Oracle is
s Powerful' ); [Ent
ter]
ins
sert into tbb_e values ( 501, 'Ora
acle is Powe
erful' )
*
ROR en línea
ERR a 1:
ORA
A-00372: el archivo 12 no se puedde modificar
r en este m
momento
ORA
A-01110: arcchivo de datos 12:
'C:\ORACLE\PROODUCT\10.2.0\ORADATA\E
EGCC\TS_E.DB
BF'

SQL
L> select * from tb_e; ter]
[Ent

ID VAL
LOR
-------- ---
--- ----------------------
-------
500 www
w.perudev.com

Elimina
ando un Tablespa
T ace

SQL ame from v$tablespace where name = 'TS_B';


L> select na [Ent
ter]

ME
NAM
---
------------
-----------------
TS_
_B

SQL
L> drop tabl
lespace ts_
_b including
g contents and
a datafil
les; [Ent
ter]

blespace bor
Tab rrado.

SQL
L> select na
ame from v$tablespace where name = 'TS_B'; [Ent
ter]

nguna fila seleccionad


nin s da

142 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Contenido

‰ Administración de Usuarios 144


ƒ Guía para Crear Usuarios 144
ƒ Creación de un Nuevo Usuario 145
ƒ Modificando Usuarios 147
ƒ Eliminando Usuarios 148
ƒ Administración de Recursos con Perfiles 149
‰ Habilitar y Deshabilitar los Limites de Recursos 149
ƒ Creación de Perfiles 151
ƒ Modificando Perfiles 155
ƒ Eliminar Perfiles 155
ƒ Contraseñas Complejas 156
‰ Verificar Información sobre Usuarios y Perfiles 160
ƒ Usuarios y su Información Asociada 160
ƒ Tablaspaces y Quotas 160
ƒ Perfiles y Limites asignados 161
Oracle Database 100g
Addministración
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 usuarioo necesita una aplicacción y cone
ectarse a unna
instancia de la base de datos usando
u un nnombre de usuario
u valid
do definido en
e la base de
d
datos.

La segurridad del servidor y la administraci


a ón de los usuarios
u de la base de datos Oraccle
están 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, perrmitiendo a los usuarioss realizar so olo
las opera
aciones paraa las cuales han sido creeados.

Guía para Crearr Usuario


os

Para crea
ar un usuario
o debemos tener
t en cue
enta:

1. Identificar corre
ectamente lo
os tablespacces que utilizará el usu
uario para allmacenas su
us
obje
etos en la baase de datoss.

2. Asignar cuotass de espacio a los usuarios en los Ta


ablespaces disponibles.

3. Asignar un tabllespace por defecto y un


n tablespace
e temporal.

4. Asignar los priv


vilegios y rolles pertinenttes.

144 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Creació
ón de un Nuevo Usuario
U

Sintaxis

Ejemplo 1

Para creaar un usuarrio necesitam


mos tener privilegio
p CR ER. Primero crearemos el
REATE USE
tablespacce para los datos.
d

SQL
L> create ta
ablespace ts_alm
2 datafile 'E:\oracle\oradata\db
begcc\ts_alm
m.ora' size
e 1M
3 autoexten
nd on next 512K maxsiz
ze 5M
4 extent ma
anagement local unifor
rm size 128K
K; ter]
[Ent

blespace cre
Tab eated.

Debemoss crear un ta
ablespace te
emporal.

SQL
L> create te
emporary tablespace ts
s_alm_temp
2 tempfile 'E:\oracle\oradata\dbbegcc\ts_alm
m_temp.ora' size 1M
3 extent maanagement local unifor
rm size 128K
K; ter]
[Ent

blespace cre
Tab eated.

www.perudev.net 14
45
Oracle Database 100g
Addministración
nI

Ahora pro
ocedemos a crear el usu
uario.

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

er created.
Use

Para que e el usuario pueda iniciar sesión y operar obje


etos de la base de dato
os debe tener
privilegios, por ejemp
plo, el privile
egio CREATE
E SESSIONN permite cre
ear sesiones
s.

SQL
L> grant cre
eate session to angeli
ica; [Ent
ter]
Gra
ant succeede
ed.

SQL
L> conn ange
elica/suerte [Ent
ter]
Con
nnected.

146 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Modific
cando Us
suarios

Sintaxis

Ejemplo 2

Cambiar la contraseñ
ña de angelica, debe ser luck.

SQL
L> alter use
er angelica
2 identifieed by luck; [
[Enter]

er altered.
Use

SQL
L> conn ange
elica/luck [
[Enter]
Con
nnected.

Su cuota en el tablesspace ts_alm


m debe ser illimitado.

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

www.perudev.net 14
47
Oracle Database 100g
Addministración
nI

Elimina
ando Usu
uarios

Sintaxis

Ejemplo 3

SQL
L> conn / as
s sysdba [Enter]
Con
nnected.

SQL eate table to angelica


L> grant cre a; [Enter]
Gra
ant succeede
ed.

SQL
L> conn ange
elica/luck [Enter]
Con
nnected.

SQL
L> create ta
able test(
2 mber primary key,
id num
3 valor varchar2(30)
4 ); [Enter]

ble created.
Tab .

SQL
L> insert in
nto test values(1,'Ang
gelica es Be
eautiful'); [Enter]

1 row
r created.
.

SQL
L> commit; [Enter]

mmit complet
Com te.

SQL
L> conn / as
s sysdba [Enter]
Con
nnected.

SQL able_name, owner


L> select ta
2 from dba__tables
3 where tabblespace_name = 'TS_AL
LM'; [Enter]

BLE_NAME
TAB OWNE
ER
---
------------
----------------- ----
------------
-----------
------
TES
ST ANGE
ELICA

SQL
L> drop user
r angelica; [Enter]
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; [Enter]

er dropped.
Use

148 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 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 límites de rrecursos. El perfil de un u


usuario liimita el uso de recursos s de la base de datos y la instancia definidos en n el perfil. Se
S
pude asig gnar un perffil a cada ussuario; y un perfil por de
efecto para ttodos los usuarios que non
n perfil especcifico. Para que los perffiles tengan efecto, los límites de re
tienen un ecursos debe en
estar hab
bilitados paraa la base dee 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 reecursos se e pueden habilitar o deshabiliitar con el e parámetro


RESOUR RCE_LIMIT en
e el archivo
o de paráme alores que puede tomar son:
etros. Los va

TR
RUE Ha
abilita la apliccación de lím
mites de recursos definid
dos en un pe
erfil.
FA
ALSE Va
alor por defeccto. Deshab ación de límites de recursos
bilita la aplica
deffinidos en un
n perfil.

Cuando
o la Base de Datos es
sta Inicializzada

Si no ess posible ce
errar la basee de datos temporalme mos utilizar la instrucció
ente, debem ón
ALTER SYSTEM
S parra modificar el parámetrro RESOURC
CE_LIMIT.

Sintaxis

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

www.perudev.net 14
49
Oracle Database 100g
Addministración
nI

Ejemplo 4

SQL
L> conn / as
s sysdba [Enter
r]
Con
nnected.

SQL
L> create pr
rofile pf_d
demo limit
2 sessions__per_user 2; [Enter
r]

ofile create
Pro ed.

SQL
L> create us
ser egcc
2 identifieed by egcc
3 profile pf_demo;
p [Enter
r]

er created.
Use

SQL
L> grant con
nnect to egcc; [Enter
r]

ant succeede
Gra ed.

Ahora prrocedamos a cargar trees instanciass de SQLPlusW, iniciem


mos dos sessiones con el
usuario egcc,
e no ten
ndremos nin
ngún problemma. Luego en
e la tercera
a instancia de
d SQLPlusWW
tratemos de iniciar una nueva sesión con n el usuario s muestra a
o egcc, el resultado se
continuacción:

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


War a no longer connecte
ed to ORACLE
E.

150 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Creació
ón de Perfiles

Sintaxis

resourc
ce_parametters

Sintaxis

ESSIONS_PER_USER
SE Número dee sesiones cconcurrentes
s por
usuario.
CP
PU_PER_SE
ESSION Tiempo lim
mite de CPUU por sesión, expresado
en centésiimas de seg
gundo.
CP
PU_PER_CA
ALL Tiempo lim
mite de CPUU por llamada
a, expresado
o
en centésiimos de seg
gundo.
CO
ONNECT_TIIME Tiempo lim
mite por sesiión, expresa
ado en
minutos.

www.perudev.net 15
51
Oracle Database 100g
Addministración
nI

IDL
LE_TIME Tiempo limmite continuo
o de periodo
os de
inactividad
d, expresadoo en minutos
s.
LO
OGICAL_RE
EADS_PER_
_SESSION Número peermitido de bloques de datos
d leídoss
en una ses
sión.
LO
OGICAL_RE
EADS_PER_
_CALL Número peermitido de bloques leíd
dos por
llamada pa
ara procesar una instruc
cción.
PR
RIVATE_SGA Cantidad de
d espacio p privado que una sesión
puede desstinar 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
megabytess.
CO
OMPOSITE_
_LIMIT Especifica
a el costo tottal de recurssos para una
a
sesión, exxpresado en service uniits.

Ejemplo 5

SQL
L> conn / as
s sysdba [Enter
r]
Con
nnected.

SQL rofile pf_cpu limit


L> create pr
2 cpu_per_ssession 1; [Enter
r]

ofile create
Pro ed.

SQL
L> alter use
er egcc
2 profile pf_cpu;
p [Enter
r]

er altered.
Use

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

Después 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 Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

passwo
ord_parame
eters

Sintaxis

AILED_LOGIN_ATTEMP
FA PTS Número dee intentos fallidos antes de
d que la
cuenta del usuario sea bloqueada.
PA
ASSWORD_
_LIFE_TIME Especifiquee el número de días que
e la misma
contraseña a puede usarrse. La conttraseña
expira si no
o se cambia dentro de este
e período..
PA
ASSWORD_
_REUSE_TIM
ME Especifique
e el número de días que e deben
pasar para utilizar la m
misma clave.
PA
ASSWORD_
_REUSE_MA
AX Número dee cambios ne
ecesarios pa
ara utilizar la
a
misma clav
ve.
PA
ASSWORD_
_LOCK_TIME Número de e días que un
na cuenta de
e usuario
estará bloq
queada.
PA
ASSWORD_
_GRACE_TIME Número de e días que un
n usuario pu
uede trabajar
con la base
e de datos con la clave expirada.
e
PA
ASSWORD_
_VERIFY_FU
UNCTION Permite rea
alizar una ve
erificación so
ofisticada de
el
acceso a la
a base de daatos.

www.perudev.net 15
53
Oracle Database 100g
Addministración
nI

Ejemplo 6

SQL
L> conn / as
s sysdba; [Enter
r]
Con
nnected.

SQL rofile pf_pass limit


L> create pr
2 failed_loogin_attempts 3
3 password__lock_time 3/1440; [Enter
r]

ofile create
Pro ed.

SQL
L> alter use
er egcc
2 profile pf_pass;
p [Enter
r]

er altered.
Use

Ahora inttente iniciar una sesión con


c el usuarrio egcc, pe
ero con una ccontraseña inválida, en el
cuarto inttento la cuen
nta será bloq
queada.

SQL
L> conn egcc
c/1234 [Enter
r]
ERR
ROR:
ORA valid username/passwor
A-01017: inv 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 [Enter
r]
ERR
ROR:
ORA e account is locked
A-28000: the

Después de 3 minuto
os intente co
onectarse nu
uevamente pero
p con la ccontraseña correcta.
c

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

154 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Modific
cando Pe
erfiles

Sintaxis

Ejemplo 7

emos el perrfil pf_pass de tal mane


Modifique era que el número
n de iintentos parra bloquear la
clave sea
a 2.

SQL
L> conn / as
s sysdba; [Enter]
Con
nnected.

SQL ofile pf_pass limit


L> alter pro
2 failed_loogin_attempts 2; [Enter]

ofile altere
Pro ed.

Ahora pu
uede probar el funcionam
miento del pe
erfil.

Elimina
ar Perfile
es

Sintaxis

www.perudev.net 15
55
Oracle Database 100g
Addministración
nI

Ejemplo 8

SQL
L> conn / as
s sysdba; [Enter
r]
Con
nnected.

SQL sername, profile


L> select us
2 from dba__users
3 where useername = 'EGCC'; [Enter
r]

ERNAME
USE FILE
PROF
---
------------
----------------- ----
------------
------
EGC
CC PF_P
PASS

SQL
L> drop prof
file pf_pass cascade; [Enter
r]

ofile droppe
Pro ed.

SQL
L> select us
sername, profile, acco
ount_status
2 from dba__users
3 where useername = 'EGCC'; [Enter
r]

ERNAME
USE PROF
FILE
---
------------
----------------- ----
------------
------
EGC
CC DEFA
AULT

Contra
aseñas Co
omplejas
s

Podemoss utilizar con


ntraseñas co
omplejas que
e pueden se
er verificadass por una función cread
da
en PL/SQ
QL.

Esta funcción debe tener el siguie


ente formato:

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

Oracle provee una funcción (UTL


LPWDMG.SQ QL) que se encuentra e
en
%ORACL LE_HOME%%/RDBMS\AADMIN, esta función esta
ablece los siguiente parametros:

ƒ La contrase
eña debe ten
ner una long
gitud mínima
a de 4 caractteres.

ƒ La contrase
eña no debe
e ser igual a nombre de usuario.
u

ƒ La contraseña debe tener


t por lo na letra, un número, y un signo de
o menos un d
puntuación.

ƒ La contrase e ser simple o una palabra obvia.


eña no debe

ƒ La contrase aseña anterior en por lo menos tre


eña debe ser diferente a la contra es
caracteres.

156 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Ejemplo 9

unción conte
Proceda a crear la fu enida en el archivo UTLP
PWDMG.SQ
QL.

> conn / as sysdba


SQL> s [Enter]
Conn
nected.

SQL>> CREATE OR REPLACE


R FUNCTION verify_
_function
2 (username varchar2,
v
3 password varchar2,
4 old_passwword varchar2)
5 RETURN booolean IS
6 n booleaan;
7 m integeer;
8 differ integer;
i
9 isdigit boolean;
10 ischar boolean;
11 ispunct boolean;
12 digitarrray varchar2(20);
13 punctarrray varchar2(25);
14 chararraay varchar2(52);
15 BEGIN
16 digitarrray:= '0123456789';
17 chararraay:= 'abcdefghijklmnopqrrstuvwxyzABCD
DEFGHIJKLMNOPPQRSTUVWXYZ';;
18 punctarrray:='!"#$%&()``*+,-/:;<<=>?_';
19
20 -- Checkk if the password is samme as the use
ername
21 IF NLS_LLOWER(password) = NLS_LOOWER(username
e) THEN
22 raise__application_error(-20001, 'Passwordd same as or similar to user');
u
23 END IF;
24
25 -- Checkk for the minimum lengthh of the pass
sword
26 IF lengtth(password) < 4 THEN
27 raisee_application_error(-20002, 'Passworrd length lesss than 4');
28 END IF;
29
30 -- Checkk if the password is tooo simple. A dictionary
d of
f words may be
b
31 -- mainttained and a check may bbe made so as
s not to alloow the words
32 -- that are too sim mple for the password.
33 IF NLS_LLOWER(password) IN ('welcome', 'dataabase', 'accoount', 'user',
'
'password', '
'oracle', 'co
omputer', 'ab
bcd') THEN
34 raisee_application_error(-20002, 'Passworrd too simplee');
35 END IF;
36
37 -- Checkk if the password contains at least one letter, one digit an nd one
38 -- puncttuation mark.
39 -- 1. Chheck for the digit
40 isdigit::=FALSE;
41 m := lenngth(password);
42 FOR i INN 1..10 LOOP
43 FOR j IN 1..m LOOP
44 IFF substr(password,j,1) = substr(digiitarray,i,1) THEN
45 isdigit:=TRUE;
46 GOTO findchar;
47 ENND IF;
48 END LOOP;
L
49 END LOOPP;
50 IF isdiggit = FALSE THEN
51 raisee_application_error(-20003, 'Passworrd should conntain at leasst one
d
digit, one ch
haracter and one punctuat
tion');
52 END IF;
53 -- 2. Chheck for the character
54 <<findchhar>>
55 ischar:==FALSE;
56 FOR i INN 1..length(chararray) LLOOP
57 FOR j IN 1..m LOOP
58 IFF substr(password,j,1) = substr(charrarray,i,1) THEN
T
59 RUE;
ischar:=TR
60 GOTO findpunct;
61 ENND IF;
62 END LOOP;
L
63 END LOOPP;

www.perudev.net 15
57
Oracle Database 100g
Addministración
nI

64 IF ischaar = FALSE THEN


65 raisee_application_error(-20003, 'Passworrd should conntain at leas
st one \
66 r and one pun
digit, one character nctuation');
67 END IF;
68 -- 3. Chheck for the punctuationn
69 <<findpuunct>>
70 ispunct::=FALSE;
71 FOR i INN 1..length(punctarray) LOOP
72 FOR j IN 1..m LOOP
73 IFF substr(password,j,1) = substr(puncctarray,i,1) THEN
74 ispunct:=TRUE;
75 GOTO endsearch;
76 ENND IF;
77 END LOOP;
L
78 END LOOPP;
79 IF ispunnct = FALSE THEN
80 raisee_application_error(-20003, 'Passworrd should conntain at leas
st one \
81 r and one pun
digit, one character nctuation');
82 END IF;
83
84 arch>>
<<endsea
85 -- Check
k if the password differ
rs from the previous
p pass
sword by at least
l
86 -- 3 let
tters
87 IF old_p
password IS NOT NULL THE
EN
88 differ
r := length(old_password
d) - length(p
password);
89
90 s(differ) < 3 THEN
IF abs
91 IF length(passw
l th(old_passwo
ord) < lengt ord) THEN
92 m := length(password);
93 E
ELSE
94 m := length(old_password);
95 END IF;
96
97 fer := abs(differ);
diff
98 FOR i IN 1..m LOOP
99 F substr(password,i,1) != substr(old
IF d_password,i,1) THEN
100 differ := differ + 1;
101 ND IF;
EN
102 END LOOP;
103
104 IF ddiffer < 3 THEN
105 raaise_application_error(-20004, 'Pass
sword should differ by at
t \
106 leeast 3 characters');
107 END IF;
108 END IFF;
109 END IF;
110 -- Everyything is fine; return T
TRUE ;
111 RETURN(TTRUE);
112 END;
113 / [
[Enter]

ction created
Func d.

Ahora cre
earemos un perfil utilizando la funció
ón.

SQL
L> create pr
rofile pf_func limit
2 password__verify_function verif
fy_function;
; [Enter
r]

ofile create
Pro ed.

158 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Ahora inttentemos cre


ear un nuevo
o usuario, cu
uya contrase
eña sea igua
al al nombre
e de usuario..

SQL
L> create us
ser operador
2 identifieed 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 usuarrio con contrraseña simple.

SQL
L> create us
ser operador
2 identifieed 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 usuarrio que cump


pla con las reglas.
r

SQL
L> create us
ser operador
2 identifieed by audaz#97
3 profile pf_func;
p [Enter]

er created.
Use

www.perudev.net 15
59
Oracle Database 100g
Addministración
nI

Verific
car Inforrmación
n sobre Usuario
U s y Perffiles

Usuarios y su In
nformación Asociiada

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; [Ent
ter]

USEERNAME PROFILE AC
CCOUNT_STAT
TUS
---------------
--------- ------------
--------- --
-----------
------------
-------
SYSS DEFAULT OP
PEN
SYSSTEM DEFAULT OP
PEN
DBSSNMP DEFAULT OP
PEN
GCOORONEL DEFAULT OP
PEN
EGCCC DEFAULT LO
OCKED(TIMED
D)
WMSSYS DEFAULT EX
XPIRED & LO
OCKED
ORDDPLUGINS DEFAULT EX
XPIRED & LO
OCKED
CTXXSYS DEFAULT EX
XPIRED & LO
OCKED
ANOONYMOUS DEFAULT EX
XPIRED & LO
OCKED
PM DEFAULT EX
XPIRED & LO
OCKED
OE DEFAULT 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 5000K on ts_alm; [Enter]

er altered.
Use

SQL
L> select * from dba_ts_quotas; [Enter]

BLESPACE_NAM
TAB ME USERNAME BYTE
ES MAX_BYTEES BLOCKS
S MAX_BLOCKKS
---
------------
-- ------------- -----
-- ---------
-- --------
- ----------
--
TS_
_ALM EGCC 0 51609
96 0 6
63

160 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 11
Usuarios y Recursos

Perfiles
s y Limite
es asigna
ados

En este caso
c la vista que debem
mos utilizar ess: DBA_PRO
OFILES.

SQL
L> select * from dba_profiles ord
der by 1; [Enter
r]

OFILE
PRO RESOURCE_NAME RESOURCE LIMIT
---
------------
-- -------------------------------
- -------- -----------
----
DEF
FAULT COMPOSITE_LIMIT KERNEL UNLIMITED
DEF
FAULT FAILED_LOGIN_ATTEMPPTS PASSWORD UNLIMITED
DEF
FAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
DEF
FAULT PASSWORD_REUSE_TIMEE PASSWORD UNLIMITED
DEF
FAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEF
FAULT PASSWORD_VERIFY_FUNNCTION PASSWORD NULL
DEF
FAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEF
FAULT PASSWORD_GRACE_TIMEE PASSWORD UNLIMITED
DEF
FAULT _SGA
PRIVATE_ KERNEL UNLIMITED
DEF
FAULT CONNECT_
_TIME KERNEL UNLIMITED
DEF
FAULT IDLE_TIM
ME KERNEL UNLIMITED
DEF
FAULT LOGICAL_
_READS_PER_CCALL KERNEL UNLIMITED
DEF
FAULT LOGICAL_
_READS_PER_SSESSION KERNEL UNLIMITED
DEF
FAULT CPU_PER_
_CALL KERNEL UNLIMITED
DEF
FAULT CPU_PER_
_SESSION KERNEL UNLIMITED
DEF
FAULT SESSIONS_PER_USER KERNEL UNLIMITED
PF_
_CPU COMPOSITE_LIMIT KERNEL DEFAULT
PF_
_CPU _SGA
PRIVATE_ KERNEL DEFAULT
PF_
_CPU CONNECT_
_TIME KERNEL DEFAULT
PF_
_CPU PASSWORD_GRACE_TIMEE PASSWORD DEFAULT
PF_
_CPU ME
IDLE_TIM KERNEL DEFAULT
PF_
_CPU PASSWORD_LOCK_TIME PASSWORD 1
PF_
_CPU _READS_PER_C
LOGICAL_ CALL KERNEL DEFAULT
PF_
_CPU PASSWORD_VERIFY_FUNNCTION PASSWORD DEFAULT
PF_
_CPU _READS_PER_S
LOGICAL_ SESSION KERNEL DEFAULT
PF_
_CPU FAILED_LOGIN_ATTEMPPTS PASSWORD 3
PF_
_CPU PASSWORD_LIFE_TIME PASSWORD DEFAULT
PF_
_CPU PASSWORD_REUSE_TIMEE PASSWORD 1
PF_
_CPU PASSWORD_REUSE_MAX PASSWORD UNLIMITED
PF_
_CPU _CALL
CPU_PER_ KERNEL DEFAULT
PF_
_CPU CPU_PER_
_SESSION KERNEL 1
PF_
_CPU SESSIONS_PER_USER KERNEL DEFAULT
PF_
_FUNC COMPOSITE_LIMIT KERNEL DEFAULT
PF_
_FUNC _SGA
PRIVATE_ KERNEL DEFAULT
PF_
_FUNC CONNECT_
_TIME KERNEL DEFAULT
PF_
_FUNC PASSWORD_GRACE_TIMEE PASSWORD DEFAULT
PF_
_FUNC ME
IDLE_TIM KERNEL DEFAULT
PF_
_FUNC PASSWORD_LOCK_TIME PASSWORD DEFAULT
PF_
_FUNC _READS_PER_C
LOGICAL_ CALL KERNEL DEFAULT
PF_
_FUNC PASSWORD_VERIFY_FUNNCTION PASSWORD CTION
VERIFY_FUNC
PF_
_FUNC _READS_PER_S
LOGICAL_ SESSION KERNEL DEFAULT
PF_
_FUNC CPU_PER_
_SESSION KERNEL DEFAULT
PF_
_FUNC PASSWORD_LIFE_TIME PASSWORD DEFAULT
PF_
_FUNC PASSWORD_REUSE_TIMEE PASSWORD DEFAULT
PF_
_FUNC PASSWORD_REUSE_MAX PASSWORD DEFAULT
PF_
_FUNC _CALL
CPU_PER_ KERNEL DEFAULT
PF_
_FUNC SESSIONS_PER_USER KERNEL DEFAULT
PF_
_FUNC FAILED_LOGIN_ATTEMPPTS PASSWORD DEFAULT

También contamos con otras vistas q


que pued
den resu ultar útile
es:
USER_PPASSWORD_LIMITS, US
SER_RESOOURCE_LIMITS, V$SES
SSION, etc.

www.perudev.net 16
61
Oracle Database 100g
Addministración
nI

Página
a en Blanco

162 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12
Privilegios y Roles

Contenido

‰ Entendiendo Privilegios y Roles 164


ƒ Privilegios del Sistema 164
ƒ Privilegios de Objetos 165
ƒ Roles de Usuarios 167
‰ Administración de Roles 169
ƒ Creación de Roles 169
ƒ Eliminando Roles 170
‰ Concediendo Privilegios y Roles 171
ƒ Concediendo Privilegios del Sistema 172
ƒ Concediendo Privilegios de Objetos 173
‰ Revocando Privilegios y Roles 176
ƒ Revocando Privilegios del Sistema 177
ƒ Revocando Privilegios de Objetos 178
‰ Verificar Información sobre Privilegios y Roles 180
ƒ Privilegios del sistema 180
ƒ Roles 181
ƒ Privilegios de Objetos 181
ƒ Privilegios Actuales en el Dominio de una sesión 182
Oracle Database 100g
Addministración
nI

Entendiendo Privileg
gios y Ro
oles

Un privile
egio es un derecho para a ejecutar un
n particular tipo de instru
ucción SQL, o un derech
ho
para acceeder a un obbjeto de otro
o usuario.

Los roles s, son creados por loss usuarios (normalment


( s usan para
te administrradores) y se
agrupar privilegios y otros roless. Estos son nar múltipless privilegios y
n un medio para asign
roles a lo
os usuarios.

Privileg
gios del Sistema
S

Son máss de 100 priv


vilegios del sistema.
s Ca
ada privilegio
o del sistema le permite
e a un usuarrio
realizar una
u operació e de datos o clase de operación de
ón particular de la base d la base ded
datos.

Acceso a los obje


etos en el esquema
e S
SYS

Usuarios con los privilegios


p ex
xplícitos o aquéllos quue se cone ectan con los privilegio
os
administrrativos (SYSSDBA) puede en acceder a los objetos del esquema SYS. Ottros necesita an
es habilite el acceso concediéndoless cualquiera de los siguientes roles:
que se le

Ro
ol Descripción

SE
ELECT_CAT
TALOG_ROLE Estee rol puede concederse
c a los usuarios para
permmitirles los privilegios
p SE
ELECT en to odas las
vista
as de diccionario de dattos.
EX
XECUTE_CA
ATALOG_ROLE Este
e rol puede concederse
c a los usuarios para
perm
mitirles los privilegios
p XECUTE sobre
EX
paquetes y proccedimientos del dicciona ario de datoss.
DE
ELETE_CAT
TALOG_ROLE Este
e rol puede concederse
c a los usuarios para
mitirles a usuarios elimin
perm nar registross de la tabla
del sistema de auditoria
a (AU
UD$).

164 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Ejemplo 1

Si intentamos consultar la vistta DBA_RO


OLES con el
e usuarios scott obte
endríamos un
u
mensaje de error.

SQL
L> conn scot
tt/tiger [
[Enter]
Con
nnected.

SQL
L> select * from dba_roles; [
[Enter]
lect * from dba_roles
sel
*
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 ALOG_ROLE, si lo podrríamos hacer.
LECT_CATA

SQL
L> conn / as
s sysdba [Ent
ter]
Con
nnected.

SQL LECT_CATALOG_ROLE to s
L> grant SEL scott; [Ent
ter]

ant succeede
Gra ed.

SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.

SQL
L> select * from dba_roles; [Ent
ter]

LE
ROL PASS
SWORD
---
------------
----------------- ----
-----
CON
NNECT NO
RES
SOURCE NO
DBA
A NO
SEL
LECT_CATALOG
G_ROLE NO
EXE
ECUTE_CATALO
OG_ROLE NO
DEL
LETE_CATALOG
G_ROLE NO

Privileg
gios de Objetos
O

Cada tipo
o de objeto tiene
t diferen
ntes privilegio
os asociado
os con él.

Podemoss especificaar ALL [PRIIVILEGES] para conce eder o revocar todos los privilegioos
disponibles para un objeto.
o ALL no es un prrivilegio; máss bien, es un atajo, o un
na manera de
d
concederr o revocar todos los privilegios
p el objeto con una palab
de 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 indivvidual.

Igualmennte, si todoss los privileg


gios se conccedieron individualmente
e, pueden ser
s revocado
os
especifica
ando ALL.

www.perudev.net 16
65
Oracle Database 100g
Addministración
nI

Ejemplo 2

Si querem mos que el usuario cla


audia pueda
a consultar la
l tabla dep
pt de scott, debe tener el
privilegio SELECT soobre esa tab
bla.

SQL
L> conn / as
s sysdba [Ent
ter]
Con
nnected.

SQL
L> create us
ser claudia
2 identifieed by model; [Ent
ter]

er created.
Use

SQL eate session to claudi


L> grant cre ia; [Ent
ter]

ant succeede
Gra ed.

SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.

SQL lect on dept to claudi


L> grant sel ia; [Ent
ter]

ant succeede
Gra ed.

SQL
L> conn clau
udia/model [Ent
ter]
Con
nnected.

SQL
L> select * from scott.dept; [Ent
ter]

DEPTNO AME
DNA LOC
--------
--- ---
------------ --------------
10 ACC
COUNTING NEW YORK
20 RES
SEARCH DALLAS
30 SAL
LES CHICAGO
40 OPE
ERATIONS BOSTON

166 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Roles de
d Usuarrios

Un rol agrupa varrios privilegios y roless, para que


e puedan cconcederse y revocarsse
simultáne
eamente de los usuarios
s.

Oracle provee algun nos roles pre


edefinidos p
para ayudarr en la admiinistración de
d la base de
d
datos. Esstos roles, se
s definen automáticamente para la as bases de e datos de Oracle
O cuand
do
ejecutam
mos scripts es stándares que son parte
e de creació
ón de la base
e de datos.

Algunos de
d estos role
es predefinid
dos se muesstran en el siguiente
s cua
adro.

RO
OL PRIVILEGIOS DEL
L SISTEMA

CO
ONNECT CREA
ATE SESSIO
ON
RE
ESOURCE 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
DB
BA Todos
s los privileg
gios del siste
ema con la ccláusula WIT
TH ADMIN
OPTIO
ON.

La forma
a como se han definido estos p
privilegios podemos
p co
onsultarlo en
e el archivvo
SQL.BSQQ.

www.perudev.net 16
67
Oracle Database 100g
Addministración
nI

Ejemplo 3

baremos en este ejemplo


Comprob o el rol CON
NNECT y RE
ESOURCE.

SQL
L> conn / as
s sysdba [
[Enter]
Con
nnected.

SQL
L> create us
ser sergio
2 identifie
ed by chino
3 default tablespace
t users
4 quota 500
0K on users; [
[Enter]

er created.
Use

SQL
L> grant con
nnect, resource to ser
rgio; [
[Enter]

ant succeede
Gra ed.

SQL
L> conn serg
gio/chino [
[Enter]
Con
nnected.

SQL able equipos(


L> create ta
2 mber primary key,
id num
3 nombre
e varchar2(30)
4 ); [
[Enter]

ble created.
Tab .

SQL
L> insert in
nto equipos values(1,'
'Alianza Lim
ma'); [
[Enter]

1 row
r created.
.

SQL
L> commit; [
[Enter]

mmit complet
Com te.

SQL
L> select * from equipos; [
[Enter]

ID NOM
MBRE
-------- ---
--- ----------------------
-------
1 Ali
ianza Lima

168 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Admin
nistració
ón de Ro
oles

Creació
ón de Ro
oles

Sintaxis

Ejemplo 4

L> conn / as
SQL s sysdba; [Enter]
Con
nnected.

SQL ole rl_demo;


L> create ro [Enter]

le created.
Rol

SQL ole rl_digitador


L> create ro
2 identifieed by admin; [Enter]

le created.
Rol

www.perudev.net 16
69
Oracle Database 100g
Addministración
nI

Elimina
ando Rolles

Sintaxis

Ejemplo 5

SQL
L> conn / as
s sysdba; [Enter
r]
Con
nnected.

SQL
L> drop role
e rl_demo; [Enter
r]

le dropped.
Rol

170 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Conce
ediendo
o Privileg
gios y Roles

Sintaxis General

www.perudev.net 17
71
Oracle Database 100g
Addministración
nI

Conced
diendo Privilegios
P s del Sisttema

Ejemplo 6

mos que tod


Si querem dos los usuaarios a los qu
ue se le conncede el rol rl_digitador, pueda iniciar
sesión en
n la base de datos, debe
emos conced derle el priviilegio CREA
ATE SESSIO ON al rol.

SQL
L> conn / as
s sysdba [Enter]
Con
nnected.

SQL eate session to rl_dig


L> grant cre gitador; [Enter]

ant succeede
Gra ed.

También podemos co
onceder el privilegio
p dire
ectamente al
a usuario.

SQL
L> create us
ser user01
2 identifieed by user01; [Ent
ter]

er created.
Use

SQL
L> grant cre
eate session to user01
1; [Ent
ter]

ant succeede
Gra ed.

También es posible crear


c un nue
evo usuario.

SQL
L> grant cre
eate session
2 to newuseer identified by newus
ser; [Ent
ter]

ant succeede
Gra ed.

Si queremos que el usuario o rol pueda cconceder a otros o usuariios el privile


egio que essta
recibiend
do, debemoss utilizar la cláusula AD DMIN OPTION. En el siguiente sccript estamo os
creando el usuario useradmin,
u y le esta co
oncediendo el e privilegio CREATE SESSION,
S y él
también puede
p conce
eder este prrivilegio a otrros usuarioss.

SQL
L> grant cre
eate session
2 to useraddmin identified by adm
min
3 with admiin option; [Ent
ter]

ant succeede
Gra ed.

SQL
L> conn user
radmin/admin [Ent
ter]
Con
nnected.

SQL
L> grant cre
eate session to user01
1; [Ent
ter]

ant succeede
Gra ed.

172 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Conced
diendo Privilegios
P s de Obje
etos

Ejemplo 7

Si querem mos que el usuario newwuser pueda consultar la tabla dep


pt de scott debe tener el
privilegio SELECT soobre la tabla
a.

SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.

SQL lect on dept to newuse


L> grant sel er; [Ent
ter]

ant succeede
Gra ed.

L> conn newu


SQL user/newuser [Ent
ter]
Con
nnected.

SQL
L> select * from scott.dept; [Ent
ter]

DEPTNO AME
DNA LOC
--------
--- ---
------------ --------------
10 ACC
COUNTING NEW YORK
20 RES
SEARCH DALLAS
30 SAL
LES CHICAGO
40 OPE
ERATIONS BOSTON

Si querem
mos que ten
nga todos los
s privilegios sobre una ta
abla debe ussar la palabrra ALL.

SQL
L> conn scot
tt/tiger [Enter]
Con
nnected.

SQL l on emp to newuser;


L> grant all [Enter]

ant succeede
Gra ed.

SQL user/newuser
L> conn newu [Enter]
Con
nnected.

SQL nto scott.emp(empno,en


L> insert in name)
2 values(55555,'Gustavo'); [Enter]

1 row
r created.
.

SQL mpno, ename from scott


L> select em t.emp; [Enter]

EMPNO ENA
AME
--------
--- ---
--------
7876 ADA
AMS
7900 JAM
MES
7902 FOR
RD
7934 MIL
LLER
5555 Gus
stavo

www.perudev.net 17
73
Oracle Database 100g
Addministración
nI

También podemos conceder


c el privilegio a un rol, de tal manera que a los usuarios
u se le
concede el rol, y auto
omáticamente tendrá loss privilegios del rol.

SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.

SQL l on emp to rl_digitad


L> grant all dor; [Ent
ter]
Gra
ant succeede
ed.

SQL
L> revoke al
ll on emp from newuser
r; [Ent
ter]
Rev
voke succeed
ded.

SQL
L> conn / as
s sysdba [Ent
ter]
Con
nnected.

SQL _digitador to newuser;


L> grant rl_ ; [Ent
ter]
Gra
ant succeede
ed.

Aun cuan ndo newuse er no tiene privilegios d


directamentee sobre la taabla scott.e emp, si puedde
odo tipo de operacioness sobre la tabla por que tiene los priivilegios con
realizar to ncedidos al rol
r
rl_digitaddor.

SQL
L> conn newu
user/newuser [
[Enter]
Con
nnected.

SQL mpno, ename from scott


L> select em t.emp; [
[Enter]

EMPNO ENA
AME
--------
--- ---
--------
7788 SCO
OTT
7900 JAM
MES
7902 FOR
RD
7934 MIL
LLER
5555 Gus
stavo

174 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Los privilegios tamb bién se pue


eden conced
der sobre columnas
c esspecíficas, solo
s para la
as
instruccio
ones insert y update.

SQL
L> conn / as
s sysdba [Enter]
Con
nnected.

SQL sert(empno,ename) on s
L> grant ins scott.emp to
o sergio; [Enter]
Gra
ant succeede
ed.

SQL
L> conn serg
gio/chino [Enter]
Con
nnected.

SQL nto scott.emp(empno,en


L> insert in name,sal)
2 values(66666,'Sergio',5000); [Enter]
ins
sert into sc
cott.emp(em
mpno,ename,ssal)
*
ROR at line 1:
ERR
ORA
A-01031: ins
sufficient privileges

SQL
L> insert in
nto scott.emp(empno,en
name)
2 values(66666,'Sergio'); [Enter]

1 row
r created.
.

www.perudev.net 17
75
Oracle Database 100g
Addministración
nI

Revoc
cando Privilegio
os y Roles

Sintaxis General

176 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Revoca
ando Priv
vilegios del
d Sistem
ma

Ejemplo 8

Primero consultemos
c s los privilegios del siste
ema que han
n sido asigna
ados a roles u usuarios.

SQL
L> conn / as
s sysdba; [
[Enter]
Con
nnected.

SQL
L> select * from dba_sys_privs
2 where priivilege = 'CREATE SESS
SION'
3 order by 1; [
[Enter]

ANTEE
GRA PRIV
VILEGE ADM
---
------------
----------------- ----
-----------------------
------------
- ---
CLA
AUDIA CREA
ATE SESSION NO
NEW
WUSER CREA
ATE SESSION NO
RL_
_DIGITADOR CREA
ATE SESSION NO
USE
ERADMIN CREA
ATE SESSION YES
USE
ER01 CREA
ATE SESSION NO

Ahora de
ebemos revo
ocar el privile
egio CREAT
TE SESSION
N al usuario user01.

SQL
L> revoke cr
reate session from use
er01; [Ent
ter]
Rev
voke succeed
ded.

SQL
L> conn user
r01/user01 [Ent
ter]
ERR
ROR:
ORA er USER01 lacks CREATE
A-01045: use E SESSION pr
rivilege; l
logon denied
d

rning: You are


War a no longer connecte
ed to ORACLE
E.

www.perudev.net 17
77
Oracle Database 100g
Addministración
nI

Revoca
ando Priv
vilegios de
d Objeto
os

Ejemplo 9

Primero veremos
v los privilegios que
q se han a
asignado a los usuarios.

SQL
L> conn / as
s sysdba [Enter]
Con
nnected.

SQL able_name, grantee, pr


L> select ta rivilege
2 from dba__tab_privs
3 where ownner = 'SCOTT'; [Enter]

BLE_NAME
TAB GRANTEE E
PRIVILEGE
---
------------
-- -------------------
------------
- ---------
------------
-
DEP
PT CLAUDIA SELECT
DEP
PT NEWUSER SELECT
EMP
P RL_DIGITADOR ALTER
EMP
P RL_DIGITADOR DELETE
EMP
P RL_DIGITADOR INSERT
EMP
P RL_DIGITADOR SELECT
EMP
P RL_DIGITADOR UPDATE
EMP
P RL_DIGITADOR T REFRESH
ON COMMIT
EMP
P RL_DIGITADOR QUERY REW
WRITE
EMP
P RL_DIGITADOR DEBUG
EMP
P RL_DIGITADOR K
FLASHBACK

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

SQL
L> revoke se
elect on scott.dept fr
rom claudia;
; [Enter
r]
Rev
voke succeed
ded.

SQL
L> conn clau
udia/model [Enter
r]
Con
nnected.

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

178 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Ejemplo 10

amos el privvilegio de un rol, autom


Si revoca máticamente los usuario
os que tiene
en este rol se
s
verán afe
ectados.

SQL
L> conn newu
user/newuser [
[Enter]
Con
nnected.

SQL name from scott.emp;


L> select en [
[Enter]

AME
ENA
---
--------
ADA
AMS
JAM
MES
FOR
RD
MIL
LLER
Gus
stavo
Ser
rgio

SQL
L> conn / as
s sysdba [
[Enter]
Con
nnected.

SQL
L> revoke se
elect on scott.emp fro
om rl_digita
ador; [
[Enter]
Rev
voke succeed
ded.

SQL
L> conn newu
user/newuser [
[Enter]
Con
nnected.

SQL name from scott.emp;


L> select en [
[Enter]
sel
lect ename from
f scott.emp
*
ROR at line 1:
ERR
ORA
A-01031: ins
sufficient privileges

www.perudev.net 17
79
Oracle Database 100g
Addministración
nI

Verific
car Inforrmación
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 [Enter]
Con
nnected.

SQL ame from system_privil


L> select na lege_map ord
der by 1; [Enter]

ME
NAM
---
----------------------------------
------
. . .
TER SESSION
ALT
ALT
TER SYSTEM
ALT
TER TABLESPAACE
ALT
TER USER
ANA
ALYZE ANY
ANA
ALYZE ANY DIICTIONARY
AUD
DIT ANY
AUD
DIT SYSTEM
BAC
CKUP ANY TABBLE
BEC
COME USER
CHA
ANGE NOTIFICCATION
COM
MMENT ANY TAABLE
CRE
EATE ANY CLUUSTER
. . .

Listar loss privilegios del


d sistema concedidos..

SQL
L> select * from dba_sys_privs or
rder by 1; [Enter]

ANTEE
GRA PRIV
VILEGE ADM
---
------------
----------------- ----
-----------------------
----------- ---
CLA
AUDIA CREA
ATE SESSION NO
CON
NNECT CREA
ATE VIEW NO
CON
NNECT CREA
ATE TABLE NO
CON
NNECT ALTE
ER SESSION NO
CON
NNECT CREA
ATE SEQUENCEE NO
CON
NNECT CREA
ATE DATABASEE LINK NO
CON
NNECT CREA
ATE SYNONYM NO
CON
NNECT CREA
ATE SESSION NO
CON
NNECT CREA
ATE CLUSTER NO
GCO
ORONEL UNLI
IMITED TABLEESPACE NO
NEW
WUSER CREA
ATE SESSION NO
RES
SOURCE CREA
ATE TYPE NO
RES
SOURCE CREA
ATE OPERATORR NO
RES
SOURCE CREA
ATE INDEXTYPPE NO

También podemos ussar USER_S


SYS_PRIVS
S.

180 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)
Lección 12 2
Privilegioss y Roles

Roles

Ejemplo 12

Listar loss roles asignados a usua


arios.

SQL
L> select * from dba_role_privs o
order by 1; [Enter
r]

ANTEE
GRA GRAN
NTED_ROLE ADM DEF
D
---
------------
----------------- ----
------------
-----------
------ --- -
---
GCO
ORONEL CONN
NECT NO Y
YES
GCO
ORONEL RESO
OURCE NO Y
YES
NEW
WUSER RL_D
DIGITADOR NO Y
YES
SCO
OTT CONN
NECT NO Y
YES
SCO
OTT SELE
ECT_CATALOG_
_ROLE NO Y
YES
SCO
OTT RESO
OURCE NO Y
YES
SER
RGIO CONN
NECT NO Y
YES

También podemos ussar 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 ownner = 'SCOTT'; [
[Enter]

BLE_NAME
TAB PRI
IVILEGE GRANTEE
---
-------- ---
----------------------
------------
- ---------
-------
DEP
PT SEL
LECT NEWUSER
EMP
P ALT
TER RL_DIGITA
ADOR
EMP
P DEL
LETE RL_DIGITA
ADOR
EMP
P INS
SERT RL_DIGITA
ADOR
EMP
P UPD
DATE RL_DIGITA
ADOR
EMP
P ON COMMIT REFRESH RL_DIGITA
ADOR
EMP
P QUE
ERY REWRITE RL_DIGITA
ADOR
EMP
P DEB
BUG RL_DIGITA
ADOR
EMP
P FLA
ASHBACK RL_DIGITA
ADOR

También podemos ussar la vista USER_TAB_


U _PRIVS.

www.perudev.net 18
81
Oracle Database 100g
Addministración
nI

Para consultar las co


olumnas esp
pecificas sob
bre las que se
s concedierron privilegio
os.

SQL
L> select ta
able_name, column_name
e, privilege
e, grantee
2 from dba__col_privs
3 where ownner = 'SCOTT'; [
[Enter]

BLE_NAME
TAB COL
LUMN_NAME PRIVILEG
GE GRA
ANTEE
---
-------- ---
------------- --------
-------- ---
-----------
---
EMP
P EMP
PNO INSERT SER
RGIO
EMP
P ENA
AME INSERT SER
RGIO

También podemos ussar la vista USER_COL_


U _PRIVS.

Privileg
gios Actu
uales en el
e Domin
nio de una
a sesión

Ejemplo 14

Vamos a consultar lo
os privilegioss de sergio, para eso ne
ecesitamos cconectarnoss como scottt.

SQL
L> conn serg
gio/chino [Enter]
Con
nnected.

Consultemos sus role


es.

SQL
L> select * from session_roles; [Enter
r]

LE
ROL
---
------------
-----------------
CON
NNECT

Ahora co
onsultemos sus
s privilegio
os del sistem
ma.

SQL
L> select * from session_privs; [Enter]

IVILEGE
PRI
---
-------------------
CRE
EATE SESSIONN
ALT
TER SESSION
CRE
EATE TABLE
CRE
EATE CLUSTERR
CRE
EATE SYNONYMM
CRE
EATE VIEW
CRE
EATE SEQUENCCE
CRE
EATE DATABASSE LINK

182 Eric Gusttavo Corone


el Castillo (gcoronelc@
@gmail.com
m)

También podría gustarte