Sie sind auf Seite 1von 10

Base de datos 1

1 de 10

http://promojdelgadom.com/oracle1.htm

Base de datos 1
Proceso de auditoria de Base de Datos:
tema 1 datafiles.
tema 2 flashback.
1.-Verificamos si la base de datos utiliza el archivo de parmetros en forma
de texto (pfile) o en forma binaria (spfile)
[oracle@oracle10G ~]$ cd $ORACLE_HOME
[oracle@oracle10G db_1]$ cd dbs
[oracle@oracle10G dbs]$ ls
spfileORCL.ora spfile
initORCL.ora pfile

2.-Verificamos cuantos controlfiles utiliza la base de datos y donde se


encuentran.
[oracle@oracle10G dbs]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 1 21:30:19 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> show parameter control
NAME
TYPE
VALUE
------------------------------------ ---------------------------------------control_file_record_keep_time
integer
7
control_files
string
/u02/oradata/ORCLBD/control01.
ctl, /u02/oradata/ORCLBD/contr
ol02.ctl, /u02/oradata/ORCLBD/
control03.ctl
SQL> quit
[oracle@oracle10G dbs]$ cd /u02/oradata/ORCLBD/
[oracle@oracle10G ORCLBD]$ ls control*
control01.ctl control02.ctl control03.ctl

3. Verificamos cuantos redolog groups estn definidos.


SQL> select l.group#, l.members,l.status, f.type,f.member from v$log l, v$logfile f where
l.group#=f.group#;
GROUP# MEMBERS STATUS
TYPE
MEMBER
------------------- ---------------- -----------------------------------1
1
CURRENT
ONLINE /u02/oradata/ORCLBD/redo01.log
3
1
INACTIVE
ONLINE /u02/oradata/ORCLBD/redo03.log
2
1
INACTIVE
ONLINE /u02/oradata/ORCLBD/redo02.log

30/11/2015 14:03

Base de datos 1

2 de 10

http://promojdelgadom.com/oracle1.htm

4. Obtenemos la ubicacin de los datafiles.


SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------/u02/oradata/ORCLBD/system01.dbf
/u02/oradata/ORCLBD/undotbs01.dbf
/u02/oradata/ORCLBD/sysaux01.dbf
/u02/oradata/ORCLBD/users01.dbf

Base de datos 2
1. tablespace local management.
o Crecimiento Uniforme y Manejo de segmentos manual.
SQL> CREATE SMALLFILE TABLESPACE FAP1
DATAFILE '/u02/oradata/ORCLBD/FAP1.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 3K
SEGMENT SPACE MANAGEMENT MANUAL;

o Crecimiento Autollocate y Manejo de segmentos automtico.


SQL> CREATE SMALLFILE TABLESPACE FAP2
DATAFILE '/u02/oradata/ORCLBD/FAP2.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL
AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO

2. tablespace BIGFILE.
SQL> CREATE BIGFILE TABLESPACE FAP3
DATAFILE '/u02/oradata/ORCLBD/FAP3.dbf' SIZE 100M

3. tablespace temporal. por defecto


SQL> CREATE TEMPORARY TABLESPACE temp1
TEMPFILE '/u02/oradata/TESTDB/temp1.dbf' SIZE 5M
AUTOEXTEND ON NEXT 1M MAXSIZE unlimited
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M;

4. tablespace undo.
SQL> CREATE SMALLFILE UNDO TABLESPACE UNDO1
DATAFILE '/u02/oradata/ORCLBD/UNDO1.dbf' SIZE 5M

30/11/2015 14:03

Base de datos 1

3 de 10

http://promojdelgadom.com/oracle1.htm

Base de datos 3
Configuracin del Undo para evitar problemas en operaciones largas.
1. Creacin del Undo tablespace.
SQL> CREATE UNDO TABLESPACE UNDOFAP DATAFILE ''/U02/ORADATA/ORCLBD
/UNDOFAP.DBF' SIZE 100M AUTOEXTEND ON;

2. Configuracin de parmetros de base de datos


ALTER SYSTEM SET UNDO_TABLESPACE=UNDOFAP;
ALTER SYSTEM SET UNDO_MANAGEMENT=AUTO;
ALTER SYSTEM SET UNDO_RETENTION = 900;

30/11/2015 14:03

Base de datos 1

