Está en la página 1de 8

Base de datos 1

1 de 8

http://promojdelgadom.com/oracle3.htm

Ubicacion de los archivos de inicio de Oracle


$ORACLE_HOME/dbs
Ubicacion delos control file, data file y redolog groups
/u02/oradata/ORCLBD/
Crea Tablesspace crecimiento Uniforme y manejos de segmentos manual
CREATE SMALLFILE TABLESPACE FAP1
DATAFILE '/u02/oradata/ORCLDB/FAP1.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 3K
SEGMENT SPACE MANAGEMENT MANUAL;
Crea Tablesspace crecimiento autoallocate y manejos de segmentos automatico
CREATE SMALLFILE TABLESPACE FAP2
DATAFILE '/u02/oradata/ORCLDB/FAP2.dbf'SIZE 5M
EXTENT MANAGEMENT LOCAL
AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
crea tablespace BIGFILE
CREATE BIGFILE TABLESPACE FAP3
DATAFILE '/u02/oradata/ORCLDB/FAP3.dbf' SIZE 100M;
crea tablespace temporal
CREATE TEMPORARY TABLESPACE tempfap TEMPFILE '/u02/oradata/TESTDB/tempfap.dbf' SIZE 5M AUTOEXTEND ON NEXT 1M
MAXSIZE unlimited EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
CREATE TEMPORARY TABLESPACE TEMPFAP TEMPFILE '/u02/oradata/ORCLDB/TEMPFAP.dbf' SIZE 5M AUTOEXTEND ON NEXT 1M
MAXSIZE unlimited EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
crea Undo Tablespace
CREATE SMALLFILE UNDO TABLESPACE UNDOFAP DATAFILE '/u02/oradata/ORCLDB/UNDOFAP.dbf' SIZE 5M;
CREATE UNDO TABLESPACE UNDOFAP1 DATAFILE '/u02/oradata/ORCLDB/UNDOFAP1.dbf' SIZE 100M AUTOEXTEND ON;
Configuracin de parmetros Undo de base de datos
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOFAP;
ALTER SYSTEM SET UNDO_MANAGEMENT=AUTO;
ALTER SYSTEM SET UNDO_RETENTION = 900;
Verificar controlfiles de la base de datos
sql>show parameter control;
Verificar Undo de la base de datos
sql> show parameter undo;
Creacin de un usuario con tablespace definido y temporary tablespace definido.
SQL> create user userfap identified by a12345 Default tablespace FAP2
Temporary tablespace TEMPFAP Profile Default Account unlock;
Creacin de un rol que permita crear objectos en todos los esquemas.
SQL> create role rol_creacion;
SQL>
SQL>
SQL>
SQL>

grant create any table to rol_creaccion;


grant create any Index to rol_creaccion;
grant create any view to rol_creaccion;
grant create any sequence to rol_creaccion;

Crear un perfil para controlar la seguridad de un usuario.


SQL> CREATE PROFILE perfile_FAP LIMIT
SESSIONS_PER_USER
2
CPU_PER_SESSION
DEFAULT
-- decimas de segundo
CPU_PER_CALL
DEFAULT
-- decimas de segundo
CONNECT_TIM
DEFAULT
-- minutos
IDLE_TIME
1
-- minutos
LOGICAL_READS_PER_SESSION DEFAULT -- DB BLOCKS
LOGICAL_READS_PER_CALL
DEFAULT -- DB BLOCKS
FAILED_LOGIN_ATTEMPTS
3 -- veces
PASSWORD_LIFE_TIME
30
-- dias
PASSWORD_REUSE_TIME
12
PASSWORD_REUSE_MAX
DEFAULT
-PASSWORD_LOCK_TIME
DEFAULT
-- dias
PASSWORD_GRACE_TIME
7
-- dias
PASSWORD_VERIFY_FUNCTION
NULL;
create profile profile_FAP

30/11/2015 14:04

Base de datos 1

2 de 8

http://promojdelgadom.com/oracle3.htm

