SlideShare una empresa de Scribd logo
1 de 23
Francisco Cabrero Torres
[NOMBRE DE LA COMPAÑÍA] |[DIRECCIÓN DE LA COMPAÑÍA]
CURSO 2016-2017
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
Indice
1. Objetivo.......................................................................................................................2
2. Instalación de CENTOS 7................................................................................................2
a) Creación de usuarios .................................................................................................2
b) Desactivar hugepages................................................................................................3
c) Definición de variables de entorno Oracle:..................................................................4
3. Configuración Grid Infraestructure.................................................................................4
a) Añadir discos.............................................................................................................5
b) Instalación discos ......................................................................................................6
4. Instalación de Oracle.....................................................................................................7
a) Definición de Diskgroup.............................................................................................7
b) Creación de BBDD.....................................................................................................8
c) Comprobación parámetros BBDD.............................................................................10
5. Creación de esquema..................................................................................................13
6. Creación de usuarios...................................................................................................14
a) Creación de roles.....................................................................................................14
7. Backup.......................................................................................................................14
a) Completo físico.......................................................................................................15
b) Copias incrementales ..............................................................................................15
c) Backup archives ......................................................................................................16
d) Export dump...........................................................................................................16
8. Paso a histórico...........................................................................................................17
9. Estimación tamaño de los tablespaces.........................................................................19
10. Auditoria.................................................................................................................20
11. Notas finales...........................................................................................................21
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
1. Objetivo
Este trabajo va a constar de generaruna BBDD enASM, con las especificacionesindicadasenel
documento Proyecto fin decurso Curso oficial en administración deBBDD Oracle.
Para el desarrollodel proyectose vaa utilizarel software de virtualizaciónOracle Virtualbox
5.1.8 con lassiguientescaracterísticas:
 1 discoprincipal de 40 GB
 4 discosauxiliares SCSI
 8 GB de RAM
 SistemaoperativoLinux CentOS 7
La decisiónde elegirLinux,esparaimplantarunproyectodesde 0con el sistemamáscomún
que he observadoenmi trayectoriaprofesional,ademásque enlaprácticaesmucho más
seguroque otrossistemas.
2. Instalación de CENTOS 7
No se va a realizarunaguía, sobre como instalarel sistemaoperativo si nose vaa centrar en
detallarlospasos posteriores que hayque realizarenel Sistemaoperativoantesde realizarla
instalacióndel softwarede Oracle.
a) Creación de usuarios
Antesde generarlosusuarios,se debengeneraranivel de sistemaoperativolosgrupos, uno
para cada rol para tenerlosseparados.
Se han creado lossiguientesgrupos:
DBA: /usr/sbin/groupadd -g 54322 dba
OSBACKUPDBA: /usr/sbin/groupadd -g 54324 backupdba
OSDGDBA: /usr/sbin/groupadd -g 54325 dgdba
OSASMDBA: /usr/sbin/groupadd -g 54327 asmdba
OSASMADMIN: /usr/sbin/groupadd -g 54329 asmadmin
ORACLE INVENTORY GROUP: groupadd oinstall
Se va a crear un usuarioparacada rol
 Oracle para las BBDD
useradd -u 54321 -g oinstall -G dba,backupdba,dgdba oracle
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
b) Desactivar hugepages
Oracle recomiendadesactivarestafunciónenlosservidores,antesde realizarlainstalación.
(https://docs.oracle.com/database/122/CWLIN/disabling-transparent-hugepages.htm#CWLIN-
GUID-02E9147D-D565-4AF8-B12A-8E6E9F74BEEA) Para realizarloenladistribuciónde
CENTOS,se compruebaque efectivamentelotenemoshabilitado
Para deshabilitarlo:
[root@srvoracle12~]# cat/sys/kernel/mm/transparent_hugepage/enabled
[always] madvisenever
[root@srvoracle12~]# Grubby --default-kernel
/boot/vmlinuz-3.10.0-327.el7.x86_64
[root@srvoracle12~]# grubby --args="transparent_hugepage=never" --update-kernel
/boot/vmlinuz-3.10.0-327.el7.x86_64
Reinicio
[root@srvoracle12~]# cat /sys/kernel/mm/transparent_hugepage/enabled
alwaysmadvise [never]
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
c) Definición de variables de entorno Oracle:
Antesde lanzarla instalaciónse deberácrearlasvariablesconlasrutas recomendadas,para
ellose definenlassiguientes
3. Configuración Grid Infraestructure
Antesde ejecutarlainstalación,se debe prepararlosdispositivosde almacenamientoparaque
puedanserutilizadosporASM. Para laversiónde Centosexistenunaslibrerías(asmlib)que
permitenmarcarel hardware para poderserutilizadoporASM.
Estas libreríasse encuentrandisponiblesenlasiguientedirección:
http://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel7-2773795.html
Previamentese tiene que instalarlosprerrequisitos,conlautilidad
yum install kmod-oracleasm
yum install oracleasm-support-2.1.8-3.el7.x86_64.rpm
yum install oracleasmlib-2.0.12-1.el7.x86_64.rpm
Una vez que se haya instalado,se debe arrancalalibreríaasmlib,conlossiguientesvalores:
TMP=/tmp; export TMP
TEPDIR=$TMP; export TEPDIR
ORACLE_BASE=/softOracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export
ORACLE_HOME
GRID_HOME=/softOracle/app/oragrid/product/12.1.0/grid; export
GRID_HOME
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export
LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jli
b;
export CLASSPATH
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
a) Añadir discos
Se ha preparado 4 discosSCSIenla máquinavirtual para poderdar de altaDG enASM. Como
fines didácticosse vaa utilizarRedundanciaExterna,peroenlavidareal el sistemaoperativo
soloveráuna unidadlógicaperolaredundancialorealizarálascabinasensistemasRAID.
Se crearían lossiguientesdiscosconlossiguientescomandos:
[root@srvoracle12~]# oracleasmconfigure -i
Configuringthe Oracle ASMlibrarydriver.
Thiswill configure the on-bootpropertiesof the Oracle ASMlibrary
driver. The followingquestionswill determinewhetherthe driveris
loadedonbootand what permissionsitwill have. The currentvalues
will be showninbrackets('[]'). Hitting<ENTER> withouttypingan
answerwill keepthatcurrentvalue. Ctrl-Cwillabort.
Defaultusertoown the driverinterface []: oragrid
Defaultgroupto ownthe driverinterface []: asmadmin
Scan for Oracle ASMdisksonboot (y/n) [y]: y
WritingOracle ASMlibrarydriverconfiguration:done
oracleasm createdisk DATA1 /dev/sda1
oracleasm createdisk DATA2 /dev/sdb1
oracleasm createdisk DATA3 /dev/sdc1
oracleasm createdisk DATA4 /dev/sdd1
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
b) Instalación discos
Con todoslospreparativos,yaestapreparadoel servidorpararealizarlainstalación,a
continuaciónse indicanlasopcionesque se hanseleccionadoparallevaracabola instalación.
El discoprincipal donde se almacenaranlosdatosseránen+DG_DATA que estaráconstituido
solopor el discoDATA1
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
4. Instalación de Oracle
Para la instalaciónde Oracle,se eligesoloinstalarsoftware de Base de datos,lacreaciónde la
BBDD se indicaráa continuaciónconel asistente
a) Definición de Diskgroup
Se debe crear losdiskgroups paraalmacenarcada componente de labase de datos.Para
realizarlose hautilizadolautilidadasmcayse han creado4 grupos:
 DATA_ASM  Donde se encuentranlosdatosde la BBDD
 DG_DATA_HIST  Donde se guardaran losdatosde laBBDD histórico
 DG_FRA  Zonade la FastRecoveryArea.
 DG_REDO  Localizacióndonde se guardaránlosredos
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
b) Creación de BBDD
Para la creaciónde BBDD se usará el asistente de creaciónde Base de datos
Se elige personalizarloyaque lasotras plantillasnocumplentodoslosrequisitosque indican
enla practica.
Para evitarexcesivoconsumode memorianose montael Enterprise Manager
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
Aquí se especificalos4 gb de la FRA que es un requisitode lapractica
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
Se asignalos 700 MB y se utilizagestiónautomáticade memoriaque esotropuntorequisito
de la practica
En estapantallase define el tamañode bloque en16K
Los scriptsde creaciónse encuentran encrearTB y tablas,créate_DB_proyecto
c) Comprobación parámetros BBDD
Antesde avanzarcon la creaciónde la BBDD, se debe comprobarque losparámetrosse han
guardadocorrectamente.Analicemosunaauna lascaracterísticas que debe tener:
 Tamaño de bloque 16k
 4 gruposde redo con2 miembrosde cada uno.Este paso nose realizaenlacreación