4 de 10

http://promojdelgadom.com/oracle1.htm

Base de datos 4
Se desea crear usuarios para que puedan acceder desde los
aplicativos recin instalados.

Sintaxis completa:
CREATE USER username
IDENTIFIED {BY password | EXTERNALLY | GLOBALLY AS 'external_name'}
options;
Donde options:
DEFAULT TABLESPACE tablespace
TEMPORARY TABLESPACE tablespace
QUOTA int {K | M} ON tablespace
QUOTA UNLIMITED ON tablespace
PROFILE profile_name
PASSWORD EXPIRE
ACCOUNT {LOCK|UNLOCK}

1. Creacin de un usuario con tablespace definido y temporary tablespace

definido.
SQL> create usuariofap1 identified by 123456
Default tablespace FAP2
Temporary tablespace TEMPFAP
Profile Default
Account unlock;

2. Creacin de un usuario con password expirado y cuota ilimitada en el

tablespace FAP1.
SQL> create usuariofap2 identified by 123456
Profile Default
Password expire
Quota unlimited on FAP1
Account unlock;

3. 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;

30/11/2015 14:03

Base de datos 1

5 de 10

http://promojdelgadom.com/oracle1.htm

4. Creacin de 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_TIME
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;

5. Asignacin del rol y el perfil creados al usuario anteriormente creado.


SQL> Alter user usuariofap1 profile perfile_FAP ;
SQL> grant rol_creacion to usuariofap1;

6. 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)
);

Base de datos 4

30/11/2015 14:03

Base de datos 1

6 de 10

http://promojdelgadom.com/oracle1.htm

Manipular las vistas del diccionario de datos


1.

Observar la diferencia entre las vistas de user, all y dba

SQL> select table_owner,table_name, tablespace_name from user_tables;


SQL> select table_owner,table_name, tablespace_name from all_tables;
SQL> select table_owner,table_name, tablespace_name from dba_tables;

2. Observar

que vistas estn disponibles en los diferentes estados de la Base

de datos
SQL> startup nomount
SQL> select * from v$instance;
SQL> alter database mount
SQL> select * from v$database;
SQL> select * from v$datafile;
SQL> select * from v$logfile;
SQL> alter database open
SQL> select * from dba_tablespaces;
SQL> select * from dba_indexes;

3. Observar

cmo obtener la informacin de contraints

SQL> select * from dba_contraints;


SQL> select * from dba_con_columns;

1. Configurar la base de datos en modo Archive


2. Realizar Backup de los diferentes componentes de base de
datos.
Desarrollo
1.

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;

2. Configuracion

del flash_recovery area.

30/11/2015 14:03

Base de datos 1

7 de 10

http://promojdelgadom.com/oracle1.htm

SQL> alter system set DB_RECOVERY_FILE_DEST=/u02/flas_recovery_area


SQL> alter system DB_RECOVERY_FILE_DEST_SIZE=1024;

3. Backup

del control file de forma binaria y de texto.

SQL> alter database backup controlfile to trace;


SQL> alter database backup current controlfile to /u02/control.ctl;

4. Backup

full de la base de datos con RMAN

[oracle@oracle10G ~]$ rman tager /


RMAN> show all; (para ver la configuracion del RMAN)
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG DELETE INPUT;

Restaurar los controlfiles desde un backup


7. Crear un backup del controlfile.
SQL> alter database backup controlfile to trace as /home/oracle/control.sql;

8. Simular la perdida de los controlfiles.


[oracle@oracle10G ~]$ cd /u02/oradata/ORCLBD/
[oracle@oracle10G ORCLBD]$ ls
BIGFAP1.dbf control03.ctl FAP2.dbf.old redo03.log temp01.dbf undotbs01.dbf
control01.ctl FAP1_1.dbf redo01.log sysaux01.dbf tempfap01.dbf users01.dbf
control02.ctl FAP2_1.dbf redo02.log system01.dbf undofap01.dbf
[oracle@oracle10G ORCLBD]$ mv control01.ctl /u02/oradata/.

9. Levantar en estado no mount la base de datos


[oracle@oracle10G ORCLBD]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 14 10:22:58 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount

10. Revisar el backup del controlfile para utilizar el script con Noresetlogs
CREATE CONTROLFILE REUSE DATABASE "ORCLBD" NORESETLOGS ARCHIVELOG