limit sessions_per_user 2
idle_time 20
failed_login_attempts 3
password_life_time 30
password_reuse_time 5
password_grace_time 3;
Asigna rol y perfil a usuario.
SQL> Alter user userfap profile profile_FAP;
SQL> grant rol_creacion to userfap;
Creacin de tabla con varios tipos de constraints.
SQL> CREATE TABLE employees
( employee_id NUMBER(6)
CONSTRAINT emp_employee_id PRIMARY KEY
, first_name VARCHAR2(20)
, last_name
VARCHAR2(25)
CONSTRAINT emp_last_name_nn NOT NULL
, email
VARCHAR2(25)
CONSTRAINT emp_email_nn
NOT NULL CONSTRAINT emp_email_uk UNIQUE
, phone_number VARCHAR2(20)
, hire_date
DATE
CONSTRAINT emp_hire_date_nn NOT NULL
, job_id
VARCHAR2(10)
CONSTRAINT emp_job_nn
NOT NULL
, salary
NUMBER(8,2)
CONSTRAINT emp_salary_ck CHECK (salary>0)
, commission_pct NUMBER(2,2)
, manager_id NUMBER(6)
CONSTRAINT emp_manager_fk REFERENCES employees (employee_id)
, department_id NUMBER(4)
CONSTRAINT emp_dept_fk REFERENCES departments (department_id));
Diferencia entre las vistas de user, all y dba
SQL> select table_name, tablespace_name
from user_tables;
SQL> select owner,table_name, tablespace_name
from all_tables;
SQL> select table_owner,table_name, tablespace_name from dba_tables;
Configurar la BD en modo archive.
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> select log_mode from v$database;
Configuracion del flash_recovery area.
SQL> show parameter flash
SQL> show parameter recovery
SQL> alter system set DB_RECOVERY_FILE_DEST='/u02/flash_recovery_area'
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=1024;
Backup del control file de forma binaria y de texto.
SQL> alter database backup controlfile to trace as '/home/oracle/control.sql';
SQL> alter database backup controlfile to '/u02/control.ctl';
Backup full de la base de datos con RMAN
$ rman tager /
RMAN> show all; (para ver la configuracion del RMAN)
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE BACKUP OPTIMITATION ON;
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG DELETE INPUT;
SQL> alter system switch logfile; para recuperar hasta el ultimo commit
SQL> alter system archive log current;
fLASHBACK qUERY
SQL> select to_char(sysdate,'dd/mm/yyyy hh24:mi:ss') from dual;
sql> CREATE TABLE ventas (codigo INT);
insert into ventas values (1);
insert into ventas values (2);
insert into ventas values (3); dejando tiempos
sql> select * from ventas;
SQL> select versions_starttime,versions_endtime,versions_operation from ventas versions between scn minvalue and maxvalue;
SQL> select * from ventas as of timestamp sysdate -1/24/60*4;
SQL> select START_TIMESTAMP,LOGON_USER,OPERATION,UNDO_SQL from flashback_transaction_query where table_name='ventas';
sql> alter table ventas enable row movement; (antes de recuperar hay que activar la tabla)
para restaurar con flashback
flashback table ventas to timestamp sysdate -1/24/60*4;
para mover un tablespace a otro tablespace
alter table ventas move tablespace FAP3;

30/11/2015 14:04

Base de datos 1

3 de 8

http://promojdelgadom.com/oracle3.htm

Backup y Recovery
Uso del Flash Recovery Area
-Permanent items:
Copia de los Controlfiles multiplexados.
Copia de los redo log multiplexados.
-Transient items:
Archived redo logs
Copia de Data files
Control file autobackups
Backup pieces
Flashback logs

Definicion del Flash Recovery Area