de BBDD para habilitarlo
SQL> showparameterdb_block_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_block_size integer 16384
ALTER DATABASE
ADD LOGFILE GROUP 4 ('+DATA_ASM/PROYECTO/ONLINELOG/',
'+DG_FRA/PROYECTO/ONLINELOG/') SIZE 50M;
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
 4 ficherosde control
Esta parte se ha realizadogenerandounpfile desde el spfile,parandolaBBDD,copiandolos
controlfile aotraruta e indicandoenel pfile laubicaciónde loscontrolfile copiadosadicionales
a los que ya existen.
Se generael spfile del pfile yse arrancala BBDD.
SQL> selectgroup#,bytesfromv$log;
GROUP# BYTES
---------- ----------
1 52428800
2 52428800
3 52428800
4 52428800
1* select group#,member from v$logfile
GROUP# MEMBER
---------- --------------------------------------------------------
----
1 +DATA_ASM/PROYECTO/ONLINELOG/group_1.258.931188957
1 +DG_FRA/PROYECTO/ONLINELOG/group_1.268.931188957
2 +DATA_ASM/PROYECTO/ONLINELOG/group_2.264.931188959
2 +DG_FRA/PROYECTO/ONLINELOG/group_2.261.931188959
3 +DATA_ASM/PROYECTO/ONLINELOG/group_3.257.931188959
3 +DG_FRA/PROYECTO/ONLINELOG/group_3.260.931188959
4 +DATA_ASM/PROYECTO/ONLINELOG/group_4.262.931190789
4 +DG_FRA/PROYECTO/ONLINELOG/group_4.267.931190789
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
 Tamaño de SGA 4g
 Tamaño de la SGA 700M
SQL> showparametersga_max_size
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_max_size biginteger700M
SQL> selectname,value fromv$parameter
2 where name like 'contro%'
3 ;
NAME VALUE
-------------------- ----------------------------------------------------------------------------------------------------
control_files +DATA_ASM/PROYECTO/CONTROLFILE/current.266.931188957,
+DG_FRA/PROYECTO/CONTROLFILE/current.269.931188957,
+DATA_ASM/PROYECTO/CONTROLFILE/current,
+DG_FRA/PROYECTO/CONTROLFILE/currentbkp_fra
1* SELECT * FROM V$RECOVERY_FILE_DEST
NAME SPACE_LIMITSPACE_USED SPACE_RECLAIMABLE
NUMBER_OF_FILES CON_ID
-------------------------------------------------- ----------- ---------- ----------------- --------------- ----------
+DG_FRA 4294967296 942669824 0 7 0
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
 Gestiónautomáticade lamemoria
