You are on page 1of 13

Steps to db1m database to 12.2 and migration.

Ref: 12c Release 2 (12.2) E86577-02 December 2017


Document Change Log

Revision Date Author Description of change

1.0 2018-02-05 Joshua Ehiguese Document Creation.

Clone the pdbg to geoPDBQA in the kokodbcdb2 container.


Add service that will be needed for cloning.
{noden1:kojudb} $ srvctl add service -db kojudb -service pdbg_s -pdb pdbg -
preferred kojudb,kojudb2
{noden1:kojudb} $ srvctl status service -db kojudb -s pdbg_s
Service pdbg_s is not running.
{noden1:kojudb} $ srvctl start service -db kojudb -s pdbg_s
{noden1:kojudb} $ srvctl status service -db kojudb -s pdbg_s
Service pdbg_s is running on instance(s) kojudb,kojudb2
{noden1:kojudb} $ lsnrctl status LISTENER | grep -i pdbg
Service "pdbg.domain.com" has 1 instance(s).
Service "pdbg_s.domain.com" has 1 instance(s).
{noden1:kojudb} $

Update tns entries on all cluster nodes and confirm tnsping.


{noden1:kojudb} $ tnsping pdbg

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 02-FEB-2018


14:10

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
zoro2))
OK (0 msec)
{noden1:kojudb} $

Create database link in the target cdb.

{noden1:kokodbcdb2} $ export ORACLE_SID=kokodbkojudb


{noden1:kokodbkojudb} $ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Fri Feb 2 14:13:06 2018

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select instance_name,status from gv$instance;

INSTANCE_NAME STATUS
---------------- ------------
kokodbkojudb OPEN
kokodbkojudb OPEN

SQL> create database link pdbg_link connect to system identified by <passwd>


using 'pdbg';

Database link created.

SQL>
Confirm Application data with oem or toad or sql developer

SQL> show pdbs; SQL> select instance_name,status from


gv$instance;
CON_ID CON_NAME
OPEN MODE RESTRICTED INSTANCE_NAME STATUS
---------- -------------- ---------------- ------------
---------------- -------- db1m1 OPEN
-- ---------- db1m2 OPEN
3 PDBQA
READ WRITE NO SQL> > col PARAMETER for a30
SQL> SP2-0734: unknown command beginning "> col
PARA..." - rest of line ignored.
SQL> SQL> show pdbs; SQL> col VALUE for a30
SQL> col PARAMETER for a30
CON_ID CON_NAME SQL> select * from nls_database_parameters where
OPEN MODE RESTRICTED parameter like '%CHARACTERSET';
---------- --------------
---------------- -------- PARAMETER VALUE
-- ---------- ------------------------------ ------------------
3 PDBQA ------------
READ WRITE NO NLS_NCHAR_CHARACTERSET AL16UTF16
SQL> > col PARAMETER for NLS_CHARACTERSET WE8MSWIN1252
a30
SP2-0734: unknown command SQL>
beginning "> col PARA..." SQL>
- rest of line ignored. SQL> select count(*) from v$datafile;
SQL> col PARAMETER for
a30 COUNT(*)
SQL> col VALUE for a30 ----------
SQL> select * from 95
nls_database_parameters
where parameter like SQL> select username from dba_users where
'%CHARACTERSET'; oracle_maintained='N' order by 1;

PARAMETER USERNAME
VALUE -------------------------------------------------
------------------------- -------------------------------
----- ------------------- BEAURIC
----------- KOZORORPT
NLS_NCHAR_CHARACTERSET ZOROZORODW
AL16UTF16 CODESET
NLS_CHARACTERSET DBAAPP
WE8MSWIN1252 DBA_DEPLOY
DBA_SYSTEM
SQL> FOP
SQL> select count(*) from FORTSTE
v$datafile; GAIHONG
KOWAJOH
COUNT(*)
---------- USERNAME
95 -------------------------------------------------
-------------------------------
LEONYVE
SQL> select username from LIUJINS
dba_users where ZORO
oracle_maintained='N' ZORO_DRUPAL
order by 1; ZORO_ORT
PARADATA
USERNAME SCOTT
------------------------- SQLTXADMIN
------------------------- SQLTXPLAIN
------------------------- SUMERIC
------------------------- TANGHAI
-------------------------
--- USERNAME
BEAURIC -------------------------------------------------
KOZORORPT -------------------------------
ZOROZORODW WUCHUNP
CODESET YANGJAY
DBAAPP
DBA_DEPLOY 24 rows selected.
DBA_SYSTEM
FOP SQL> SELECT SUM(bytes)/1024/1024/1024 FROM
FORTSTE sys.dba_segments ;
GAIHONG
KOWAJOH SUM(BYTES)/1024/1024/1024
-------------------------
USERNAME 540.069763
-------------------------
------------------------- SQL>
-------------------------
-------------------------
-------------------------
---
LEONYVE
LIUJINS
ZORO
ZORO_DRUPAL
ZORO_ORT
PARADATA
SCOTT
SQLTXADMIN
SQLTXPLAIN
SUMERIC
TANGHAI