El Flash Recovery Area se define con dos parmetros de configuracin:
- DB_RECOVERY_FILE_DEST_SIZE: Espacio Mximo
- DB_RECOVERY_FILE_DEST: Locacin del FRA
Estos parmetros son dinmicos
Backups se pueden realizar con:
- Recovery Manager (RMAN)
- Oracle Secure Backup
- User-managed backup
Estrategia de Backups
a) Whole Backup = Es un backup completo de toda la base de datos (Datafiles + Control
files, no incluye online redo logs).
b) Partial Database = Es cualquier elemento a backupear de una base de datos mientras
que no sea toda la base de datos.
c) Full = Incluye todos los data blocks de cada datafile que se backupea en un WHOLE o
PARTIAL DATABASE.
d) Incremental = Trae todos los nuevos data blocks modificados o creados desde el ltimo
backup. Existe 5 niveles de backups (De 0 a 4), 1 es el ms usado y 0 es el base line
(es un
full backup).
e) Consitente = Es un offline backup. (El SCN de cada datafile coincide con el SCN de
cada
control file).
f) Inconsistente = Online backups. SCN en el control file es inconsistente con respecto
a las
cabeceras de los data files. Inconsistente backups requieren recovery cuando ellos son
usados para una restauracin.
Mas conceptos
a) Backup Set = Es un conjunto de datafiles o archived redo logs que son almacenados en
1 solo archivo en un formato que solo es ledo por RMAN. (No incluye data blocks no
usados).
b) Image Copy = Copia data blocks usados y no usados, siendo una copia exacta de cada
datafile. (No puede ser enviado a TAPE directamente).

Recovery Manager (RMAN)


-Lenguaje de script muy til para backups.
-Se integra con el Enterprise Manager
-Posee una fcil integracin con los servicios de backups ofrecido

30/11/2015 14:04

Base de datos 1

4 de 8

http://promojdelgadom.com/oracle3.htm

-Backapea data, control, archivelog y spfles.


-Backapea la informacin de Disco o Tape

Backup Control File


Mtodo 1 (Teniendo el backup como texto)
SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Mtodo 2 (Teniendo el backup como binario)
SQL> ALTER DATABASE BACKUP CURRENT CONTROLFILE TO ruta_copiar_control_file;
Mtodo 3 (RMAN)
RMAN> BACKUP CURRENT CONTROLFILE;
Backup Base de Datos
Backup FRIO - Base de Datos:
SHUTDOWN IMMEDIATE / Copiar a nivel de S.O los files / STARTUP
Backup en CALIENTE Tablespace:
ALTER TABLESPACE nombre BEGIN BACKUP
Copiar a nivel de S.O los datafiles que componen el Tablespace.
ALTER TABLESPACE nombre END BACKUP
Si la base de datos es pequea: Podemos aplicar:
ALTER DATABASE BEGIN BACKUP / ALTER DATABASE END BACKUP;
En ambos casos los data blocks son solamente escritos en los redo logs y no va en los
data files. Cuando se coloca en END BACKUP se ejecuta un CHECKPOINT.
Backup con RMAN
RMAN> SHOW ALL (Verificar toda la configuracin).
Backup Copy
RMAN> BACKUP AS COPY DATABASE;
Backup Set
RMAN> BACKUP AS BACKUPSET DATABASE;
Backup Set Comprimido
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE;
Backup de solo Archivers
RMAN> BACKUP ARCHIVELOG ALL delete input;
Backup Base de Datos con Archivers
RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
Manetener la Base de datos Abierta
Despues que la Base de datos esta abierta. Puede fallar por los siguientes casos:
-Perdida de cualquier controlfile.
-Perdida de un datafile de SYSTEM y UNDO.
-Perdida de un grupo de Redos completo
Perdida del Control File
Si se pierde un controlfile, la instancia aborta y se cae. Para eso el DBA debe realizar
los siguientes pasos:
1. Bajar la Instancia (Si continua abierta).
2. Restaurar el controlfile fallido copiando un controlfile correcto ya existente.
3. Inicia la Base de datos.
Perdida del Redo Log file

30/11/2015 14:04

Base de datos 1

5 de 8

http://promojdelgadom.com/oracle3.htm

Si un miembro de un grupo de redo log se pierde y si el grupo tiene todava un miembro