11. Correr el script


SQL> @control.sql (editarlo hasta la primera parte y borrar lineas en blanco)

12. Crear un backup de base de datos


[oracle@oracle10G ~]$ rman target /

30/11/2015 14:03

Base de datos 1

http://promojdelgadom.com/oracle1.htm

Recovery Manager: Release 10.2.0.1.0 - Production on Tue Sep 14 10:31:37 2010


Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORCLBD (DBID=2538048315)
RMAN> backup as compressed backupset database plus archivelog delete input;

13. Borrar todos los datafiles


[oracle@oracle10G ~]$ cd /u02/oradata/ORCLBD/
[oracle@oracle10G ORCLBD]$ ls
BIGFAP1.dbf control03.ctl FAP2.dbf.old redo03.log temp01.dbf undotbs01.dbf
control01.ctl FAP1_1.dbf redo01.log sysaux01.dbf tempfap01.dbf users01.dbf
control02.ctl FAP2_1.dbf redo02.log system01.dbf undofap01.dbf
[oracle@oracle10G ORCLBD]$ rm *.dbf

SQL> shutdown abort;


SQL> startup mount;
14. Restaurar los datafiles del backup
RMAN> restore database

15. Recuperar los datafiles del backup


RMAN> recover database

Uso de tecnologas Flashback


1. Flashback Query
SQL> select * from tabla as of timestamp (to_timestamp ('fecha','DD-MM-YYYY HH24:MI:SS'));
SQL> select * from hgonzales.test15 as of timestamp sysdate -1/24/60*3;

2. Flashback Version Query


SQL> select versions_xid, ... from tabla versions between timestamp t1 and t2
SQL> select versions_starttime, versions_endtime, versions_operation, a from

hgonzales.test15 versions between scn minvalue and maxvalue;


SQL> select versions_xid, ... from tabla versions between scn minvalue and maxvalue
Columnas ocultas:
versions_starttime
versions_endtime
versions_startscn
versions_endscn
versions_XID
versions_operation

8 de 10

30/11/2015 14:03

Base de datos 1

9 de 10

http://promojdelgadom.com/oracle1.htm

3. Flashback Transaction Query


SQL> select table_name, operation, undo_sql from flashback_transaction_query
where xid = valor;

4. Flashback Table
SQL> flashback table tabla to timestamp t1 (enable triggers);

5. Flashback drop
SQL> flashback table tabla to before drop;

Export datapump
1.

Creacin del objeto Directorio

SQL> create or replace directory directorio as '/tmp';

2. Export

Datapump.

expdp userid=system/oracle directory= directorio full=y dumpfile=full_bd_exp.dmp


expdp userid=system/oracle directory= directorio schemas=SYSTEM dumpfile=system_exp.dmp
expdp userid=system/oracle directory= directorio schemas=SYSTEM dumpfile=system_exp_nocompleto.dmp
logfile=system_exp_nocompleto.log exclude=TABLE:"LIKE'MITABLA'"

Sql loader
1.

Archivo de control

LOAD DATA (Inicia con este comando, otros valores: CONTINUE LOAD DATA si deseamos continuar una carga
que fue interrumpida)
INFILE * (El * indica que la data esta dentro del contro file)
INTO TABLE tabla TRUNCATE|INSERT (default),APPEND,REPLACE(Borra la tabla antes de comenzar a
cargarla)
FIELDS TERMINATED BY ',' (Indica como es el parseo)
BEGINDATA
1,"Martin",28
2,"Gabriela",29

30/11/2015 14:03

Base de datos 1

10 de 10

http://promojdelgadom.com/oracle1.htm

2. Insercion de archivo de datos


[oracle@pcoracle tmp]$ cat empleado.ctl
OPTIONS (DIRECT=TRUE)
LOAD DATA
INFILE '/tmp/empleadodata.txt'
BADFILE '/tmp/empleadobad.log'
DISCARDFILE 'empleadodescartados.log'
INTO TABLE EMPLEADO_BK APPEND
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(CODIGO,NOMBRE,EDAD)
[oracle@pcoracle tmp]$ cat empleadodata.txt
06,"Gabriela",29
07,"Manuel",45
08,"Gady",25

30/11/2015 14:03

Das könnte Ihnen auch gefallen