USERNAME
-------------------------
-------------------------
-------------------------
-------------------------
-------------------------
---
WUCHUNP
YANGJAY

24 rows selected.

SQL>
SQL>.
SQL> SELECT
SUM(bytes)/1024/1024/1024
FROM sys.dba_segments ;

SUM(BYTES)/1024/1024/1024
-------------------------
539.718933

SQL>

Save states from cdb level.


Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select instance_name,status from gv$instance;

INSTANCE_NAME STATUS
---------------- ------------
cdbzoro1 OPEN
cdbzoro2 OPEN

SQL> col name for a10


SQL> select name,open_mode from gv$pdbs;

NAME OPEN_MODE
---------- ----------
PDB$SEED READ ONLY
PDBQA READ WRITE
PDB$SEED READ ONLY
PDBQA READ WRITE

SQL> alter pluggable database PDBQA save state instances=all;

Pluggable database altered.

SQL>

Create database service.


{noden1:cdbzoro1} $ srvctl add service -db cdbzoro -service PDBQA_s -pdb PDBQA -preferred cdbzoro1,cdbzoro2 -fa
{noden1:cdbzoro1} $ srvctl status service -db -s PDBQA_s
PRKO-2388 : Command line option -db should be followed by a value.
{noden1:cdbzoro1} $ srvctl status service -db -s PDBQA_s^C
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s
Service PDBQA_s is not running.
{noden1:cdbzoro1} $ srvctl start service -db cdbzoro -s PDBQA_s
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s
Service PDBQA_s is running on instance(s) cdbzoro1,cdbzoro2
{noden1:cdbzoro1} $ srvctl add service -db cdbzoro -service PDBQA_s1 -pdb PDBQA -preferred cdbzoro1
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s1
Service PDBQA_s1 is not running.
{noden1:cdbzoro1} $ srvctl start service -db cdbzoro -s PDBQA_s1
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s1
Service PDBQA_s1 is running on instance(s) cdbzoro1
{noden1:cdbzoro1} $
{noden1:cdbzoro1} $ srvctl add service -db cdbzoro -service PDBQA_s2 -pdb PDBQA -preferred cdbzoro2
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s2
Service PDBQA_s2 is not running.
{noden1:cdbzoro1} $ srvctl start service -db cdbzoro -s PDBQA_s2
{noden1:cdbzoro1} $ srvctl status service -db cdbzoro -s PDBQA_s2
Service PDBQA_s2 is running on instance(s) cdbzoro2
{noden1:cdbzoro1} $

Modify the tns entries on all cluster nodes also add to my-comp My-comp tnsnames.ora
Confirm connections using the service to the pdb.
{noden1:cdbzoro} $ tnsping PDBQA

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:35:45

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s.domain.com)))
OK (20 msec)
{noden1:cdbzoro} $ tnsping PDBQA_s1

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:35:56

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s1.domain.com)))
OK (0 msec)
{noden1:cdbzoro} $ tnsping PDBQA.domain.com

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:36:38

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s.domain.com)))
OK (10 msec)
{noden1:cdbzoro} $

{noden2:cdbzoro} $ tnsping PDBQA

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:39:43

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s.domain.com)))
OK (0 msec)
{noden2:cdbzoro} $ tnsping PDBQA_s2

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:39:49

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s2.domain.com)))
OK (0 msec)
{noden2:cdbzoro} $ tnsping PDBQA.domain.com

TNS Ping Utility for Linux: Version 12.2.0.1.0 - Production on 07-FEB-2018


