GRUPO DE UNO
Guía de Instalación y Manejo de PDB's
Base de Datos Oracle12c
Versión: 12.1.0.1
30-ABRIL-2014
Elaborado por:
José Fabre
Oracle
Certified Associate
@josefabrec
Índice General
1. Arquitectura de 12c
2. Datos generales
Sistema Operativo
Oracle Linux Server release 6.4
Instaladores del software Oracle 12c
*Para descargar los instaladores se debe crear una cuenta en Oracle http://www.oracle.com/ y descargar los paquetes de 12.1.0.1 para Linux
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Una vez los paquetes descargados copiar en la partición o en la partición donde se tenga espacio para instalar la base.
/u01/database/
3. Instalación Software Oracle
Una
vez iniciado el SO abrimos una terminal y ejecutamos la siguiente sentencia.
[oracle@docec
database]$ sh /u01/database/runInstaller
Se
levanta el Oracle Universal Installer
Nota: Las Primeras dos opciones saltar
Escogemos
la opción de instalar solo el software de Oracle
Seleccionamos
la opción de instancia simple de base de datos
Clic
Siguiente.
Idioma:
Ingles (En este caso la instalación sera en ingles)
Clic
Siguiente.
Clic
Siguiente.
La
ruta en la que se va instalar
Oracle Base:
/u01/app/Oracle
Software Location:
/u01/app/Oracle/product/12.1.0/dbhome_1
Clic
Siguiente.
Privilegios de SYS todo dba
Clic
Siguiente.
Comienza el avance del proceso de
instalación.
Nota: De existir problemas en los pre-requisitos de la instalación tomar en cuenta todos esos inconvenientes y solventarlos ya que eso depende el rendimiento de nuestra base si son paquetes instalar con yum -y <Nombre Paquete>
Nota: De existir problemas en los pre-requisitos de la instalación tomar en cuenta todos esos inconvenientes y solventarlos ya que eso depende el rendimiento de nuestra base si son paquetes instalar con yum -y <Nombre Paquete>
Una
vez que termina la instalación del software se debe ejecutar el fichero que
indica el asistente de instalación esta acción se debe hacer como root.. Abrimos una terminal nueva
Nota: Lo que hace estos
archivos es cambiar el propietario a los ficheros de oracle.a todas las opciones dejarlas por defecto aplicar con la tecla enter
4.
Instalación
del Listener
Para
la instalación del listener utilizamos el utilitario propio de oracle netca
(Net Configuration Assistant)
Abrimos
una terminal y ejecutamos
[oracle@docec database]$netca
Seleccionamos configuración de listener
Clic
siguiente.
Seleccionamos
Agregar un nuevo listener
Colocamos el nombre del Listener en este
caso es LISTENER
Clic
siguiente.
Seleccionamos TCP para permitir conexiones
de este tipo a la base
Clic
siguiente.
Usamos el puerto por defecto 1521
Iniciar (lsnrctl start) o revisar (lsnrctl status) el servicio del Listener ejecutando
en la terminal
[oracle@docec
database]$lsnrctl status
5. Instalación de CDBs y PDBs
Nota: Realizar este pasó
dos veces para instalar los dos conteiner
Para la instalación de CDBs utilizamos el
utilitario dbca (Database Configure Assistant)
Abrimos una termina y ejecutamos
[oracle@docec database]$dbca
Crear una base de datos
Clic
siguiente.
Clic
siguiente.
Base de datos de propósito general o
transaccional
Clic
siguiente.
Digitamos el nombre del CDB
Global Database Bame: container1.rfcg.com y container2.rfcg.com
Seleccionamos en Crear como una base de datos Container
Seleccionamos en Crear un Container con una o más PDBs
Nota: En la instalación del segundo
conteiner seleccionar Crear solo el
Container
PDB Name: pdb_1
Clic
siguiente.
Seleccionar
Configurar Enterprise Manager Database
Express en este caso no se necesita el Cloud
Control
Clic
siguiente.
Ingresamos la contraseña para SYS y SYSTEM
Clave: oracle_4U
Clic siguiente.
Seleccionar el Listener que se configuro anteriormente
Clave: oracle_4U
Clic siguiente.
Seleccionar el Listener que se configuro anteriormente
Clic
siguiente.
Tipo de almacenamiento File System
Nota:Se puede también instalar en +ASM
Nota:Se puede también instalar en +ASM
Clic
siguiente.
Tamaño de Memoria 40%
Máximo número de procesos:
300
Clic
siguiente.
Juego de caracteres: AL32UTF8
Clic
siguiente.
Clic
siguiente.
Seleccionar Crear base de datos
Clic en siguiente.
6. Crear una PDB a partir del SEED
Se crea las carpetas para la nueva PDB
dentro del container pata los datafile y tempfile para esto abrimos una
terminal y ejecutamos.
[oracle@docec ~]$ mkdir –p
/u01/app/oracle/oradata/container1/pdb_mktg/DATAFILE
[oracle@docec ~]$ mkdir -p
/u01/app/oracle/oradata/container1/pdb_mktg/TEMPFILE
A continuación se digita la sentencia para
crear una PDB como base la SEED$PDB
[oracle@docec ~]$. oraenv
ORACLE_SID =
[container1] ? container1
[oracle@docec ~]$
sqlplus / as sysdba
SQL> CREATE
PLUGGABLE DATABASE pdb_mktg
ADMIN USER
pdb_mktg_admin IDENTIFIED BY password
DEFAULT TABLESPACE
pdb_mktg_users_tbs
DATAFILE
'/u01/app/oracle/oradata/container1/pdb_mktg/DATAFILE/pdb_mktg_users_tbs_01.dat'
SIZE 1g
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/container1/pdbseed/','/u01/app/oracle/oradata/container1/pdb_mktg/')
STORAGE (MAXSIZE 10g
MAX_SHARED_TEMP_SIZE 10g)
PATH_PREFIX='/u01/app/oracle/oradata/container1/pdb_mktg/';
7. Crear una PDB usando CLONE
Se crea las carpetas para la nueva PDB
dentro del container1 pata los datafile y tempfile para esto abrimos una
terminal y ejecutamos.
[oracle@docec ~]$ mkdir –p /u01/app/oracle/oradata/container1/pdb_mktg_dev/DATAFILE
[oracle@docec ~]$ mkdir -p
/u01/app/oracle/oradata/container1/pdb_mktg_dev/TEMPFILE
A continuación se digita la sentencia para
crear una PDB usando CLONE
[oracle@docec pdb_1_dev]$ .
oraenv
ORACLE_SID =
[container1] ? container1
[oracle@docec ~]$
sqlplus / as sysdba
SQL>ALTER
PLUGGABLE DATABASE pdb_mktg OPEN;
SQL>ALTER
PLUGGABLE DATABASE pdb_mktg CLOSE IMMEDIATE;
SQL>ALTER PLUGGABLE
DATABASE pdb_mktg OPEN READ ONLY;
SQL>CREATE
PLUGGABLE DATABASE pdb_mktg_dev
from pdb_mktg
STORAGE (MAXSIZE 15g
MAX_SHARED_TEMP_SIZE 15g)
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/container1/pdb_mktg/','/u01/app/oracle/oradata/container1/pdb_mktg_dev/')
PATH_PREFIX='/u01/app/oracle/oradata/container1/pdb_mktg_dev/';
8. Conectar y Desconectar una PDB
[oracle@docec
~]$ mkdir -p /u01/app/pdbs
[oracle@docec
~]$ chmod ugo+rw /u01/app/pdbs
[oracle@docec pdb_1_dev]$ .
oraenv
ORACLE_SID =
[container1] ? container1
[oracle@docec ~]$
sqlplus / as sysdba
SQL> select
host_name,instance_name,version,status from v$instance;
HOST_NAME INSTANCE_NAME VERSION STATUS
-------------------------
---------------- ----------------- ------------
docec container1 12.1.0.1.0 OPEN
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
3 PDB_1 NORMAL
READ WRITE
SQL> spool
/u01/app/pdbs/pdb_1_files.txt
SQL> select name from v$datafile
where con_id=3;
NAME
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/container1/pdb_1/system01.dbf
/u01/app/oracle/oradata/container1/pdb_1/sysaux01.dbf
/u01/app/oracle/oradata/container1/pdb_1/pdb_1_users01.dbf
SQL> spool off
SQL> alter pluggable database pdb_1
unplug into '/u01/app/pdbs/pdb_1.xml';
alter pluggable database pdb_1 unplug
into '/u01/app/pdbs/pdb_1.xml'
*
ERROR at line 1:
ORA-65025: Pluggable database PDB_1 is
not closed on all instances.
SQL> alter pluggable database pdb_1
close immediate;
Pluggable database altered.
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
3 PDB_1 NORMAL
MOUNTED
SQL> alter pluggable database pdb_1
unplug into '/u01/app/pdbs/pdb_1.xml';
Pluggable database altered.
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
3 PDB_1 UNPLUGGED MOUNTED
SQL> alter pluggable database pdb_1
open read write;
alter pluggable database pdb_1 open read
write
*
ERROR at line 1:
ORA-65086: cannot open/close the
pluggable database
SQL> exit
[oracle@docec ~]$ ls -lh /u01/app/pdbs/
total 8.0K
-rw-r--r--. 1 oracle oinstall 1.1K Apr
29 19:40 pdb_1_files.txt
-rw-r--r--. 1 oracle oinstall 4.0K Apr
29 19:43 pdb_1.xml
[oracle@docec ~]$ vim
/u01/app/pdbs/pdb_1_files.txt
[oracle@docec pdbs]$ cp
/u01/app/oracle/oradata/container1/pdb_1/system01.dbf /u01/app/pdbs/
[oracle@docec pdbs]$ cp
/u01/app/oracle/oradata/container1/pdb_1/sysaux01.dbf /u01/app/pdbs/
[oracle@docec pdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/pdb_1_users01.dbf
/u01/app/pdbs/
Incluir
en la copia al temp
[oracle@docec
pdbs]$ cp /u01/app/oracle/oradata/container1/pdb_1/temp01.dbf /u01/app/pdbs/
[oracle@docec
pdbs]$ ls -lh /u01/app/pdbs/
total 906M
-rw-r--r--. 1 oracle oinstall 645 Apr 29 19:51 pdb_1_files.txt
-rw-r-----. 1 oracle oinstall 5.1M Apr
29 19:59 pdb_1_users01.dbf
-rw-r--r--. 1 oracle oinstall 4.0K Apr
29 19:43 pdb_1.xml
-rw-r-----. 1 oracle oinstall 641M Apr
29 19:59 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 261M Apr
29 19:53 system01.dbf
SQL>
exit
[oracle@docec pdb_1_dev]$ . oraenv
ORACLE_SID = [container1] ? container2
[oracle@docec ~]$ sqlplus / as sysdba
SQL> select
host_name,instance_name,version,status from v$instance;
HOST_NAME
INSTANCE_NAME VERSION STATUS
----------------------------------------------------------------
---------------- ----------------- ------------
docec
container2 12.1.0.1.0 OPEN
SQL> create pluggable database
pdb_1_dev AS CLONE using '/u01/app/pdbs/pdb_1.xml' FILE_NAME_CONVERT =
('/u01/app/oracle/oradata/container1/pdb_1/','/u01/app/oracle/oradata/container2/pdb_1_dev/');
Pluggable database created.
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
3 PDB_1_DEV NEW
MOUNTED
SQL> alter pluggable database
pdb_1_dev open read write;
Pluggable
database altered.
SQL>
exit
[oracle@docec pdb_1_dev]$ . oraenv
ORACLE_SID = [container1] ? container1
[oracle@docec ~]$ sqlplus / as sysdba
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
3 PDB_1 UNPLUGGED MOUNTED
4 PDB_MKTG NORMAL
READ ONLY
5 PDB_MKTG_DEV NEW MOUNTED
SQL> drop pluggable database pdb_1;
Pluggable database dropped.
SQL> select b.con_id,a.pdb_name,a.status,b.open_mode
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
from dba_pdbs a,v$pdbs b
where a.pdb_name=b.name
order by b.con_id;
CON_ID PDB_NAME STATUS
OPEN_MODE
---------- ------------ -------------
----------
2 PDB$SEED NORMAL
READ ONLY
4 PDB_MKTG NORMAL
READ ONLY
5 PDB_MKTG_DEV NEW MOUNTED
CONCLUSIONES
Después de revisar y realizar toda esta práctica usted debe ser capaz de:
Instalar el software de oracle 12c
Configurar 2 container
Crear Pluggable Dabaste de 3 formas
- A partir de la PDB SEED
-Utilizando CLONE
-Conectar y Desconectar (Unplug and Plug)
No hay comentarios:
Publicar un comentario