5. Creación de esquema
En el ficherocrearesquema.txtse encuentranloscomandosSQLpara la creacióndel esquema
indicadoenladocumentacióndel proyecto.
Se han creado dostablespaces,unoparadatosy otro para losíndices.El esquemaestacreado
totalmente enel tablespace de datos.
El usuariopropietariodel esquemaseráel usuarioOE,de el colgará todala estructuradel
proyecto
Segunladocu de ORACLE, estáactiva si lossiguientesvaloresestanasí
ALTER SYSTEM SET MEMORY_TARGET = nM;
ALTER SYSTEM SET SGA_TARGET = 0;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0;
SQL> showparametermemory_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
memory_target big integer700M
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sga_target biginteger0
SQL> showparameterpga_aggregate_target
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer0
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
6. Creación de usuarios
En el proyectoindicalacreaciónde variosusuariosenglobadosendistintosgruposcon
permisosdiferentes.Paraellose utilizaranlosrolesyunavezcreados,se asignaranlos
usuariosal rol correspondiente.
a) Creación de roles
Se crearan dos rolesunoque permitael borrado y otro que no.
Las asignacionesde permisosse detallanenel ficherogrants.txt,paracrear unusuarioy
asignárseloal rol se deberáasignarde la siguientemanera
Grant sin_delete to user1
Se ha elegidodarpermisosindividualmente porcadatablay por cada acción para evitarque se
cree una tablaen el esquemayque pordefectoestosusuariosnopuedanaccederaella.Si se
quiere daracceso bastaría con modificaryañadirloal rol correspondiente.
7. Backup
Al ser unabase de datosde producciónnose puede permitirperdidade servicioominimizarla
lomáximoposible.Antesde planificarlosscriptsse ha decididoponerlaBBDDen archivelog,
debidoaque las opcionesde recuperaciónsonmuchomásrápidasque enmodonoarchivelog.
CREATE ROLE SIN_DELETE_OE;
CREATE ROLE MODIFICACION_OE;
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
a) Completo físico
Se utilizarálautilidadRMAN,yeste backupestaráprogramadodiariamente de madrugada.Se
copiara todala BBDD, losarchives,controlfile yel spfile actual. Tambiénse borranlos
archivelogscopiadosylascopiasde seguridadobsoletas.
b) Copias incrementales
En el caso de BBDD grandesse puede utilizarlascopiasincrementalesdesde lautilidadRMAN,
si no se especificatodaslascopiasestánenel nivel 0y copiantodo. Si se quiere realizaruna
copiacon losficherosmodificadosdesde laultimacompletase utilizarael siguiente script.
La opciónlevel 1indicaraque solose copiaranlosarchivosmodificadosdesde el ultimobackup
level 0que se realizó.
LOG=`date +%d%m%H%M`_incr1.log
rman target/ <<EOF >$LOG
run {
backupincremental level 1database;
backuparchivelogall deleteinput;
}
EOF
rman target/ <<EOF >salida.txt
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backupdatabase;
backuparchivelogall deleteinput;
backupcurrent controlfile;
backupspfile;
delete nopromptobsolete;
}
EOF
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
c) Backup archives
El FS donde se guardanlosarchiveseslimitado,yenlasBBDD de producciónse suelengenerar
por elloypara evitarun mal mayor se tiene que saneareste FS.Paraelloconun periodomas
corto se deberálanzareste backup,donde se copiaranlosarchivesyse borraran del FSdel
servidor.
d) Export dump
Para realizarcopiasy transportarlasse optarápor este métodode exportaciónde datosa
otros entornosque se considerenoportunos.
Previamenteantesde generarlosexportsdebemoscrearundirectorioenel sistemaoperativo
y añadirloa laentrada de directoriosenOracle.
El exportserádel schemaOE que esel objetode backup.Para ellose utilizaráel siguiente
parfile:
Y el script que ejecutarael export
LOG=`date +%d%m%H%M`_archives.log
rman target/ <<EOF >$LOG
run {
backuparchivelogall deleteinput;
}
EOF
create directoryEXPORTSAS'/softOracle/app/oracle/exports'
DIRECTORY=EXPORTS
SCHEMAS=OE
DUMPFILE=EXPORT_OE.DMP
LOGFILE=EXPORT_OE.LOG
PASS=`cat ~/.pass`
exportORACLE_SID=proyecto
expdpuserid=system/$PASSparfile=export.parfile
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
El ficherode passwordestaráocultoenel home de Oracle y solotendrápermisosel usuario
Oracle para verlo.Coneste ficherose podráconectara laBBDD sinque un usuarioque nosea
el original del scriptpuedaverlo.(permiso600)
8. Paso a histórico
Se ha diseñadounaBD con igual esquemaque labase de datosoriginal paraguardar losdatos
obsoletosyasi agilizarlasconsultasconel año encurso. El pase a históricose hará unavezpor
año por loque loscriteriosque se han elegidoparapasarde la base de datos proyectoa la
históricoson:
 Pedidosde ese año
 Productosque esténdescatalogados
Estas tablasestaránenmodo sololecturay solose habilitaranlaescrituraunavezal año,
cuandose realice lacarga.
Para que el traspasode informaciónseatransparente yse ejecutede maneraautomática,el
usuarioque ejecute deberátenerpermisosadicionalesque permitancrearjob,proceduresy
database link. Se asignanal usuarioOE de histórico estospermisos.
El pasode informaciónse realizaráconundblinkde laBD historicoa lastablasde la BBDD
principal:
create database LINKlink_proyecto connecttooe identifiedbyoe using'PROYECTO';
grant create any jobto OE;
grant create any procedure toOE;
grant create database linktoOE;
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
SiendoPROYECTOunaentradadel tnsnames.ora
Ahorabien, comova a serun procesodesatendidose deberádejarunatraza con losposibles
erroresque se hayan producido.Paraellose generaráunatablaLOG donde se almacenarálos
erroresdel proceso.
Para el desarrollodel scriptse hafijadoenlastablasque se estimanuncrecimientoacusado:
 Tabla pedidos.Se pasarántodoslospedidosanterioresaeste año.
 Tabla detalle de pedidos.Se pasarántodoslosregistrosasociadosalospedidos
anterioresaeste año.
 Tabla inventarios.Se pasarántodoslosregistros que notengan enstock y que su