activo, Se nota lo siguiente:
-La instancia no es afectada por la perdida.
-Recibe un mensaje en el log de base de datos indicando que falta un miembro en un grupo
de redos.
-Puedes restaurar un redo copiando el redo que esta activo.
Perdida de un Datafile en Modo NOARCHIVELOG
Si la base de datos esta en modo NOARCHIVELOG y un datafile se pierde, se debe realizar
lo siguiente:
1. Bajar al instancia, si aun no esta abajo.
2. Restaurar toda la Base de datos de un backup incluyendo todos los datafiles y
controlfiles.
3. Abrir la base de datos.
4. Todos los usuarios deben de insertar de nuevo sus cambios desde el backup realizado.
Perdida de un Datafile en Modo ARCHIVELOG
Si un datafile se pierde o se corrompe y si este datafile no pertenece al SYSTEM o UNDO
tablespace; puedes restaurar y recuperar el datafile sin problemas
Perdida de un Datafile Critico o de Sistema en Modo ARCHIVELOG
Si un datafile se pierde o se corrompe y si este datafile pertenece al SYSTEM o UNDO
tablespace; se debe realizar lo siguiente:
1. La instancia ya se debe haber cado, pero si no, bajarla con shutdown abort.
2. Montar la base de datos (Startup mount).
3. Restaurar y recuperar los datafiles perdidos.
4. Abrir la base de datos
Data Recovery Advisor
-Rpida deteccin, anlisis y recuperacin de fallos
-Fallas en Down-time y run-time.
-Interface Usuario:
Enterprise Manager
RMAN
-Bases de datos soportadas:
Una sola instancia
No soporta RAC
No analiza ni repara Bases de datos de contingencia.

===========================================
Tecnologias Flashback
No pasa por el Recyclebin
- DROP TABLE <table_name> [PURGE] ;
- DROP TABLESPACE <ts_name> [INCLUDING CONTENTS] ;
- DROP USER <user_name> [CASCADE] ;
Revisando el Recyclebin
- SELECT owner, original_name, object_name,
type, ts_name, droptime, related, space
FROM dba_recyclebin
WHERE can_undrop = 'YES';
- SQL> SHOW RECYCLEBIN
Consideraciones: Flashback Version Query
-La opcin VERSIONS no puede utilizarse en los objetos:

30/11/2015 14:04

Base de datos 1

6 de 8

http://promojdelgadom.com/oracle3.htm

Tablas Externas
Tablas temporales
Vistas
- La opcin VERSIONS no puede ir mas atras de una operacin DDL
Flashback Table
- Recupera una tabla a un tiempo determinado.
- Se realiza mientras la Base de datos esta Arriba.
- Se requiere el privilegio FLASHBACK ANY TABLE o el privilegio FLASHBACK sobre una
tabla especifica.
- Es necesario habilitar la opcin Row Movement en la tabla
- Las estadsticas no son afectadas.
- Los ndices ya creados se mantienen.
- Flashback Table:
-No se realizan en el tablespace SYSTEM.
-No puede regresar antes de un DML.
-Genera undo y redo.
ALTER TABLE employees ENABLE ROW MOVEMENT;
FLASHBACK TABLE hr.departments TO TIMESTAMP
TO_TIMESTAMP('2007-04-05 21:00:00',
'YYYY-MM-DD HH24:MI:SS');
Flashback Database
La operacin Flashback Database:
- Trabaja como una opcin de retroceso en la Base de datos
- Puede ser utilizada en caso de que se realice una corrupcin lgica en la base de
datos.
Configuracion del flashback database
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=2880 SCOPE=BOTH;
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;
Ejemplos
RMAN> FLASHBACK DATABASE TO TIME = "TO_DATE('2007-05-27 16:00:00','YYYY-MM-DD
HH24:MI:SS')";
RMAN> FLASHBACK DATABASE TO SCN=23565;
RMAN> FLASHBACK DATABASE TO SEQUENCE=223 THREAD=1;
SQL> FLASHBACK DATABASE TO TIMESTAMP(SYSDATE-1/24);
SQL> FLASHBACK DATABASE TO SCN 53943;
SQL> FLASHBACK DATABASE TO RESTORE POINT b4_load;
Proceso Data Archive
1. Creamos el Flashback Data Archive.
2. Especificamos el Flashback Data Archive utilizado por defecto.
3. Activamos el Flashback Data Archive.
4. Consultamos los datos del Flashback Data Archive
-- create the Flashback Data Archive
CREATE FLASHBACK ARCHIVE DEFAULT fla1
TABLESPACE tbs1 QUOTA 10G RETENTION 5 YEAR;
-- Specify the default Flashback Data Archive

