Professional Documents
Culture Documents
D11321CS20
Edicin 2.0
Diciembre 2002
D37535
Autor Copyright Oracle Corporation, 2002. Todos los derechos reservados.
Marie St. Gelais Esta documentacin contiene informacin propiedad de Oracle Corporation; se suministra bajo los
trminos de un contrato de licencia que contiene restricciones de uso y de revelacin y est tambin
protegida por la legislacin de derechos de autor. Queda prohibida la ingeniera reversa. Si esta
Revisores Tcnicos documentacin se entrega a una agencia del Ministerio de Defensa del Gobierno de EE.UU., se
aplicar la siguiente advertencia de "Restricted Rights":
Louise Beijer
Restricted Rights Legend
Dairy Chan
Use, duplication or disclosure by the Government is subject to restrictions for commercial computer
Trevor Davies software and shall be deemed to be Restricted Rights software under Federal law, as set forth in
subparagraph (c)(1)(ii) of DFARS 252.227-7013, Rights in Technical Data and Computer Software
Donna Hamby
(October 1988).
Lutz Hartmann
Este material ni ninguna parte del mismo podr ser reproducido en cualquier forma o a travs de
Kuljit Jassar cualquier medio sin el expreso consentimiento por escrito de Oracle Corporation. La reproduccin es
una violacin de la ley de derechos de autor y puede tener consecuencias penales o civiles.
Patricia Mesa
Si esta documentacin se entrega a una agencia del Gobierno de EE.UU. no perteneciente al
Sabiha Miri Ministerio de Defensa, se aplicar la advertencia de "Restricted Rights" definida en FAR 52.227-14,
Howard Ostrow Rights in Data-General, incluido Alternate III (junio de 1987).
Caroline Pereda La informacin contenida en este documento est sujeta a cambio sin previo aviso. Si detecta
cualquier problema en la documentacin, le agradeceremos lo comunique por escrito a Education
Andreas Reinhardt Products, Oracle Corporation, 500 Oracle Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle
Corporation no garantiza que este documento est exento de errores.
Ajai Sahni
SQL*Loader, SQL*Net, SQL*Plus, Net8, Oracle Call Interface, Oracle7, Oracle8, Oracle 8i,
Jaco Verheul
Developer/2000, Developer/2000 Forms, Designer/2000, Oracle Enterprise Manager, Oracle Parallel
Server, PL/SQL, Pro*C, Pro*C/C++ y Trusted Oracle son marcas comerciales o marcas comerciales
registradas de Oracle Corporation.
Editor
Todos los dems nombres de compaas y productos mencionados se utilizan a los exclusivos fines
Shane Mattimoe de su identificacin y pueden ser marcas comerciales de sus respectivos propietarios.
Introduccin
Cach de Buffer de
Cach de Buffers
Biblioteca Redo Log
de Base de Datos
Proceso de Cach del Diccionario
servidor de Datos Conjunto Grande
Conjunto Java
PGA
PMON SMON DBWR LGWR CKPT Otros
Archivo de
contraseas
Base de datos
Oracle Server:
Oracle Server
Es un sistema de gestin de
bases de datos que
proporciona un enfoque
abierto, global e integrado de
la gestin de informacin
Est formado por una
instancia Oracle y una base
de datos Oracle
Archivo de
contraseas
Cabecera Archivos
de control
Archivos
de datos
Archivos (incluye
Redo Log el diccionario
Online de datos)
Es dinmica
Tamao definido por el parmetro SGA_MAX_SIZE
Asignada y con seguimiento en grnulos por
componentes del SGA
Asignacin de memoria virtual contigua
El tamao de grnulo se basa en el valor de
SGA_MAX_SIZE total estimado
Cach de Buffers
de Base de Datos
Buffer de
Redo Log
Proceso de
servidor
Proceso de
usuario
Conexin
establecida
Proceso de
Conexin servidor
establecida Sesin creada
Proceso de Oracle Server
usuario
Base de datos
Base de datos
ARCn Archivos
Archivos Archivos Archivos redo log
de datos de control Redo Log archivados
Extensin Bloques
Herramienta Descripcin
SQL*Plus Utilidad para acceder a los datos de una base de datos Oracle
sqlplus /nolog
connect / as sysdba
Connected to an idle instance.
Agente Oracle
Repositorio Server
Oracle Management
Server Oracle
Server
Punto de inicio
central
Puede ejecutarse
en un cliente fino
o un cliente
grueso
Se puede iniciar
de manera
autnoma o por
medio de un
OMS
Instancia Oracle
Cach de Buffer de
Cach de Buffers
Biblioteca Redo Log
de Base de Datos
Cach del Diccionario
de Datos Conjunto Java Conjunto Grande
spfiledb01.ora
CONNECT / AS SYSDBA
STARTUP
Archivo de texto
Se modifica con un editor del sistema operativo
Las modificaciones se realizan de forma manual
Los cambios entran en vigor en el siguiente inicio
Slo se abre durante el inicio de la instancia
La ubicacin por defecto es $ORACLE_HOME/dbs
cp init.ora $ORACLE_HOME/dbs/initdba01.ora
Archivo binario
Lo mantiene Oracle Server
Siempre reside en el servidor
Capacidad de realizar cambios persistentes en los
procesos de cierre y de inicio
Puede autoajustar los valores de los parmetros
Puede tener soporte de Recovery Manager para
realizar copias de seguridad en el archivo de
parmetros de inicializacin
Orden de prioridad:
spfileSID.ora
SPFILE por defecto
initSID.ora
PFILE por defecto
El archivo PFILE especificado puede sustituir la
prioridad.
STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora
PFILE puede indicar que se utilice SPFILE.
SPFILE = /database/startup/spfileDBA1.ora
MOUNT
NOMOUNT
Instancia
iniciada
SHUTDOWN
SHUTDOWN
MOUNT
Archivo de
control abierto
NOMOUNT para esta
instancia
Instancia
iniciada
SHUTDOWN
SHUTDOWN
STARTUP
STARTUP PFILE=$ORACLE_HOME/dbs/initdb01.ora
Modo de Cierre A I T N
Modo de cierre:
A = ABORT
I = IMMEDIATE
T = TRANSACTIONAL
N = NORMAL
Durante
Al cerrar: Al iniciar:
SHUTDOWN
La cach de buffers NORMAL Sin recuperacin
de base de datos o de instancia
se escribe en los SHUTDOWN
TRANSACTIONAL
archivos de datos o
Los cambios no SHUTDOWN
validados IMMEDIATE
se deshacen
Recursos liberados
Durante
Al cerrar: Al iniciar:
SHUTDOWN ABORT
Los buffers o Se utilizan archivos
modificados no se Fallo de la Instancia redo log online para
escriben en los o volver a aplicar los
archivos de datos STARTUP FORCE cambios
No se hace Se utilizan segmentos
rollback de los de deshacer para
cambios no hacer rollback de los
validados cambios no validados
Recursos liberados
Base de datos inconsistente
(base de datos sucia)
Archivos de diagnstico
Contienen informacin acerca de los eventos
significativos que se han producido
Se utilizan para solucionar problemas
Se utilizan para mejorar la gestin diaria de la base de
datos
Existen varios tipos:
Archivo alertSID.log
Archivos de rastreo en segundo plano
Archivos de rastreo de usuario
Archivo alertSID.log:
Registra los comandos
Registra los resultados de los eventos principales
Se utiliza para la informacin diaria de operaciones
Se utiliza para diagnosticar errores de base de datos
Cada entrada tiene un registro de hora asociado
Lo debe gestionar el DBA
La ubicacin la define el parmetro
BACKGROUND_DUMP_DEST
Nivel de sesin:
Con el comando ALTER SESSION:
ALTER SESSION SET SQL_TRACE = TRUE
Ejecucin del procedimiento DBMS:
dbms_system.SET_SQL_TRACE_IN_SESSION
Nivel de instancia
Definiendo el parmetro de inicializacin:
SQL_TRACE = TRUE
Software Archivos
oracle_base
oradata/
/product
db01/
/release_number system01.dbf
/bin control01.ctl
/dbs redo0101.log
/rdbms ...
/sqlplus
db02/
system01.dbf
/admin
control01.ctl
/inst_name redo0101.log
...
/pfile
S S
Dispone de Desea utilizar la Utilice la autenticacin
una conexin autenticacin del sistema operativo
segura? del SO?
No No
Utilice un archivo
de contraseas
@cddba01.sql
> CREATE DATABASE dba01;
Base de datos
Usos principales:
Oracle Server lo utiliza para buscar informacin
acerca de
Usuarios
Objetos de esquema
Estructuras de almacenamiento
Oracle Server lo modifica cuando se ejecuta una
sentencia DDL.
Los usuarios y DBA lo pueden utilizar como una
referencia de slo lectura para obtener informacin
acerca de la base de datos.
Tablas virtuales
Registran la actividad actual de la base de datos
Se actualizan continuamente mientras la base de
datos est en funcionamiento
Se accede a la informacin desde la memoria y el
archivo de control
Se utiliza para controlar y ajustar la base de datos
El propietario es el usuario SYS
Los sinnimos empiezan por V$
Se enumeran en V$FIXED_TABLE
V$CONTROLFILE
V$DATABASE
V$DATAFILE
V$INSTANCE
V$PARAMETER
V$SESSION
V$SGA
$SPPARAMETER
V$TABLESPACE
V$THREAD
V$VERSION
Convencin Descripcin
CONTROL_FILES=
$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl
ctrl01.ctl ctrl02.ctl
Archivos
redo log
log1a.rdo log1a.rdo
log1b.rdo log1b.rdo
log1c.rdo log2c.rdo
Grupo 1 Grupo 2
Grupo 1
? Grupo 2 Grupo 3
Miembro Miembro
Defina el parmetro
DB_CREATE_ONLINE_LOG_DEST_n:
DB_CREATE_ONLINE_LOG_DEST_1
DB_CREATE_ONLINE_LOG_DEST_2
Se puede agregar un grupo sin especificacin de
archivo:
ALTER DATABASE ADD LOGFILE;
Borrado de un grupo:
ALTER DATABASE DROP LOGFILE GROUP 3;
Archivos de
datos
Tablespace SYSTEM
Se crea con la base de datos
Contiene el diccionario de datos
Contiene el segmento de deshacer SYSTEM
Tablespace que no es SYSTEM
Segmentos separados
Facilita la administracin de espacio
Controla la cantidad de espacio asignada a un usuario
DBMS_SPACE_ADMIN.
TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');
ALTER TABLESPACE
El tablespace debe estar offline.
Deben existir archivos de datos de destino.
ALTER TABLESPACE userdata RENAME
DATAFILE '/u01/oradata/userdata01.dbf'
TO '/u02/oradata/userdata01.dbf';
ALTER DATABASE
Se debe montar la base de datos.
Debe existir un archivo de datos de destino.
Al crear el tablespace:
Se crea automticamente el archivo de datos y se coloca en
DB_CREATE_FILE_DEST
El tamao por defecto es 100 MB
AUTOEXTEND est definido en UNLIMITED
EXTENSIONES
1 2 1 2 1 2 1 1 2 2 1 LIBRE 1 1 2 2 1
Tabla Particin
de tabla
Agrupamiento ndice
Segmento Segmento
de deshacer temporal
Segmen Tabla
to LOB anidada
Segmento
de arranque
Tablespace
Segmento
Archivo de datos
DESCRIBE dba_tablespaces
Name Null? Type
------------------ -------- ------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
...
Cabecera
Espacio libre
Datos
INITRANS
MAXTRANS
PCTFREE
PCTUSED
Inserciones
80%
Inserciones
Inserciones 80%
Insercin
40% (en lista de bloques libres)
3 4
Imagen antigua
Tabla
Imagen
nueva
Segmento de
deshacer
Actualizar la transaccin
Rollback de transacciones
SELECT *
Tabla FROM tabla
Imagen nueva
Imagen al inicio de la sentencia
undo1db01.dbf
UNDO_MANAGEMENT=AUTO
UNDO_TABLESPACE=UNDOTBS
Parmetro UNDO_SUPPRESS_ERRORS:
Si se define en TRUE, este parmetro suprime errores
mientras intenta ejecutar operaciones manuales en el
modo AUTO.
Parmetro UNDO_RETENTION:
Este parmetro controla la cantidad de datos de
deshacer que se debe retener para que la lectura sea
consistente.
SELECT end_time,begin_time,undoblks
FROM v$undostat;
END_TIME BEGIN_TIME UNDO
------------------ ------------------ -----
22-JAN-01 13:44:18 22-JAN-01 13:43:04 19
22-JAN-01 13:43:04 22-JAN-01 13:33:04 1474
22-JAN-01 13:33:04 22-JAN-01 13:23:04 1347
22-JAN-01 13:23:04 22-JAN-01 13:13:04 1628
22-JAN-01 13:13:04 22-JAN-01 13:03:04 2249
22-JAN-01 13:03:04 22-JAN-01 12:53:04 1698
22-JAN-01 12:53:04 22-JAN-01 12:43:04 1433
22-JAN-01 12:43:04 22-JAN-01 12:33:04 1532
22-JAN-01 12:33:04 22-JAN-01 12:23:04 1075
Cabecera de fila
Longitud de columna
Bloque de base
de datos Valor de columna
Clculo de PCTFREE
(Tamao Medio de la Fila - Tamao Inicial de la Fila) * 100
Clculo de PCTUSED
Tamao Medio de la Fila * 100
100 - PCTFREE -
Espacio de Datos Disponible
Antes de la Despus de la
actualizacin actualizacin
Puntero
Lgico:
De columna nica o concatenado
nico o no nico
Basado en funcin
De dominio
Fsico:
Particionado o no particionado
B-Tree: Clave normal o hacia atrs
Bitmap
Entrada de ndice
Raz
Derivacin
Tabla Archivo 3
Bloque 10
Bloque 11
ndice Bloque 12
ROWID ROWID
clave inicial final bitmap
<Blue, 10.0.3, 12.8.3, 1000100100010010100>
<Green, 10.0.3, 12.8.3, 0001010000100100000>
<Red, 10.0.3, 12.8.3, 0100000011000001001>
<Yellow, 10.0.3, 12.8.3, 0010001000001000010>
B-Tree Bitmap
Idneo para columnas de elevada Idneo para columnas de baja
cardinalidad cardinalidad
Actualiza las claves a un costo Las actualizaciones de las columnas
relativamente bajo clave son muy costosas
Ineficaz para las consultas Eficaces para las consultas
que utilizan predicados OR que utilizan predicados OR
INDEX_STATS
Disparadores de Restriccin de
base de datos integridad
Datos
Cdigo de
aplicacin
Tabla
Constraint Descripcin
NOT NULL Especifica que una columna no puede contener valores nulos
=
Datos nuevos Datos existentes
Sentencia DML
Comprueba las
restricciones no diferidas
COMMIT
Comprueba las
restricciones diferidas
S Hay algn S Es la S
Est activada ndice disponible restriccin Es el ndice
para utilizarlo? diferible? no nico?
la clave?
No No No/S
No No
No utilizar
Crear un ndice nico Crear un ndice no nico
ningn ndice
Bloquea la tabla
ENABLE Puede utilizar ndices
VALIDATE nicos o no nicos
Necesita datos de tabla
vlidos
ALTER TABLE hr.employees
ENABLE VALIDATE CONSTRAINT emp_dept_fk;
Historial de Bloqueo de
contraseas cuentas
Usuario Configuracin
de perfiles
Vencimiento y Verificacin de
antigedad contraseas
de contraseas
Parmetro Descripcin
FAILED_LOGIN_ATTEMPTS Nmero de intentos de conexin fallidos
antes de que se bloquee la cuenta
Parmetro Parmetro
PASSWORD_LIFE_TIME Das de duracin de la contrasea,
despus de los cuales vence
Parmetro Descripcin
PASSWORD_REUSE_TIME Nmero de das que deben transcurrir
para que una contrasea se pueda volver a utilizar
Parmetro Descripcin
PASSWORD_VERIFY_FUNCTION Funcin PL/SQL que realiza una
comprobacin de complejidad de
la contrasea antes de asignarla
nombre_funcin(
parmetro_identificador_usuario IN VARCHAR2(30),
parmetro_contrasea IN VARCHAR2(30),
parmetro_contrasea_antigua IN VARCHAR2(30))
RETURN BOOLEAN
Recurso Descripcin
Bloqueo de Tablespace
cuentas por defecto
Mecanismo Tablespace
de temporal
autenticacin
Dominio de
seguridad
Privilegios de Cuotas de
roles tablespace
Privilegios Lmites de
directos recursos
El parmetro O7_DICTIONARY_ACCESSIBILITY:
Controla las restricciones de los privilegios SYSTEM
Si se define en TRUE, permite acceder a los objetos
del esquema SYS
El valor por defecto es FALSE y garantiza que los
privilegios del sistema que permiten acceder a
todos los esquemas no permitan el acceso al
esquema SYS
GRANT
Usuarios
A B C
Privilegios
SELECT ON INSERT ON
JOBS JOBS
Por contrasea:
CREATE ROLE hr_clerk
IDENTIFIED BY bonus;
Privilegio EXECUTE en
EXECUTE_CATALOG_ROLE paquetes del diccionario de datos
Borrado de un rol:
Lo elimina de todos los usuarios y roles a los que se
otorg
Lo elimina de la base de datos
Requiere la opcin ADMIN OPTION o el privilegio
DROP ANY ROLE
Para borrar un rol:
Usuarios
Roles de
usuario HR_CLERK HR_MANAGER PAY_CLERK
Roles de la
aplicacin BENEFITS PAYROLL
Privilegios de la
aplicacin
Privilegios de Privilegios de pagos
beneficios
Protegido por
contrasea (no es el
valor por defecto) Rol por defecto
PAY_CLERK PAY_CLERK_RO
Archivo de Usuario
DBA
parmetros
Proceso de
Revisar la Especificar las servidor
informacin opciones de
de auditora auditora Generar pista
de auditora
Opciones
de auditora
Pista de
Base de
auditora del SO
datos
Pista de
auditora
Auditora de sentencias:
AUDIT TABLE;
Auditora de privilegios:
AUDIT create any trigger;
Auditora detallada:
Proporciona el control del acceso a los datos
basndose en el contenido
Se implementa con el paquete DBMS_FGA
Otras aplicaciones
Base de
datos
Exportar Oracle
SQL*Loader
Importar
Base de
datos
Oracle
Carga Directa
Proceso de
servidor
Tabla EMPLOYEES
Proceso Proceso
esclavo esclavo
Tabla EMPLOYEES
Bloque utilizado
Lmite superior
Espacio libre despus de
Segmentos temporales
la supresin
Desechado Aceptado
Seleccin de registros
Archivo
Seleccionado de errores
Oracle Server
Archivo de desechos
Insertado Rechazado
(opcional)
Archivo log
$sqlldr hr/hr \
> control=case1.ctl \
> log=case1.log direct=Y
case1.ctl
SQL*Loader
Tabla EMPLOYEES
case1.log
Convencional
Seguridad
Tabla Ruta de acceso
de datos directa
Lmite superior
Espacio utilizado slo por la carga
convencional
load2.dat SQL*Loader
load2.ctl
load3.dat
SQL*Loader
load3.ctl
Tabla
Lmite
superior
Archivo de errores:
SQL*Loader rechaza los registros si el formato de
entrada no es vlido.
Si la base de datos Oracle comprueba que la fila no es
vlida, se rechaza el registro y SQL*Loader lo coloca
en el archivo de errores.
Archivo de desechos:
Esta opcin slo se puede utilizar si se ha activado.
Este archivo contiene registros que se han filtrado
porque no coincidan con ningn criterio de seleccin
de registros especificado en el archivo de control.
Informacin de cabecera
Informacin global
Informacin de tabla
Informacin del archivo de datos
Informacin de la carga de tabla
Estadsticas de resumen
Estadsticas adicionales para cargas por rutas de
acceso directas e informacin multithread
Soporte de idioma
Soporte de territorio
Soporte del juego de caracteres
Ordenacin lingstica
Soporte de mensajes
Formatos de fecha y hora
Formatos numricos
Formatos monetarios
Dos posibilidades:
AL16UTF16
UTF8
Hay que tener en cuenta el espacio?
Hay que tener en cuenta el rendimiento?
Parmetro de inicializacin
Variable de entorno
Comando
ALTER SESSION
NLS_LANGUAGE especifica:
El idioma de los mensajes
Los nombres de das y meses
Los smbolos para d.C., a.C., a.m., p.m.
El mecanismo de ordenacin por defecto
NLS_TERRITORY especifica:
La numeracin de das y semanas
El formato de fecha por defecto, el carcter
decimal, el separador de grupos y los smbolos
de divisa ISO y locales por defecto
Parmetro Valores
NLS_LANGUAGE AMERICAN
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_DATE_FORMAT DD-MON-RR
NLS_NUMERIC_CHARACTERS ,.
Variable de entorno:
NLS_LANG=French_France.UTF8
Variables de entorno adicionales:
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_SORT
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_CALENDAR
NLS_LANG=
<idioma>_<territorio>.<juego_car
acteres>
NLS_NCHAR=<juego_caracteres_n>
DBMS_SESSION.SET_NLS(NLS_DATE_FORMAT,
DD.MM.YYYY) ;
SELECT TO_CHAR(hire_date,DD.Mon.YYYY,
NLS_DATE_LANGUAGE=FRENCH)
FROM employees;
Indexacin lingstica
Rendimiento elevado de la ordenacin local:
CREATE INDEX list_word ON
list (NLSSORT(word, NLS_SORT =
French_M));
NLS_DATABASE_PARAMETERS:
PARAMETER
(NLS_CHARACTERSET,
NLS_NCHAR_CHARACTERSET)
VALUE
NLS_INSTANCE_PARAMETERS:
PARAMETER (parmetros de inicializacin que se han
definido explcitamente)
VALUE
NLS_SESSION_PARAMETERS:
PARAMETER (parmetros de sesin)
VALUE
V$NLS_VALID_VALUES:
PARAMETER
(LANGUAGE, SORT, TERRITORY, CHARACTERSET)
VALUE
V$NLS_PARAMETERS:
PARAMETER (Parmetros de sesin NLS,
NLS_CHARACTERSET)
VALUE
1 2
Transaccin 1 Transaccin 2
4 3
1 2
1 2
5 3
4 3
4
Extensin inactiva
6 1
1 2
5 2
6 3
4 3
Extensin activa
ROLLBACK_SEGMENTS=(rbs01, rbs02)
S
Adquiera
segmentos de
rollback
pblicos.
Ponga online todos los
segmentos de rollback
adquiridos.
OLTP
Muchos segmentos de rollback pequeos
Cuatro transacciones por cada segmento de rollback
Hasta diez transacciones por cada segmento de
rollback
Batch
Pocos segmentos de rollback de gran tamao
Uno por cada transaccin
0.50
0.40
Probabilida
d de 0.30
ampliacin
0.20
0.10
0.00
0 10 20 30 40
Nmero de extensiones
SELECT * Bloque
Tabla FROM tabla reutilizado
Imagen nueva
Imagen al comienzo de la sentencia
Bloqueo
de
sesin
1 2
4 1
Extensin
5
3
3 2 3
4
Extensin existente
Nueva extensin