productoeste descatalogado.
Para las demástablasel purgadoserámanual,al no tenerun criterioporel que realizarlo.
El jobse realizarácada 1 de eneroa las 03:00, para que la BBDD esté listoparasu usoeste año
El scriptcompletose encuentraenel anexo“scriptpasoa histórico.sql”
PROYECTO =
(DESCRIPTION =
(ADDRESS= (PROTOCOL= TCP)(HOST= localhost)(PORT=1521))
(CONNECT_DATA =
(SERVER= DEDICATED)
(SERVICE_NAME= proyecto)
)
)
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
9. Estimación tamaño de los tablespaces
Teniendoencuentalasprevisionesde crecimientode losregistrosse haestimadoel tamañode lastablasutilizandoel método
sys.create_table_cost_columns.Coneste método,indicando todaslascolumnasde latablay el númerode registrosjuntoconel PCTUSED que pordefecto
esel 10% nos muestranlossiguientesresultados. Cálculosindicadosenel fichero“estimacióntamaño”
ESTIMACION TAMAÑO TABLAS (MB)
Tabla TAMAÑO CARGAINICIAL CRECIMIENTO ANUAL
FILAS
INICIALES FILAS INCREMENTAL AÑO PESO MEDIO TABLA
CUSTOMERS 43 3 150000 15000 10
ALMACENES 0,25 0,06 4000 400 19
INVENTARIOS 9 9 450000 450000 11
DETALLE DE PEDIDOS 1792 2240 50000000 63360000 11
PEDIDOS 1152 448 220000 792000 10
PRODUCT DESCRIPTIONS 336 34 150000 15000 346
INFORMACION DEPRODUCTOS 392 40 150000 15000 11
TOTAL 3724,25 2774,06 51124000 64602000 418
Tamaño total 6498,31
Para realizarunaestimaciónde loque creceránlastablasclientes,almacenes,descripcionesde productose informaciónde productos,yaque noexiste una
estimaciónapriori,se hará unaestimaciónde que creceránun10 % al año.Con estasindicacionesse tieneque generarel tablespace de datoseneste año
unos6,4 GB.
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
10. Auditoria
Se pide saberque usuarioshanrealizadolasaccionesselect,insert,update ydelete sobre las
tablasordersy orders_items.Pararealizarlaauditoriade selectnose puede realizarmediante
triggers.Se ejecutael comando
auditselectonoe.orders;
auditselectonoe.order_items;
Para consultarlosvaloresde auditoriaseleccionadosenestasauditoriase puedeconsultarcon
el comando:
SELECT USERNAME, SQL_TEXT, TIMESTAMP FROM DBA_AUDIT_TRAIL WHERE
SQL_TEXT LIKE 'SELECT %';
Para las operacionesde audiciónde insert,update ydeletesobre lastablasindicadasse
realizaramediante untriggerque insertara losvaloresenlatablade oe.auditar
En el campo tablase almacenaráel nombre de latablaafectada,enel caso seráorderso
orders_items.
En el campo operaciónse indicarási esINSERT,DELETE o UPDATE.
En campos se indicaránlosvaloresinsertados,borradosoanterioresal UPDATE.
En valor,se guardará los valoresactualizadosconel nuevovalor.
En usuario,se introduciráel usuarioque harealizadolaoperación
Fecha:el momentoque se produce el evento.
Los scripts,se encuentranenel anexoauditoria.txt
create table oe.auditar
( tablavarchar2(50),
operacionvarchar2(30),
camposvarchar2(1000),
valorvarchar2(2000),
usuariovarchar2(30),
fecha date
);
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
11. Lista de anexos
 ComprobaciónrequisitosBD
o Sql_test_BD.txt.Txtconlosscriptsutilizadosparacomprobarlosrequisitos
inicialesde laBBDD
 Backup
o Bkp_archives.txt.Scriptparaejecutarbackupde ficherosde archivado
o Crear directorio.txt.Sentenciaparadefinirel directoriodonde Oracle guardará
losdump
o Parfile.txt.Archivoque se utilizaparacogerlosparámetrosusadosenlosdata
pump
o Rman completa.sh.Scriptparabackupfull de BBDD,los logsde archives,
controlfile yspfile.Ademasborralascopias
o Rman_inc_0.sh.Scriptincremental 0con la utilidadRMAN
o Rman_inc_1.sh.Scriptincremental 1con la utilidadRMAN
o Sh export.txt.Ejecutableque lanzaunpumputilizandoel archivopar.
 Permisos
o Sentenciasutilizadasparacrearlosperfilesde accesode usuarios
 Estadísticas
o Sentenciasutilizadasparapasarlasestadísticas
 Crear TB y tablas
o CREATE_DB_proyecto.Scriptsgeneradosenel dbcapara la creaciónde BBDD
principal
o Crear esquema.txtScriptsparacrear tablespacesytablas.
 Estimacióntamaño
o Estimacióntamaño.txt. Sentenciasyrazonamientode espacioque ocuparála
BBDD
o Resumenespacio.xlsx.Enestahojase resumentodoslosdatosdel
crecimiento.
 Auditoria
o Auditoria.txt.Desarrollode triggersyscriptspara
 Pasoa histórico
o Crear esquemahistórico.txt Scriptsparacrear el esquemade laBBDD
histórico
o Créate dblink.txt.Entradadel tnsnames.oraysentenciaparacrear el database
link.
o scriptpaso a historico.sql.Procedimientoyprogramaciónparatraspasarla
informaciónde laBBDD online alahistórico.
ProyectoBBDD 2016- 2017
Autor:FranciscoCabrero Torres
12. Notas finales
Una vez realizadolacarga, se deberápasarlasestadísticasenlas tablaspara que Oracle pueda
ejecutarplanesde ejecuciónóptimospararecuperarlainformación.Parapasar lasestadísticas
al esquemaOEse harán el siguiente comando:
SQL> showparameterstatistics_level
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
statistics_level string TYPICAL
SQL>
EXEC dbms_stats.gather_schema_stats('OE',cascade=>TRUE);

Más contenido relacionado

Similar a Proyecto-oracle-master.docx

Similar a Proyecto-oracle-master.docx (20)

Instalacion Weblogic Server 11g Linux
Instalacion Weblogic Server 11g LinuxInstalacion Weblogic Server 11g Linux
Instalacion Weblogic Server 11g Linux
 
Placa base
Placa basePlaca base
Placa base
 
Curso dream weaver04
Curso dream weaver04Curso dream weaver04
Curso dream weaver04
 
Dreamweaver 2004
Dreamweaver 2004Dreamweaver 2004
Dreamweaver 2004
 
Manuaql de dreamweaver
Manuaql de dreamweaverManuaql de dreamweaver
Manuaql de dreamweaver
 
Trabajo hardware
Trabajo hardwareTrabajo hardware
Trabajo hardware
 
Mejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos OracleMejores Prácticas Administración de Base de Datos Oracle
Mejores Prácticas Administración de Base de Datos Oracle
 
Guía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/LinuxGuía de instalación de Debian GNU/Linux
Guía de instalación de Debian GNU/Linux
 
Hefesto v2.1
Hefesto v2.1Hefesto v2.1
Hefesto v2.1
 
X i4sp10 webappdep win_es
X i4sp10 webappdep win_esX i4sp10 webappdep win_es
X i4sp10 webappdep win_es
 
Manual usuario SNOB CAST
Manual usuario SNOB CASTManual usuario SNOB CAST
Manual usuario SNOB CAST
 
Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1
 
Dev c++
Dev c++Dev c++
Dev c++
 
Bbdd
BbddBbdd
Bbdd
 
Archi_NlayerApp
Archi_NlayerAppArchi_NlayerApp
Archi_NlayerApp
 
Practica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilanPractica 2003 server_acitve_directory_fran_gavilan
Practica 2003 server_acitve_directory_fran_gavilan
 
manual
manualmanual
manual
 
Dfs manual s
Dfs manual sDfs manual s
Dfs manual s
 
Dfs manual s
Dfs manual sDfs manual s
Dfs manual s
 
Manual mantenimiento
Manual mantenimientoManual mantenimiento
Manual mantenimiento
 