13:41:01

Copyright (c) 1997, 2016, Oracle. All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias


Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =
node-scan)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME
= PDBQA_s.domain.com)))
OK (0 msec)
{noden2:cdbzoro} $

Confirm pdb as below


Note: Add to oem and make sure datafile are set to auto extend and properly sized.
SQL> alter session set container=GEOPDBQA;
Session altered.

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
4 GEOPDBQA READ WRITE NO
SQL> select name from v$datafile;

NAME
----------------------------------------------------------------------------
----
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/system.397.967040
465
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/sysaux.401.967040
465
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/undotbs1.398.9670
40465
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/users.396.9670404
65
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/undotbs2.399.9670
40465
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/geo_data.400.9670
40465
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/DATAFILE/geo_index.395.967
040465

7 rows selected.

SQL> show parameter recovery;

NAME TYPE VALUE


------------------------------------ ----------- ---------------------------
---
db_recovery_file_dest string +RECOVERY
db_recovery_file_dest_size big integer 40G
recovery_parallelism integer 0
remote_recovery_file_dest string
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 1
Next log sequence to archive 2
Current log sequence 2
SQL> show parameter sessions;

NAME TYPE VALUE


------------------------------------ ----------- ---------------------------
---
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
likose_max_sessions integer 0
likose_sessions_warning integer 0
sessions integer 984
shared_server_sessions integer
SQL> show parameter process;
NAME TYPE VALUE
------------------------------------ ----------- ---------------------------
---
aq1945m_processes integer 1
asm_io_processes integer 20
cell_offload_processing boolean TRUE
db_writer_processes integer 1
gcs_server_processes integer 2
global1945xn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 640
processor_group_name string
SQL> show parameter db_files;

NAME TYPE VALUE


------------------------------------ ----------- ---------------------------
---
db_files integer 2000
SQL>
SQL> select name from v$tempfile;

NAME
----------------------------------------------------------------------------
----
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/TEMPFILE/temp.402.96704051
3
+DATA/KOKODBCDB2/64409CEC573A6BFBE0532561A8C01294/TEMPFILE/temp.403.96704051
3

SQL>

Register with rman


Refer to the SQL*Plus User's Guide and Reference for more information.
{noden2:cdbzoro2} $ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 8 08:55:36 2018

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDBQA READ WRITE NO
SQL> exit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produ
{noden2:cdbzoro2} $ rman

Recovery Manager: Release 12.2.0.1.0 - Production on Thu Feb 8 08:55:44 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

RMAN> connect target /

connected to target database: CDBZORO (DBID=121739384)

RMAN> connect catalog rman/rman@rcvcatz.sed.domain.com;

connected to recovery catalog database

RMAN> register database;

database registered in recovery catalog


starting full resync of recovery catalog
full resync complete

RMAN> list incarnation of database;

List of Database Incarnations


DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
5540738 5540746 CDBZORO 121739384 PARENT 1 26-JAN-17
5540738 5540739 CDBZORO 121739384 CURRENT 1408558 06-FEB-18

RMAN>

RMAN> show all;

RMAN configuration parameters for database with db_unique_name CDBZORO are:


CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 60 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE 'SBT1945APE' TO '%F';
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/cdbzoro/%F';
CONFIGURE DEVICE TYPE 'SBT1945APE' PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT1945APE' TO 1;
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE 'SBT1945APE' TO 1;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
CONFIGURE CHANNEL 1 DEVICE TYPE 'SBT1945APE' PARMS 'ENV=(NB_ORA_POLICY=ORA-zoro-nice-pol
CONFIGURE CHANNEL DEVICE TYPE DISK RATE 3 G FORMAT '/u01/backup/cdbzoro/%d_rman_%U.bus'
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ;
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+ERECOVERY/CDBZORO/RMAN-BACKUP/CONTROL-FILE/snapc
RMAN>

Also in no archive log mode as db1m.


{noden2:cdbzoro2} $ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 8 09:33:42 2018

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show show con_name;


showmode OFF

CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDBQA READ WRITE NO
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 16
Current log sequence 17
SQL> alter session set container=PDBQA;

Session altered.

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED


---------- ------------------------------ ---------- ----------
3 PDBQA READ WRITE NO
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 16
Current log sequence 17
SQL>

Have client test.

You might also like