Oracle Database 12c: “Upgrade” a “Oracle Database 12c” ( Parte IV )
Por Joel Pérez y Javier Ruiz (OCP)Publicado en Enero 2014
Indice
1. Oracle Database 12c: “Upgrade” a “Oracle Database 12c” ( Parte I )
2. Oracle Database 12c: “Upgrade” a “Oracle Database 12c” ( Parte II )
3. Oracle Database 12c: “Upgrade” a “Oracle Database 12c” ( Parte III )
4. Oracle Database 12c: “Upgrade” a “Oracle Database 12c” ( Parte IV )
Continuamos…
En el origen ( 11gR2 ) creamos un directorio para alojar los “Export Dump Files” and “RMAN files”
$mkdir -p /orabkup/dbtest1/dpdumpCreando directorio en la BBDD origen para el “Export Job”
SQL>create directory "EXP_DATA_PUMP_DIR" as '/orabkup/dbtest1/dpdump/';En la base de datos origen se establecen en modo “Read Only” los “Tablespaces” que contienen la “Data” de aplicación ( “USERS” & “SOE” )
SQL> alter tablespace USERS read only; SQL> alter tablespace SOE read only;
Ejecución de “Full Export” en la BBDD origen con el establecimiento del parámetro “VERSION=12” y el “TRANSPORTABLE=ALWAYS”
$expdp \'sys/temp1234 AS SYSDBA\' full=y job_name=EXPORT_DEV2DB dumpfile=datapump_dev2db.dmp DIRECTORY=EXP_DATA_PUMP_DIR LOGFILE=export_datapump_dev2db.log VERSION=12 transportable=alwaysDivise con atención que el “feedback” de la actividad de “Export” indica de forma explicita cuales son “Tablespaces” a exportar y sus respectivos “Datafiles”
Ejecución de “RMAN” para respaldar fisicamente los “Datafile” en “filesystem”. Dicho respaldo se pudiera realizar con diversas técnicas, para el caso presente lo realizaremos con “CONVERT DATAFILE”
$rman target / run { CONVERT DATAFILE '+DATADG/dbtest1/datafile/soe.262.814263143' DB_FILE_NAME_CONVERT="+DATADG/dbtest1/datafile/soe.262.814263143","/orabkup/dbtest1 /dpdump/soe.262.814263143" FORMAT='/orabkup/dbtest1/dpdump/soe.262.814263143'; CONVERT DATAFILE '+DATADG/dbtest1/datafile/users.260.814258995' DB_FILE_NAME_CONVERT="+DATADG/dbtest1/datafile/users.260.814258995","/orabkup/dbtes t1/dpdump/users.260.814258995" FORMAT='/orabkup/dbtest1/dpdump/users.260.814258995'; }En el origen los “Tablespaces” pueden retornar a modo “Read-Write”
SQL> alter tablespace USERS read write; SQL> alter tablespace SOE read write;Creación de Directorio en el “Target Server”
$mkdir -p /orabkup/dbtest1Transferencia de Archivos del “Source Server” al “Target Server”
- “Datafiles”
- “Export Dump Files”
$scp -r dpdump oracle@alpddbs002:/orabkup/dbtest1/
En el destino nos conectamos con una “CDB” previamente creada y procedemos a crear una “PDB” para nuestro escenario. Como nuestro objetivo es crear una “PDB” vacía ( respecto a “Tablespaces” de “Data” ) y adecuada para la tarea entonces procedemos a crearla con el siguiente “SQL Statement”
“Feedback” en el “Alert log file” durante y posterior a la creación de nuestra target “PDB” “dev2db”. El “PDB id” otorgado a nuestra “PDB” es “5”, numero que utilizaremos con referencia para visualizar información mas adelante
Apertura de la “PDB dev2db”
SQL> Alter pluggable database dev2db open read write;Visualizando nuestra “PDB dev2db” en modo “Read-Write”, fecha de apertura, medida en “MB” y su respectivo “PDB id”
Desde el “CBD” revisión de los “Datafiles” de la “PDB dev2db”. Tal como puede observarse posee solo 2 “Datafiles” pertenecientes a los 2 “Tablespaces” base de una “PDB”
Creación de Directorio ASM para el almacenamiento de “Datafiles”
$asmcmd -p ASMCMD>cd dg01 ASMCMD>mkdir DEV2DB
Llegados a este punto utilizaremos “RMAN” para restaurar al “ASM Target” los “Datafiles” traídos desde “Solaris”.
$rman RMAN>CONNECT TARGET sys/temp1234@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=alpddbs002)(PORT=1521))(CONNECT_DATA=(SID=testdbs))) RMAN>run { CONVERT DATAFILE '/orabkup/dbtest1/dpdump/soe.262.814263143' DB_FILE_NAME_CONVERT="/orabkup/dbtest1/dpdump/soe.262.814263143", "+DG01/dev2db/soe_data_1" FORMAT='+DG01/dev2db/soe_data_1'; CONVERT DATAFILE '/orabkup/dbtest1/dpdump/users.260.814258995' DB_FILE_NAME_CONVERT="/orabkup/dbtest1/dpdump/users.260.814258995", "+DG01/dev2db/users_data_1" FORMAT='+DG01/dev2db/users_data_1'; }
Creación de Directorio en la “PDB dev2db” para operación de “Import”
SQL>CREATE DIRECTORY "IMP_DATA_PUMP_DIR" AS '/orabkup/dbtest1/dpdump/';“Import full” en el cual comprobaremos la funcionalidad objeto del articulo. Para el caso presente renombraremos el “Tablespace” “SOE” a “SOE_DATA” para ejemplificar que a través de esta actividad es oportunidad ideal para renombrar “Tablespaces” si asi fuese deseado.
$/orabase/product/12.1.0/db_1/bin/impdp \'sys/temp1234@" (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = alpddbs002)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dev2db)(INSTANCE_NAME=testdbs)))" AS SYSDBA\' full=y dumpfile=datapump_dev2db.dmp DIRECTORY=IMP_DATA_PUMP_DIR LOGFILE=import_datapump_dev2db.log VERSION=12 TRANSPORT_DATAFILES=+DG01/dev2db/ soe_data_1,+DG01/dev2db/users_data_1 job_name=imp_dev2db parallel=2 REMAP_TABLESPACE='SOE':'SOE_DATA'“Feedback” en el “Alert log” donde se visualiza el “plugging” de los “Tablespaces” transportados:
- “SOE_DATA”
- “USERS”
Nos conectamos a la “PDB dev2db” y visualizamos el resultado del transporte realizado enteramente a través de las siguientes pantallas
Y con esto hemos realizado un “Upgrade” con la nueva característica “Full Transportable Export/Import”.
No hay comentarios:
Publicar un comentario