30/11/2015 14:04

Base de datos 1

7 de 8

http://promojdelgadom.com/oracle3.htm

ALTER FLASHBACK ARCHIVE fla1 SET DEFAULT;

-- Enable Flashback Data Archive


ALTER TABLE inventory FLASHBACK ARCHIVE;
ALTER TABLE stock_data FLASHBACK ARCHIVE;
SELECT product_number, product_name, count FROM inventory AS OF
TIMESTAMP TO_TIMESTAMP ('2007-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS');
Agregar Espacio:
ALTER FLASHBACK ARCHIVE fla1
ADD TABLESPACE tbs3 QUOTA 5G;
Cambiar la retencion:
ALTER FLASHBACK ARCHIVE fla1 MODIFY RETENTION 2 YEAR;
Borrar Datos:
ALTER FLASHBACK ARCHIVE fla1 PURGE BEFORE TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' day);
Eliminar el flashback data archive:
DROP FLASHBACK ARCHIVE fla1;
Revisar Flashback Data Archives
Vistas (DBA/USER) Descripcion
*_FLASHBACK_ARCHIVE Muestra informacion sobre Flashback Data Archives
*_FLASHBACK_ARCHIVE_TS Muestra los tablespaces de Flashback Data Archives
*_FLASHBACK_ARCHIVE_TABLES Muestra informacin de tablas que tienen activo el flashback
archiving
=======================================
Oracle Data Pump: Overview
Oracle Data Pump es una opcin de alta performance para mover Data y Metadata :
-Es llamado va DBMS_DATAPUMP
-Cuenta con las siguientes herramientas:
expdp
impdp
Interface Web
-Cuenta con los mtodos de acceso:
Direct path
External tables
-Se puede dejar corriendo en background.
-Tiene la opcin de pausa y reinicio.
Beneficios
Fina opcin de objetos.
Ejecucin en Paralelo.
Modo Network para ambientes distribuidos.
Opcin de Remap durante el import.
Data sampling y metadata compression
Compresin de la informacin durante el export
Seguridad a travs de encriptacin.
Remap de Datos
Habilidad de exportar CLOBS en XML
Modos de Export e Import
Data Pump Export e Import:
Total

30/11/2015 14:04

Base de datos 1

8 de 8

http://promojdelgadom.com/oracle3.htm

Schema
Table
Tablespace
Transportable tablespace
Transformacin en Datapump Import
Puedes realizar la transformacin:
-Data files usando REMAP_DATAFILE
-Tablespaces usando REMAP_TABLESPACE
-Schemas usando REMAP_SCHEMA
-Tablas usando REMAP_TABLE
-Data usando REMAP_DATA
REMAP_DATAFILE = 'C:\oradata\tbs6.f':'/u1/tbs6.f'

Maxima Performance
Maximizando la performance del trabajo utilizando la opcin PARALLEL
expdp hr/hr FULL=y
DUMPFILE=dpdir1:full1%U.dmp, dpdir2:full2%U.dmp, dpdir3:full3%U.dmp
FILESIZE=2G PARALLEL=3
LOGFILE=dp_dir1:expfull.log JOB_NAME=expfull
SQL loader control File
-El SQL*Loader control file define:
-Lugar donde ser cargada la data.
-Formato de la data
Detalles de configuracin:
Manejo de Memoria
Registros no aceptados
Tipo de insercin
Indices:
-Es un objeto en un esquema
-Puede ser usado por Oracle para obtener informacin de forma rpida.
-Reduce el I/O utilizando mtodos de acceso rpido a la data.
-Es utilizado y mantenido automticamente por Oracle

Como se crea un indice?


-Automticamente: Un ndice nico se crea automticamente cuando se define un PRIMARY
KEY o UNIQUE constraint en una tabla.
-Manualmente: Usuarios crean ndices no nicos en columnas de una tabla

30/11/2015 14:04

También podría gustarte