Proyecto-oracle-master.docx

  • 1. Francisco Cabrero Torres [NOMBRE DE LA COMPAÑÍA] |[DIRECCIÓN DE LA COMPAÑÍA] CURSO 2016-2017
  • 2. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres Indice 1. Objetivo.......................................................................................................................2 2. Instalación de CENTOS 7................................................................................................2 a) Creación de usuarios .................................................................................................2 b) Desactivar hugepages................................................................................................3 c) Definición de variables de entorno Oracle:..................................................................4 3. Configuración Grid Infraestructure.................................................................................4 a) Añadir discos.............................................................................................................5 b) Instalación discos ......................................................................................................6 4. Instalación de Oracle.....................................................................................................7 a) Definición de Diskgroup.............................................................................................7 b) Creación de BBDD.....................................................................................................8 c) Comprobación parámetros BBDD.............................................................................10 5. Creación de esquema..................................................................................................13 6. Creación de usuarios...................................................................................................14 a) Creación de roles.....................................................................................................14 7. Backup.......................................................................................................................14 a) Completo físico.......................................................................................................15 b) Copias incrementales ..............................................................................................15 c) Backup archives ......................................................................................................16 d) Export dump...........................................................................................................16 8. Paso a histórico...........................................................................................................17 9. Estimación tamaño de los tablespaces.........................................................................19 10. Auditoria.................................................................................................................20 11. Notas finales...........................................................................................................21
  • 3. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 1. Objetivo Este trabajo va a constar de generaruna BBDD enASM, con las especificacionesindicadasenel documento Proyecto fin decurso Curso oficial en administración deBBDD Oracle. Para el desarrollodel proyectose vaa utilizarel software de virtualizaciónOracle Virtualbox 5.1.8 con lassiguientescaracterísticas:  1 discoprincipal de 40 GB  4 discosauxiliares SCSI  8 GB de RAM  SistemaoperativoLinux CentOS 7 La decisiónde elegirLinux,esparaimplantarunproyectodesde 0con el sistemamáscomún que he observadoenmi trayectoriaprofesional,ademásque enlaprácticaesmucho más seguroque otrossistemas. 2. Instalación de CENTOS 7 No se va a realizarunaguía, sobre como instalarel sistemaoperativo si nose vaa centrar en detallarlospasos posteriores que hayque realizarenel Sistemaoperativoantesde realizarla instalacióndel softwarede Oracle. a) Creación de usuarios Antesde generarlosusuarios,se debengeneraranivel de sistemaoperativolosgrupos, uno para cada rol para tenerlosseparados. Se han creado lossiguientesgrupos: DBA: /usr/sbin/groupadd -g 54322 dba OSBACKUPDBA: /usr/sbin/groupadd -g 54324 backupdba OSDGDBA: /usr/sbin/groupadd -g 54325 dgdba OSASMDBA: /usr/sbin/groupadd -g 54327 asmdba OSASMADMIN: /usr/sbin/groupadd -g 54329 asmadmin ORACLE INVENTORY GROUP: groupadd oinstall Se va a crear un usuarioparacada rol  Oracle para las BBDD useradd -u 54321 -g oinstall -G dba,backupdba,dgdba oracle
  • 4. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres b) Desactivar hugepages Oracle recomiendadesactivarestafunciónenlosservidores,antesde realizarlainstalación. (https://docs.oracle.com/database/122/CWLIN/disabling-transparent-hugepages.htm#CWLIN- GUID-02E9147D-D565-4AF8-B12A-8E6E9F74BEEA) Para realizarloenladistribuciónde CENTOS,se compruebaque efectivamentelotenemoshabilitado Para deshabilitarlo: [root@srvoracle12~]# cat/sys/kernel/mm/transparent_hugepage/enabled [always] madvisenever [root@srvoracle12~]# Grubby --default-kernel /boot/vmlinuz-3.10.0-327.el7.x86_64 [root@srvoracle12~]# grubby --args="transparent_hugepage=never" --update-kernel /boot/vmlinuz-3.10.0-327.el7.x86_64 Reinicio [root@srvoracle12~]# cat /sys/kernel/mm/transparent_hugepage/enabled alwaysmadvise [never]
  • 5. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres c) Definición de variables de entorno Oracle: Antesde lanzarla instalaciónse deberácrearlasvariablesconlasrutas recomendadas,para ellose definenlassiguientes 3. Configuración Grid Infraestructure Antesde ejecutarlainstalación,se debe prepararlosdispositivosde almacenamientoparaque puedanserutilizadosporASM. Para laversiónde Centosexistenunaslibrerías(asmlib)que permitenmarcarel hardware para poderserutilizadoporASM. Estas libreríasse encuentrandisponiblesenlasiguientedirección: http://www.oracle.com/technetwork/server-storage/linux/asmlib/rhel7-2773795.html Previamentese tiene que instalarlosprerrequisitos,conlautilidad yum install kmod-oracleasm yum install oracleasm-support-2.1.8-3.el7.x86_64.rpm yum install oracleasmlib-2.0.12-1.el7.x86_64.rpm Una vez que se haya instalado,se debe arrancalalibreríaasmlib,conlossiguientesvalores: TMP=/tmp; export TMP TEPDIR=$TMP; export TEPDIR ORACLE_BASE=/softOracle/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1; export ORACLE_HOME GRID_HOME=/softOracle/app/oragrid/product/12.1.0/grid; export GRID_HOME PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jli b; export CLASSPATH
  • 6. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres a) Añadir discos Se ha preparado 4 discosSCSIenla máquinavirtual para poderdar de altaDG enASM. Como fines didácticosse vaa utilizarRedundanciaExterna,peroenlavidareal el sistemaoperativo soloveráuna unidadlógicaperolaredundancialorealizarálascabinasensistemasRAID. Se crearían lossiguientesdiscosconlossiguientescomandos: [root@srvoracle12~]# oracleasmconfigure -i Configuringthe Oracle ASMlibrarydriver. Thiswill configure the on-bootpropertiesof the Oracle ASMlibrary driver. The followingquestionswill determinewhetherthe driveris loadedonbootand what permissionsitwill have. The currentvalues will be showninbrackets('[]'). Hitting<ENTER> withouttypingan answerwill keepthatcurrentvalue. Ctrl-Cwillabort. Defaultusertoown the driverinterface []: oragrid Defaultgroupto ownthe driverinterface []: asmadmin Scan for Oracle ASMdisksonboot (y/n) [y]: y WritingOracle ASMlibrarydriverconfiguration:done oracleasm createdisk DATA1 /dev/sda1 oracleasm createdisk DATA2 /dev/sdb1 oracleasm createdisk DATA3 /dev/sdc1 oracleasm createdisk DATA4 /dev/sdd1
  • 7. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres b) Instalación discos Con todoslospreparativos,yaestapreparadoel servidorpararealizarlainstalación,a continuaciónse indicanlasopcionesque se hanseleccionadoparallevaracabola instalación. El discoprincipal donde se almacenaranlosdatosseránen+DG_DATA que estaráconstituido solopor el discoDATA1
  • 8. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 4. Instalación de Oracle Para la instalaciónde Oracle,se eligesoloinstalarsoftware de Base de datos,lacreaciónde la BBDD se indicaráa continuaciónconel asistente a) Definición de Diskgroup Se debe crear losdiskgroups paraalmacenarcada componente de labase de datos.Para realizarlose hautilizadolautilidadasmcayse han creado4 grupos:  DATA_ASM  Donde se encuentranlosdatosde la BBDD  DG_DATA_HIST  Donde se guardaran losdatosde laBBDD histórico  DG_FRA  Zonade la FastRecoveryArea.  DG_REDO  Localizacióndonde se guardaránlosredos
  • 9. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres b) Creación de BBDD Para la creaciónde BBDD se usará el asistente de creaciónde Base de datos Se elige personalizarloyaque lasotras plantillasnocumplentodoslosrequisitosque indican enla practica. Para evitarexcesivoconsumode memorianose montael Enterprise Manager
  • 10. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres Aquí se especificalos4 gb de la FRA que es un requisitode lapractica
  • 11. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres Se asignalos 700 MB y se utilizagestiónautomáticade memoriaque esotropuntorequisito de la practica En estapantallase define el tamañode bloque en16K Los scriptsde creaciónse encuentran encrearTB y tablas,créate_DB_proyecto c) Comprobación parámetros BBDD Antesde avanzarcon la creaciónde la BBDD, se debe comprobarque losparámetrosse han guardadocorrectamente.Analicemosunaauna lascaracterísticas que debe tener:  Tamaño de bloque 16k  4 gruposde redo con2 miembrosde cada uno.Este paso nose realizaenlacreación de BBDD para habilitarlo SQL> showparameterdb_block_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_block_size integer 16384 ALTER DATABASE ADD LOGFILE GROUP 4 ('+DATA_ASM/PROYECTO/ONLINELOG/', '+DG_FRA/PROYECTO/ONLINELOG/') SIZE 50M;
  • 12. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres  4 ficherosde control Esta parte se ha realizadogenerandounpfile desde el spfile,parandolaBBDD,copiandolos controlfile aotraruta e indicandoenel pfile laubicaciónde loscontrolfile copiadosadicionales a los que ya existen. Se generael spfile del pfile yse arrancala BBDD. SQL> selectgroup#,bytesfromv$log; GROUP# BYTES ---------- ---------- 1 52428800 2 52428800 3 52428800 4 52428800 1* select group#,member from v$logfile GROUP# MEMBER ---------- -------------------------------------------------------- ---- 1 +DATA_ASM/PROYECTO/ONLINELOG/group_1.258.931188957 1 +DG_FRA/PROYECTO/ONLINELOG/group_1.268.931188957 2 +DATA_ASM/PROYECTO/ONLINELOG/group_2.264.931188959 2 +DG_FRA/PROYECTO/ONLINELOG/group_2.261.931188959 3 +DATA_ASM/PROYECTO/ONLINELOG/group_3.257.931188959 3 +DG_FRA/PROYECTO/ONLINELOG/group_3.260.931188959 4 +DATA_ASM/PROYECTO/ONLINELOG/group_4.262.931190789 4 +DG_FRA/PROYECTO/ONLINELOG/group_4.267.931190789
  • 13. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres  Tamaño de SGA 4g  Tamaño de la SGA 700M SQL> showparametersga_max_size NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_max_size biginteger700M SQL> selectname,value fromv$parameter 2 where name like 'contro%' 3 ; NAME VALUE -------------------- ---------------------------------------------------------------------------------------------------- control_files +DATA_ASM/PROYECTO/CONTROLFILE/current.266.931188957, +DG_FRA/PROYECTO/CONTROLFILE/current.269.931188957, +DATA_ASM/PROYECTO/CONTROLFILE/current, +DG_FRA/PROYECTO/CONTROLFILE/currentbkp_fra 1* SELECT * FROM V$RECOVERY_FILE_DEST NAME SPACE_LIMITSPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID -------------------------------------------------- ----------- ---------- ----------------- --------------- ---------- +DG_FRA 4294967296 942669824 0 7 0
  • 14. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres  Gestiónautomáticade lamemoria 5. Creación de esquema En el ficherocrearesquema.txtse encuentranloscomandosSQLpara la creacióndel esquema indicadoenladocumentacióndel proyecto. Se han creado dostablespaces,unoparadatosy otro para losíndices.El esquemaestacreado totalmente enel tablespace de datos. El usuariopropietariodel esquemaseráel usuarioOE,de el colgará todala estructuradel proyecto Segunladocu de ORACLE, estáactiva si lossiguientesvaloresestanasí ALTER SYSTEM SET MEMORY_TARGET = nM; ALTER SYSTEM SET SGA_TARGET = 0; ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 0; SQL> showparametermemory_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ memory_target big integer700M NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ sga_target biginteger0 SQL> showparameterpga_aggregate_target NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ pga_aggregate_target big integer0
  • 15. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 6. Creación de usuarios En el proyectoindicalacreaciónde variosusuariosenglobadosendistintosgruposcon permisosdiferentes.Paraellose utilizaranlosrolesyunavezcreados,se asignaranlos usuariosal rol correspondiente. a) Creación de roles Se crearan dos rolesunoque permitael borrado y otro que no. Las asignacionesde permisosse detallanenel ficherogrants.txt,paracrear unusuarioy asignárseloal rol se deberáasignarde la siguientemanera Grant sin_delete to user1 Se ha elegidodarpermisosindividualmente porcadatablay por cada acción para evitarque se cree una tablaen el esquemayque pordefectoestosusuariosnopuedanaccederaella.Si se quiere daracceso bastaría con modificaryañadirloal rol correspondiente. 7. Backup Al ser unabase de datosde producciónnose puede permitirperdidade servicioominimizarla lomáximoposible.Antesde planificarlosscriptsse ha decididoponerlaBBDDen archivelog, debidoaque las opcionesde recuperaciónsonmuchomásrápidasque enmodonoarchivelog. CREATE ROLE SIN_DELETE_OE; CREATE ROLE MODIFICACION_OE;
  • 16. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres a) Completo físico Se utilizarálautilidadRMAN,yeste backupestaráprogramadodiariamente de madrugada.Se copiara todala BBDD, losarchives,controlfile yel spfile actual. Tambiénse borranlos archivelogscopiadosylascopiasde seguridadobsoletas. b) Copias incrementales En el caso de BBDD grandesse puede utilizarlascopiasincrementalesdesde lautilidadRMAN, si no se especificatodaslascopiasestánenel nivel 0y copiantodo. Si se quiere realizaruna copiacon losficherosmodificadosdesde laultimacompletase utilizarael siguiente script. La opciónlevel 1indicaraque solose copiaranlosarchivosmodificadosdesde el ultimobackup level 0que se realizó. LOG=`date +%d%m%H%M`_incr1.log rman target/ <<EOF >$LOG run { backupincremental level 1database; backuparchivelogall deleteinput; } EOF rman target/ <<EOF >salida.txt run { allocate channel c1 type disk; allocate channel c2 type disk; backupdatabase; backuparchivelogall deleteinput; backupcurrent controlfile; backupspfile; delete nopromptobsolete; } EOF
  • 17. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres c) Backup archives El FS donde se guardanlosarchiveseslimitado,yenlasBBDD de producciónse suelengenerar por elloypara evitarun mal mayor se tiene que saneareste FS.Paraelloconun periodomas corto se deberálanzareste backup,donde se copiaranlosarchivesyse borraran del FSdel servidor. d) Export dump Para realizarcopiasy transportarlasse optarápor este métodode exportaciónde datosa otros entornosque se considerenoportunos. Previamenteantesde generarlosexportsdebemoscrearundirectorioenel sistemaoperativo y añadirloa laentrada de directoriosenOracle. El exportserádel schemaOE que esel objetode backup.Para ellose utilizaráel siguiente parfile: Y el script que ejecutarael export LOG=`date +%d%m%H%M`_archives.log rman target/ <<EOF >$LOG run { backuparchivelogall deleteinput; } EOF create directoryEXPORTSAS'/softOracle/app/oracle/exports' DIRECTORY=EXPORTS SCHEMAS=OE DUMPFILE=EXPORT_OE.DMP LOGFILE=EXPORT_OE.LOG PASS=`cat ~/.pass` exportORACLE_SID=proyecto expdpuserid=system/$PASSparfile=export.parfile
  • 18. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres El ficherode passwordestaráocultoenel home de Oracle y solotendrápermisosel usuario Oracle para verlo.Coneste ficherose podráconectara laBBDD sinque un usuarioque nosea el original del scriptpuedaverlo.(permiso600) 8. Paso a histórico Se ha diseñadounaBD con igual esquemaque labase de datosoriginal paraguardar losdatos obsoletosyasi agilizarlasconsultasconel año encurso. El pase a históricose hará unavezpor año por loque loscriteriosque se han elegidoparapasarde la base de datos proyectoa la históricoson:  Pedidosde ese año  Productosque esténdescatalogados Estas tablasestaránenmodo sololecturay solose habilitaranlaescrituraunavezal año, cuandose realice lacarga. Para que el traspasode informaciónseatransparente yse ejecutede maneraautomática,el usuarioque ejecute deberátenerpermisosadicionalesque permitancrearjob,proceduresy database link. Se asignanal usuarioOE de histórico estospermisos. El pasode informaciónse realizaráconundblinkde laBD historicoa lastablasde la BBDD principal: create database LINKlink_proyecto connecttooe identifiedbyoe using'PROYECTO'; grant create any jobto OE; grant create any procedure toOE; grant create database linktoOE;
  • 19. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres SiendoPROYECTOunaentradadel tnsnames.ora Ahorabien, comova a serun procesodesatendidose deberádejarunatraza con losposibles erroresque se hayan producido.Paraellose generaráunatablaLOG donde se almacenarálos erroresdel proceso. Para el desarrollodel scriptse hafijadoenlastablasque se estimanuncrecimientoacusado:  Tabla pedidos.Se pasarántodoslospedidosanterioresaeste año.  Tabla detalle de pedidos.Se pasarántodoslosregistrosasociadosalospedidos anterioresaeste año.  Tabla inventarios.Se pasarántodoslosregistros que notengan enstock y que su productoeste descatalogado. Para las demástablasel purgadoserámanual,al no tenerun criterioporel que realizarlo. El jobse realizarácada 1 de eneroa las 03:00, para que la BBDD esté listoparasu usoeste año El scriptcompletose encuentraenel anexo“scriptpasoa histórico.sql” PROYECTO = (DESCRIPTION = (ADDRESS= (PROTOCOL= TCP)(HOST= localhost)(PORT=1521)) (CONNECT_DATA = (SERVER= DEDICATED) (SERVICE_NAME= proyecto) ) )
  • 20. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 9. Estimación tamaño de los tablespaces Teniendoencuentalasprevisionesde crecimientode losregistrosse haestimadoel tamañode lastablasutilizandoel método sys.create_table_cost_columns.Coneste método,indicando todaslascolumnasde latablay el númerode registrosjuntoconel PCTUSED que pordefecto esel 10% nos muestranlossiguientesresultados. Cálculosindicadosenel fichero“estimacióntamaño” ESTIMACION TAMAÑO TABLAS (MB) Tabla TAMAÑO CARGAINICIAL CRECIMIENTO ANUAL FILAS INICIALES FILAS INCREMENTAL AÑO PESO MEDIO TABLA CUSTOMERS 43 3 150000 15000 10 ALMACENES 0,25 0,06 4000 400 19 INVENTARIOS 9 9 450000 450000 11 DETALLE DE PEDIDOS 1792 2240 50000000 63360000 11 PEDIDOS 1152 448 220000 792000 10 PRODUCT DESCRIPTIONS 336 34 150000 15000 346 INFORMACION DEPRODUCTOS 392 40 150000 15000 11 TOTAL 3724,25 2774,06 51124000 64602000 418 Tamaño total 6498,31 Para realizarunaestimaciónde loque creceránlastablasclientes,almacenes,descripcionesde productose informaciónde productos,yaque noexiste una estimaciónapriori,se hará unaestimaciónde que creceránun10 % al año.Con estasindicacionesse tieneque generarel tablespace de datoseneste año unos6,4 GB.
  • 21. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 10. Auditoria Se pide saberque usuarioshanrealizadolasaccionesselect,insert,update ydelete sobre las tablasordersy orders_items.Pararealizarlaauditoriade selectnose puede realizarmediante triggers.Se ejecutael comando auditselectonoe.orders; auditselectonoe.order_items; Para consultarlosvaloresde auditoriaseleccionadosenestasauditoriase puedeconsultarcon el comando: SELECT USERNAME, SQL_TEXT, TIMESTAMP FROM DBA_AUDIT_TRAIL WHERE SQL_TEXT LIKE 'SELECT %'; Para las operacionesde audiciónde insert,update ydeletesobre lastablasindicadasse realizaramediante untriggerque insertara losvaloresenlatablade oe.auditar En el campo tablase almacenaráel nombre de latablaafectada,enel caso seráorderso orders_items. En el campo operaciónse indicarási esINSERT,DELETE o UPDATE. En campos se indicaránlosvaloresinsertados,borradosoanterioresal UPDATE. En valor,se guardará los valoresactualizadosconel nuevovalor. En usuario,se introduciráel usuarioque harealizadolaoperación Fecha:el momentoque se produce el evento. Los scripts,se encuentranenel anexoauditoria.txt create table oe.auditar ( tablavarchar2(50), operacionvarchar2(30), camposvarchar2(1000), valorvarchar2(2000), usuariovarchar2(30), fecha date );
  • 22. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 11. Lista de anexos  ComprobaciónrequisitosBD o Sql_test_BD.txt.Txtconlosscriptsutilizadosparacomprobarlosrequisitos inicialesde laBBDD  Backup o Bkp_archives.txt.Scriptparaejecutarbackupde ficherosde archivado o Crear directorio.txt.Sentenciaparadefinirel directoriodonde Oracle guardará losdump o Parfile.txt.Archivoque se utilizaparacogerlosparámetrosusadosenlosdata pump o Rman completa.sh.Scriptparabackupfull de BBDD,los logsde archives, controlfile yspfile.Ademasborralascopias o Rman_inc_0.sh.Scriptincremental 0con la utilidadRMAN o Rman_inc_1.sh.Scriptincremental 1con la utilidadRMAN o Sh export.txt.Ejecutableque lanzaunpumputilizandoel archivopar.  Permisos o Sentenciasutilizadasparacrearlosperfilesde accesode usuarios  Estadísticas o Sentenciasutilizadasparapasarlasestadísticas  Crear TB y tablas o CREATE_DB_proyecto.Scriptsgeneradosenel dbcapara la creaciónde BBDD principal o Crear esquema.txtScriptsparacrear tablespacesytablas.  Estimacióntamaño o Estimacióntamaño.txt. Sentenciasyrazonamientode espacioque ocuparála BBDD o Resumenespacio.xlsx.Enestahojase resumentodoslosdatosdel crecimiento.  Auditoria o Auditoria.txt.Desarrollode triggersyscriptspara  Pasoa histórico o Crear esquemahistórico.txt Scriptsparacrear el esquemade laBBDD histórico o Créate dblink.txt.Entradadel tnsnames.oraysentenciaparacrear el database link. o scriptpaso a historico.sql.Procedimientoyprogramaciónparatraspasarla informaciónde laBBDD online alahistórico.
  • 23. ProyectoBBDD 2016- 2017 Autor:FranciscoCabrero Torres 12. Notas finales Una vez realizadolacarga, se deberápasarlasestadísticasenlas tablaspara que Oracle pueda ejecutarplanesde ejecuciónóptimospararecuperarlainformación.Parapasar lasestadísticas al esquemaOEse harán el siguiente comando: SQL> showparameterstatistics_level NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ statistics_level string TYPICAL SQL> EXEC dbms_stats.gather_schema_stats('OE',cascade=>TRUE);