Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
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
Introducción ........................................................................................................................................... 52
Inicio de una Base de Datos de Oracle................................................................................................. 53
Comando: STARTUP ............................................................................................................................ 55
Comando: SHUTDOWN ........................................................................................................................ 56
Comando: ALTER DATABASE ............................................................................................................. 59
III
Lección 08: Administración del Archivo de Control
IV
Lección 01
Arquitectura de la
Base de Datos Oracle 10g
Contenido
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
Arquittectura de
d Orac
cle 10g
Esquem
ma General
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
Esquem
ma Ampliado
SQL
L> select in
nstance_nam
me from v$in
nstance; [
[Enter]
STANCE_NAME
INS
---
---------------
Orc
cl
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
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]
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..
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.
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.
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.
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
También podemos re
ealizar la con obre loa data
nsulta de so afiles en EM
M Database Control:
SQL
L> select gr
roup#, members from v$
$log; [Ent
ter]
GROUP# MEMBERS
-------- ---
--- --------
1 1
2 1
3 1
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.
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
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.
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
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.
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
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
www.perudev.net 17
7
Oracle Database 100g
Addministración
nI
Esque
emas de
e Base de
d Datos
s
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
www.perudev.net 19
9
Oracle Database 100g
Addministración
nI
Página
a en Blanco
Contenido
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:
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.
Comp
ponentes
s Privad
dos
Tablas X$
Vistas Diná
ámicas (V_$
$)
Tablas $
Tablas
s X$
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.
SQL
L> conn / as
s sysdba [
[Enter]
Con
nectado.
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
L> conn / as
s sysdba [Enter]
Con
nectado.
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]
SQL
L> conn scot
tt/tigre [Ent
ter]
Con
nectado.
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
. . .
. . .
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_$)
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.
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
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.
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
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_
_$.
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_.
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
SQL
L> conn scot
tt/tigre [Enter]
Con
nectado.
BLE_NAME
TAB
---
------------
-----------------
DEP
PT
EMP
P
BON
NUS
SAL
LGRADE
Contenido
Admin nistrado
or de la Segurida
S ad
y Privilegios de
d la Baase de Datos
D
Cuenta
as del Sis
stema Op perativo
Administradoraas de la Base
B de Datos
D
Nombrres de Us
suarios Administra
A adores de la Base
e de Dato
os
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.
SYS
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.
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
Notta
El control de estos
e privilegios está tottalmente fuera de la ba
ase de datoss.
SYSDBA
A y SYSOP
PER
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.
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
SQL
L> conn scot
tt/tiger [Enter]
nectado.
Con
SQL
L> show user
r [Enter]
ER es "SCOTT
USE T"
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
SQL
L> conn sys/
/admin as sysdba [
[Enter]
nectado.
Con
SQL
L> grant sys
sdba to scott; [
[Enter]
ncesión term
Con minada correctamente.
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]
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:
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.
Usando
o Autentiicación del
d Sistem
ma Opera
ativo (OS))
OSDBA y OSOPER
R
Grupo
G del Sisstema
UNIX Windo
ows
Operativo
O
OSDBA
O dba ORA_D
DBA
OSOPER
O oper ORA_OPER
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
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.
www.perudev.net 39
9
Oracle Database 100g
Addministración
nI
Conectá
ándonos usando la Autenticac
A ión del SO
O
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
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.
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.
www.perudev.net 41
1
Oracle Database 100g
Addministración
nI
Usando
o la Aute
enticación
n del Archivo de contraseñ
c ñas
Prepara
ando el Arc
chivos de Contraseñ
C as de Aute
enticación
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
4. Si el
e usuario no
o existe en la
a base de da
atos, crear el
e usuario.
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.
CON
NNECT scott/tig
ger AS SYSDBA
A
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.
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
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
o ORAPW
Usando WD
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:\>
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.
A continu
uación pasam
mos a descrribir los pará
ámetros del utilitario
u ORA
APWD.
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.
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
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.
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.
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.
Creando
o un Archivo de Con
ntraseñas y Agregánd
dole Nuevo
os Usuario
os
3. Con
néctese a Oracle
O con el privilegio SYSDBA.
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:
www.perudev.net 47
7
Oracle Database 100g
Addministración
nI
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
Manten
nimiento del Archivo de Co
ontraseñas
Ampliarr el número
o de usuarrios del arc
chivo de co
ontraseñas
s
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.
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
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
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.
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
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
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.
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
Sintaxis
SHUTD
DOWN co
on la cláusula NOR
RMAL
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
UTDOWN IMMEDIATE
SHU
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
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.
www.perudev.net 57
7
Oracle Database 100g
Addministración
nI
SHUTD
DOWN co
on la cláusula ABO
ORT
UTDOWN ABOR
SHU RT
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.
Coma
ando: AL
LTER DA
ATABAS
SE
Sintaxis
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
Contenido
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
OraccleServiceSID
OraccleServiceEGCC
C
OraccleOraDb10g_hoome1TNSListeneer
Tipos de
d Inicio de los Se
ervicios
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.
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
www.perudev.net 63
3
Oracle Database 100g
Addministración
nI
La Ven
ntana de Servicios
S s
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.
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
Tener múltiples
m se
ervicios aso
ociados a una base de datos permite la
as siguiente
es
funcionalidades:
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.
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.
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
(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
(DESCRIPTION=
( ADDRESS = (PROTOCOL=tc
( cp) (HOST=salees-server) (POR
RT=1521) )
)
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
)
)
(DESCRIPTION=
(
(ADDRESS=(PROTOCOL=tcp))(HOST=sales-server)(PORT=1521))
(
(CONNECT_DA
ATA=
(SERVICE_
_NAME=sales.uss.acme.com)
(SERVER=sshared)
)
)
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
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.
1. El proceso
p escucha recibe la solicitud de conexión
n del cliente.
3. El cliente
c es ah
hora conecta mente con el servidor dedicado.
ado directam
Nomen
nclatura
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.
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.
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
Nomenclatura Local
Nomenclatura de Direc
ctorios
Nomenclatura de cone
exión sencilla
a
Nomenclatura Externa
Nomenc
clatura Loc
cal
Nomenc
clatura de Directorios
s
Nomenc
clatura de conexión sencilla
s
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
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)
Config
guración
n del Mé
étodo de
e Nomen
nclatura
a Local
sales=(DESCRIPTIO
ON=
(
(ADDRESS=
OL=tcp)(HOST=sales-server)(P
(PROTOCO PORT=1521)
)
(
(CONNECT_DA
ATA=
(SERVICE_
_NAME=sales.uss.acme.com)
)
)
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
Config
guración
n del Proceso E
Escucha
a
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))
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
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:
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:
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
Descripciión formatea
ada de forma
a especial del destino de
e una
conexión de red.
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
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:
www.perudev.net 81
1
Oracle Database 100g
Addministración
nI
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
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
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
#########
########### #########
#########
#########
#
El Arch
hivo SPFileSID.OR
RA (SPFIL
LE)
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.
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.
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.
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.
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.
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
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::
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.
ME
NAM TYPE VALUE
---
------------
----------------------
-- ---------
--- -------
------------
------
ope
en_cursors integer 300
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
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.
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
Figura 7 . 2 El SGA
A
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.
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.
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.
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.
ME
NAM TYPE VALUE
---
----------------------------------
-- ---------
--- -------
--------
db_
_cache_size big integ
ger 44M
stema modifi
Sis icado.
SQL
L> show para
ameter db_cache_size [
[Enter]
ME
NAM TYPE VALUE
---
----------------------------------
-- ---------
--- -------
----------
db_
_cache_size big integ
ger 48M
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.
Habilitar – Deshab
bilitar el ac
cceso restrringido a la
a base de d
datos
Sintaxis::
ALTER SYSTEM {E
ENABLE | DISA
ABLE} RESTRIC
CTED SESSION
Ejemplo 7
SQL
L> conn / as
s sysdba [Enter
r]
Con
nnected.
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
www.perudev.net 97
7
Oracle Database 100g
Addministración
nI
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.
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
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.
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
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.
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
www.perudev.net 99
9
Oracle Database 100g
Addministración
nI
Finalizar una Se
esión
Sintaxis::
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
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
Termin
nar una Sesión
S
Sintaxis::
Ejemplo 12
SQL
L> select SI
ID,SERIAL#,USERNAME,st
tatus from v$session;
v [Enter]
ted.
10 rows select
stem altered
Sys d.
SQL
L> select SI
ID,SERIAL#,USERNAME,st
tatus from v$session;
v [Enter]
ted.
10 rows select
www.perudev.net 10
01
Oracle Database 100g
Addministración
nI
Figura 7 . 3 Blo
oqueos de ce
esiones.
Archiv
vos de Alertas
A
www.perudev.net 10
03
Oracle Database 100g
Addministración
nI
Ejemplo 13
SQL
L> shutdown immediate [Enter
r]
Dat
tabase close
ed.
Dat
tabase dismo
ounted.
ORA
ACLE instanc
ce shut down.
ase de datoss.
3. Iniciar la ba
L> startup
SQL
ORA
ACLE instanc
ce started.
4. Revisar el archivo
a de alertas
a
Contenido
¿Qué es el Arrchivo de
d Contrrol?
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.
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
www.perudev.net 10
07
Oracle Database 100g
Addministración
nI
Multip
plexado el Archiivo de C
Control
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.
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
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.
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.
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
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
Contenido
¿Que es el Re
edo Log
g?
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.
Conten
nido del Redo
R Log
g
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.
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.
Ejemplo 1
SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]
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.
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]
www.perudev.net 11
17
Oracle Database 100g
Addministración
nI
Multipllexado de
e los Red
do Log Files
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
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]
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]
se de datos modificada.
Bas
SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]
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.
Elimin
nando Grupos
G y Miemb
bros Red
do Log
Elimina
ando Gru
upos Red
do Log
Sintaxis
Ejemplo 5
SQL
L> select gr
roup#,members,status,s
sequence# fr
rom v$log; [Enter]
se de datos modificada.
Bas
SQL roup#,members,status,s
L> select gr sequence# fr
rom v$log; [Enter]
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]
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]
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
se de datos modificada.
Bas
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
Consu
ultando Informa
ación so
obre los Redo Lo
og
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
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
Contenido
Esque
ema de la
l Base de Dato
os
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.
Tipos de
d Segme
entos
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:
Asigna
ar Cuotas
s a los Us
suarios en los Tab
blespace
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.
Los table
espaces adm
ministrados lo
ocalmente p
presentan los
s siguientes beneficios:
www.perudev.net 12
29
Oracle Database 100g
Addministración
nI
Ejemplo 2
SQL
L> conn / as
s sysdba [Enter
r]
Con
nectado.
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
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.
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
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
Cláusu
ula EXTEN
NT
Sintaxis
XTENT MANAGE
[ EX EMENT
{ DICTIONARY | LOCAL [ AUT
TOALLOCATE | UNIFORM [SIZE n [K|M|G|T
T] ] ] } ]
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
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
Tables
spaces Temporrales
Introdu
ucción
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.
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
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.
Espec
cificando
o Bloques
NO Es
stándarees para Tablesp
T paces
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
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
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]
Contenido
Admin
nistració
ón de Us
suarios
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.
Creació
ón de un Nuevo Usuario
U
Sintaxis
Ejemplo 1
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
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.
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.
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
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.
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
Admin
nistració
ón de Re
ecursos
s con Pe
erfiles
Habilita
ar y Desh
habilitar los
l Limite
es de Rec
cursos
Antes de Iniciar la
a Base de Datos
D
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.
SQL
L> conn egcc
c/egcc [Enter
r]
ERR
ROR:
ORA
A-02391: exc
ceeded simultaneous SE
ESSIONS_PER_
_USER limit
t
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.
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.
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
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.
ofile create
Pro ed.
SQL
L> alter use
er egcc
2 profile pf_pass;
p [Enter
r]
er altered.
Use
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.
Modific
cando Pe
erfiles
Sintaxis
Ejemplo 7
SQL
L> conn / as
s sysdba; [Enter]
Con
nnected.
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.
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
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
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
Ejemplo 9
unción conte
Proceda a crear la fu enida en el archivo UTLP
PWDMG.SQ
QL.
www.perudev.net 15
57
Oracle Database 100g
Addministración
nI
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.
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
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
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
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
www.perudev.net 16
61
Oracle Database 100g
Addministración
nI
Página
a en Blanco
Contenido
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.
Privileg
gios del Sistema
S
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$).
Ejemplo 1
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.
www.perudev.net 16
65
Oracle Database 100g
Addministración
nI
Ejemplo 2
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
ant succeede
Gra ed.
SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.
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
Roles de
d Usuarrios
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
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.
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
Admin
nistració
ón de Ro
oles
Creació
ón de Ro
oles
Sintaxis
Ejemplo 4
L> conn / as
SQL s sysdba; [Enter]
Con
nnected.
le created.
Rol
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
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
SQL
L> conn / as
s sysdba [Enter]
Con
nnected.
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.
SQL
L> grant cre
eate session
2 to newuseer identified by newus
ser; [Ent
ter]
ant succeede
Gra ed.
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.
Conced
diendo Privilegios
P s de Obje
etos
Ejemplo 7
SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.
ant succeede
Gra ed.
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.
ant succeede
Gra ed.
SQL user/newuser
L> conn newu [Enter]
Con
nnected.
1 row
r created.
.
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
SQL
L> conn scot
tt/tiger [Ent
ter]
Con
nnected.
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
L> conn newu
user/newuser [
[Enter]
Con
nnected.
EMPNO ENA
AME
--------
--- ---
--------
7788 SCO
OTT
7900 JAM
MES
7902 FOR
RD
7934 MIL
LLER
5555 Gus
stavo
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
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
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
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.
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
Ejemplo 10
SQL
L> conn newu
user/newuser [
[Enter]
Con
nnected.
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.
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.
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
. . .
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
Roles
Ejemplo 12
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
Privileg
gios de Objetos
O
Ejemplo 13
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
www.perudev.net 18
81
Oracle Database 100g
Addministración
nI
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
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.
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