Steps to Create 11 ADG and up-gradation to 12c using manual method
10 steps will take you through systematic approach to create standby database/ADG (active data guard) followed by activation and up-gradation to 12c using manual method
1. 11g dummy instance creation for ADG
2. Dummy instance cleanup and preparation for rman restore to create standby
3. RMAN level 0 restoration initiation
4. ADG parameter setting
5. Restore archives and apply to standby
6. Activating standby
7. Pre-requisites of 12c upgrade
8. Initiate 12c upgrade
9. Time zone upgrade
10. Post upgrade steps
A. Issues Faced
Above approach is best suited to reduce overall downtime involved to application and DB upgrade can be performed within 6 Hrs.
Please refer the setup as below
testlabdb005a/testlabdb005b -: New two node RAC database hosts to be used for 11g restore/ADG/Upgrade to 12c
testoldlabdb1/testoldlabdb12 -: Old two node RAC database with 11g database TESTDBPRD which acts as a primary db node
TESTDBPRD :- Old 11g Database global name , name to be preserved in ADG
NEWDBPRD :- New 11g ADG database unique name , older name will be preserved as global dbname
1. 11g dummy instance creation for ADG
We will create a dummy database instance to get db service /ASM/ TNS configuration readily available
[oracle@testlabdb005a ~]$ . ./.bash_profile_11g
[oracle@testlabdb005a ~]$ which sqlplus
/golden/app/oracle/11.2.0.3.0/db/bin/sqlplus
[oracle@testlabdb005a ~]$ export DISPLAY=164.16.18.55:10.0
[oracle@testlabdb005a ~]$ dbca
Oracle RAC Application cluster to be selected ![]()
Supply appropriate physical host name and select all followed by ASM diskgroup selection for Data and FRA location
Set appropriate SGA/PGA and process values
Database instance is available on both hosts now
[oracle@testlabdb005a ~]$ ps -ef | grep -i pmon
oracle 5227 1 0 Mar24 ? 00:04:13 asm_pmon_+ASM1
oracle 15041 1 0 08:23 ? 00:00:00 ora_pmon_NEWDBPRD1
oracle 15479 48767 0 08:23 pts/2 00:00:00 grep --color=auto -i pmon
[oracle@testlabdb005a ~]$ ssh testlabdb005b ps -ef | grep -i pmon
oracle 14788 1 0 Jan27 ? 00:08:15 asm_pmon_+ASM2
oracle 15503 1 0 Jan27 ? 00:06:08 mdb_pmon_-MGMTDB
oracle 17232 1 0 08:23 ? 00:00:00 ora_pmon_NEWDBPRD2
2. Dummy instance cleanup and preparation for rman level 0 restore to create standby
Dummy instance created in step 1 will be cleaned to make way for standby database to be restored from primary
[oracle@testlabdb005a ~]$ srvctl stop instance -d TESTDBPRD -i NEWDBPRD2
[oracle@testlabdb005a ~]$ srvctl status database -d TESTDBPRD
Instance NEWDBPRD1 is running on node testlabdb005a
Instance NEWDBPRD2 is not running on node testlabdb005b
[oracle@testlabdb005a ~]$ . ./.bash_profile_11g
[oracle@testlabdb005a ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Wed JAN 10 08:26:04 2017
sys@TESTDBPRD> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +DATA/TESTDBPRD/controlfile/current.370.943604411, +FRA/testdbprd/controlfile/current.358.943604411
control_management_pack_access string DIAGNOSTIC+TUNING
sys@TESTDBPRD> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
------ ------- ------- ------ ------- ------ ------- ----- ------ ---- -------
1 1 7 52428800 512 2 NO INACTIVE 1026240 10-JAN-17 1031635 10-JAN-17
2 1 8 52428800 512 2 NO CURRENT 1031635 10-JAN-17 2.8147E+14
3 2 1 52428800 512 2 NO CURRENT 1033793 10-JAN-17 2.8147E+14 10-JAN-17
4 2 0 52428800 512 2 YES UNUSED 0 0
sys@TESTDBPRD> show parameter pfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/TESTDBPRD/spfileTESTDBPRD.ora
[oracle@testlabdb005a ~]$ srvctl stop instance -d TESTDBPRD -i NEWDBPRD1
[oracle@testlabdb005a ~]$ srvctl status database -d TESTDBPRD
Instance NEWDBPRD1 is not running on node testlabdb005a
Instance NEWDBPRD2 is not running on node testlabdb005b
[oracle@testlabdb005a ~]$ . ./.bash_profile_asm
[oracle@testlabdb005a ~]$ asmcmd
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 2150400 2148600 0 2148600 0 N DATA/
MOUNTED EXTERN N 512 4096 1048576 307200 306637 0 306637 0 N FRA/
MOUNTED EXTERN N 512 4096 1048576 10240 5611 0 5611 0 Y OCR_VOTING/
ASMCMD> cd DATA/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y TESTDBPRD/
Y NEWDBPR/
N NEWDBggp/
ASMCMD> cd TESTDBPRD/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y CONTROLFILE/
Y DATAFILE/
Y ONLINELOG/
Y PARAMETERFILE/
Y TEMPFILE/
PARAMETERFILE UNPROT COARSE JAN 10 08:00:00 N spfileTESTDBPRD.ora => +DATA/TESTDBPRD/PARAMETERFILE/spfile.280.943604577
ASMCMD> cd DATAFILE/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JAN 10 08:00:00 Y SYSAUX.282.943604343
DATAFILE UNPROT COARSE JAN 10 08:00:00 Y SYSTEM.281.943604343
DATAFILE UNPROT COARSE JAN 10 08:00:00 Y UNDOTBS1.283.943604343
DATAFILE UNPROT COARSE JAN 10 08:00:00 Y UNDOTBS2.279.943604457
DATAFILE UNPROT COARSE JAN 10 08:00:00 Y USERS.374.943604343
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd +DATA/
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
N NEWDBggp/
Y NEWDBPR/
Y TESTDBPRD/
ASMCMD> cd TESTDBPRD/
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
Y TEMPFILE/
Y PARAMETERFILE/
Y ONLINELOG/
Y CONTROLFILE/
PARAMETERFILE UNPROT COARSE JAN 10 08:00:00 N spfileTESTDBPRD.ora => +DATA/TESTDBPRD/PARAMETERFILE/spfile.280.943604577
ASMCMD> cd TEMPFILE/
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
TEMPFILE UNPROT COARSE JAN 10 08:00:00 Y TEMP.377.943604415
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd ONLINELOG/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y TESTDBPRD/
Y NEWDBPR/
N NEWDBggp/
ASMCMD> cd TESTDBPRD/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y CONTROLFILE/
Y ONLINELOG/
Y PARAMETERFILE/
PARAMETERFILE UNPROT COARSE JAN 10 08:00:00 N spfileTESTDBPRD.ora => +DATA/TESTDBPRD/PARAMETERFILE/spfile.280.943604577
ASMCMD> cd ONLINELOG/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
ONLINELOG UNPROT COARSE JAN 10 08:00:00 Y group_1.371.943604413
ONLINELOG UNPROT COARSE JAN 10 08:00:00 Y group_2.375.943604415
ONLINELOG UNPROT COARSE JAN 10 08:00:00 Y group_3.278.943604577
ONLINELOG UNPROT COARSE JAN 10 08:00:00 Y group_4.424.943604577
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd +DATA/
ASMCMD> cd TESTDBPRD/
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
Y PARAMETERFILE/
Y CONTROLFILE/
PARAMETERFILE UNPROT COARSE JAN 10 08:00:00 N spfileTESTDBPRD.ora => +DATA/TESTDBPRD/PARAMETERFILE/spfile.280.943604577
ASMCMD> cd CONTROLFILE/
ASMCMD> ls -lt
Type Redund Striped Time Sys Name
CONTROLFILE UNPROT FINE JAN 10 08:00:00 Y Current.370.943604411
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 2150400 2150227 0 2150227 0 N DATA/
MOUNTED EXTERN N 512 4096 1048576 307200 306637 0 306637 0 N FRA/
MOUNTED EXTERN N 512 4096 1048576 10240 5611 0 5611 0 Y OCR_VOTING/
ASMCMD> cd +DATA/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y TESTDBPRD/
Y NEWDBPR/
N NEWDBggp/
ASMCMD> cd NEWDBggp/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
N onlinelog/
N tempfile/
ASMCMD> cd ..
ASMCMD> rm -rf NEWDBggp/
ASMCMD> pwd
+DATA
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y TESTDBPRD/
Y NEWDBPR/
ASMCMD> cd NEWDBPR/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y CONTROLFILE/
Y PARAMETERFILE/
Y PASSWORD/
ASMCMD> cd CONTROLFILE/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
CONTROLFILE UNPROT FINE NOV 29 10:00:00 Y Current.261.925398497
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd ..
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y PARAMETERFILE/
Y PASSWORD/
ASMCMD> cd PARAMETERFILE/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
PARAMETERFILE UNPROT COARSE JAN 27 14:00:00 Y spfile.268.925398709
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd ..
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y PASSWORD/
ASMCMD> cd PASSWORD/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
PASSWORD UNPROT COARSE OCT 16 2016 Y pwdNEWDBpr.256.925398277
ASMCMD> rm *
You JAN delete multiple files and/or directories.
Are you sure? (y/n) y
ASMCMD> cd ..
ASMCMD-8002: entry 'NEWDBPR' does not exist in directory '+DATA/'
ASMCMD> pwd
+DATA/NEWDBPR/PASSWORD
ASMCMD> cd +DATA
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y TESTDBPRD/
ASMCMD> cd TESTDBPRD/
ASMCMD> ls -lrt
WARNING:option 'r' is deprecated for 'ls'
please use 'reverse'
Type Redund Striped Time Sys Name
Y PARAMETERFILE/
PARAMETERFILE UNPROT COARSE JAN 10 08:00:00 N spfileTESTDBPRD.ora => +DATA/TESTDBPRD/PARAMETERFILE/spfile.280.943604577
ASMCMD> pwd
+DATA/TESTDBPRD
ASMCMD> exit
[oracle@testlabdb005a ~]$ . ./.bash_profile_11g
[oracle@testlabdb005a ~]$ sqlplus "/ as sysdba"
Connected to an idle instance.
idle> startup nomount
ORACLE instance started.
Total System Global Area 4.8103E+10 bytes
Fixed Size 2239376 bytes
Variable Size 4429186160 bytes
Database Buffers 4.3621E+10 bytes
Redo Buffers 50479104 bytes
idle> show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +DATA/TESTDBPRD/controlfile/curr
ent.370.943604411,
+FRA/testdbprd/controlfile/current.358.943604411
control_management_pack_access string DIAGNOSTIC+TUNING
3. RMAN level 0 restoration initiation
This step will restore database from primary db node to be converted into standby database
Standby control file backup to be taken from old database
[ora11g@testoldlabdb1 ~]$ . ./.bash_profile_TESTADG1
[ora11g@testoldlabdb1 ~]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Wed JAN 10 14:05:44 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: TESTDBPRD (DBID=1110983454)
RMAN> backup current controlfile for standby format 'stby_ind.cnf';
Starting backup at 10-JAN-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=2285 instance=TESTADG1 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including standby control file in backup set
channel ORA_DISK_1: starting piece 1 at 10-JAN-17
channel ORA_DISK_1: finished piece 1 at 10-JAN-17
piece handle=/oravl01/ora11g/112_RAC/dbs/stby_ind.cnf tag=TAG20170510T140608 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 10-JAN-17
RMAN>
[ora11g@testoldlabdb1 ~]$ scp -P 22 /oravl01/ora11g/112_RAC/dbs/stby_ind.cnf oracle@164.16.18.55:/export/RMANFULLBACK_09JAN17
oracle@164.16.18.55's password:
stby_ind.cnf 100% 64MB 5.3MB/s 00:12
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Wed JAN 10 08:46:02 2017
connected to target database: TESTDBPRD (not mounted)
RMAN> restore standby controlfile from '/export/RMANFULLBACK_09JAN17/stby_ind.cnf';
Starting restore at 10-JAN-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=784 instance=NEWDBPRD1 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=+DATA/TESTDBPRD/controlfile/current.256.943606073
output file name=+FRA/TESTDBPRD/controlfile/current.358.943604411
Finished restore at 10-JAN-17
RMAN>
SQL> alter database mount;
Database altered.
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Wed JAN 10 08:49:37 2017
connected to target database: TESTDBPRD (DBID=1110983454, not open)
RMAN>
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ pwd
/export/RMANFULLBACK_09JAN17
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ ls -lrt
total 305906748
-rw-------. 1 oracle oinstall 137297920 JAN 9 23:51 ctl_TESTDBPRD_obs3rn3c_1_1
-rw-------. 1 oracle oinstall 6895183872 JAN 10 00:03 dbpnps3rfrr_1_1
-rw-------. 1 oracle oinstall 6973827584 JAN 10 00:14 dbpnqs3rfrs_1_1
-rw-------. 1 oracle oinstall 7141895680 JAN 10 00:27 dbpnrs3rfrs_1_1
-rw-------. 1 oracle oinstall 5915882496 JAN 10 00:36 dbpnss3rfrs_1_1
-rw-------. 1 oracle oinstall 6487970816 JAN 10 00:47 dbpnts3rfrs_1_1
-rw-------. 1 oracle oinstall 223815168 JAN 10 00:47 dbpnus3rgds_1_1
-rw-------. 1 oracle oinstall 26752770048 JAN 10 01:30 dbpo0s3rggt_1_1
-rw-------. 1 oracle oinstall 28019957760 JAN 10 02:16 dbpo1s3rggu_1_1
-rw-------. 1 oracle oinstall 29240369152 JAN 10 03:02 dbpo2s3rggu_1_1
-rw-------. 1 oracle oinstall 27524194304 JAN 10 03:46 dbpo3s3rggu_1_1
-rw-------. 1 oracle oinstall 26314809344 JAN 10 04:27 dbpo4s3rggu_1_1
-rw-------. 1 oracle oinstall 26202578944 JAN 10 05:09 dbpo5s3rjcc_1_1
-rw-------. 1 oracle oinstall 27313512448 JAN 10 05:54 dbpo6s3rje4_1_1
-rw-------. 1 oracle oinstall 26819428352 JAN 10 06:37 dbpo7s3rjhd_1_1
-rw-------. 1 oracle oinstall 30237417472 JAN 10 07:29 dbpo8s3rjig_1_1
-rw-------. 1 oracle oinstall 30980997120 JAN 10 08:23 dbpo9s3rjp8_1_1
-rw-------. 1 oracle oinstall 66584576 JAN 10 08:37 stby_ind.cnf
drwxr-xr-x. 3 oracle oinstall 4096 JAN 10 09:04 archive
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ pwd
/export/RMANFULLBACK_09JAN17
[oracle@testlabdb005a RMANFULLBACK_09JAN17]$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Wed JAN 10 09:49:30 2017
connected to target database: TESTDBPRD (DBID=1110983454, not open)
RMAN> catalog start with '/export/RMANFULLBACK_09JAN17';
Starting implicit crosscheck backup at 10-JAN-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
Crosschecked 1227 objects
Finished implicit crosscheck backup at 10-JAN-17
Starting implicit crosscheck copy at 10-JAN-17
using channel ORA_DISK_1
Crosschecked 2 objects
Finished implicit crosscheck copy at 10-JAN-17
searching for all files in the recovery area
cataloging files...
no files cataloged
searching for all files that match the pattern /export/RMANFULLBACK_09JAN17
List of Files Unknown to the Database
=====================================
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_GG_tts3stid_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_GG_tus3stjk_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_clone_nvs3r8qq_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/GG_NOTREQ/arch_ggg_tjs3r281_1_1.gz
File Name: /export/RMANFULLBACK_09JAN17/archive/GG_NOTREQ/arch_ggg_tks3r2gm_1_1.gz
.
.
File Name: /export/RMANFULLBACK_09JAN17/dbpnts3rfrs_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpnus3rgds_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo0s3rggt_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo1s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo2s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo3s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo4s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo5s3rjcc_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo6s3rje4_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo7s3rjhd_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo8s3rjig_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo9s3rjp8_1_1
Do you really want to catalog the above files (enter YES or NO)? Y
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_clone_nvs3r8qq_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_frs3r0ap_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_fss3r0ni_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_fts3r13l_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_fus3r1gf_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_fvs3r1st_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_g0s3rasb_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_g1s3rb8o_1_1
File Name: /export/RMANFULLBACK_09JAN17/archive/arch_adg_g2s3rbkr_1_1
.
.
File Name: /export/RMANFULLBACK_09JAN17/dbpnus3rgds_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo0s3rggt_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo1s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo2s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo3s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo4s3rggu_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo5s3rjcc_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo6s3rje4_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo7s3rjhd_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo8s3rjig_1_1
File Name: /export/RMANFULLBACK_09JAN17/dbpo9s3rjp8_1_1
RMAN>
rman_DB_0_level_clone_restore.sh
RUN {
configure device type disk parallelism 5;
ALLOCATE CHANNEL ch01 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch02 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch03 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch04 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch05 DEVICE TYPE DISK ;
set newname for datafile 1 to '+DATA';
set newname for datafile 2 to '+DATA';
set newname for datafile 3 to '+DATA';
set newname for datafile 4 to '+DATA';
.
.
.
set newname for datafile 97 to '+DATA';
restore database;
switch datafile all;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
RELEASE CHANNEL ch04;
RELEASE CHANNEL ch05;
}
o/p:
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 5 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored
allocated channel: ch01
channel ch01: SID=287 instance=NEWDBPRD1 device type=DISK
allocated channel: ch02
channel ch02: SID=358 instance=NEWDBPRD1 device type=DISK
allocated channel: ch03
channel ch03: SID=431 instance=NEWDBPRD1 device type=DISK
allocated channel: ch04
channel ch04: SID=501 instance=NEWDBPRD1 device type=DISK
allocated channel: ch05
channel ch05: SID=572 instance=NEWDBPRD1 device type=DISK
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
..
.
.
.
channel ch01: starting datafile backup set restore
channel ch01: specifying datafile(s) to restore from backup set
channel ch01: restoring datafile 00001 to +DATA
channel ch01: restoring datafile 00018 to +DATA
channel ch01: restoring datafile 00020 to +DATA
channel ch01: restoring datafile 00021 to +DATA
channel ch01: restoring datafile 00022 to +DATA
channel ch01: restoring datafile 00023 to +DATA
channel ch01: restoring datafile 00024 to +DATA
channel ch01: restoring datafile 00029 to +DATA
channel ch01: restoring datafile 00056 to +DATA
channel ch01: restoring datafile 00062 to +DATA
channel ch01: restoring datafile 00074 to +DATA
channel ch01: restoring datafile 00083 to +DATA
channel ch01: restoring datafile 00086 to +DATA
channel ch01: restoring datafile 00091 to +DATA
channel ch01: reading from backup piece /export/RMANFULLBACK_09JAN17/dbpo8s3rjig_1_1
channel ch02: starting datafile backup set restore
channel ch02: specifying datafile(s) to restore from backup set
channel ch02: restoring datafile 00002 to +DATA
channel ch02: restoring datafile 00009 to +DATA
channel ch02: restoring datafile 00034 to +DATA
channel ch02: restoring datafile 00039 to +DATA
channel ch02: restoring datafile 00040 to +DATA
channel ch02: restoring datafile 00051 to +DATA
channel ch02: restoring datafile 00054 to +DATA
channel ch02: restoring datafile 00067 to +DATA
.
.
.
.
input datafile copy RECID=193 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/usr.264.943615617
datafile 91 switched to datafile copy
input datafile copy RECID=194 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/usr.394.943611157
datafile 92 switched to datafile copy
input datafile copy RECID=195 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/usr.260.943611157
datafile 93 switched to datafile copy
input datafile copy RECID=196 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/undotbs2.293.943615617
datafile 94 switched to datafile copy
input datafile copy RECID=197 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/sysaux.290.943615617
datafile 95 switched to datafile copy
input datafile copy RECID=198 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/sysaux.269.943615831
datafile 96 switched to datafile copy
input datafile copy RECID=199 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/users.279.943611155
datafile 97 switched to datafile copy
input datafile copy RECID=200 STAMP=943620733 file name=+DATA/TESTDBPRD/datafile/users.294.943615617
released channel: ch01
released channel: ch02
released channel: ch03
released channel: ch04
released channel: ch05
RMAN>
4. ADG parameter setting
This step is not mandatory if you opt to apply archive offline to standby database
On testlabdb005a:
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g1_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g1_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g1_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g1_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g2_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g2_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g2_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g2_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g3_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g3_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g3_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g3_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g4_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g4_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g4_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g4_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g5_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g5_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g5_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g5_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g6_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g6_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g6_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g6_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g7_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g7_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g7_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g7_m02.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g8_m01.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g8_m01.dbf';
alter database rename file '+FRA/oradata/TESTDBPRD/redo_g8_m02.dbf' to '+DATA/TESTDBPRD/onlinelog/redo_g8_m02.dbf';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_9.292.812362187' to '+DATA/TESTDBPRD/onlinelog/group_9.292.812362187';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_9.293.812362187' to '+DATA/TESTDBPRD/onlinelog/group_9.293.812362187';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_10.294.812362321' to '+DATA/TESTDBPRD/onlinelog/group_10.294.812362321';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_10.295.812362323' to '+DATA/TESTDBPRD/onlinelog/group_10.295.812362323';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_11.296.812362331' to '+DATA/TESTDBPRD/onlinelog/group_11.296.812362331';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_11.297.812362333' to '+DATA/TESTDBPRD/onlinelog/group_11.297.812362333';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_12.299.812513579' to '+DATA/TESTDBPRD/onlinelog/group_12.299.812513579';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_12.298.812513581' to '+DATA/TESTDBPRD/onlinelog/group_12.298.812513581';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_13.300.812513589' to '+DATA/TESTDBPRD/onlinelog/group_13.300.812513589';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_13.301.812513591' to '+DATA/TESTDBPRD/onlinelog/group_13.301.812513591';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_14.302.812513721' to '+DATA/TESTDBPRD/onlinelog/group_14.302.812513721';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_14.303.812513723' to '+DATA/TESTDBPRD/onlinelog/group_14.303.812513723';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_15.304.812513735' to '+DATA/TESTDBPRD/onlinelog/group_15.304.812513735';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_15.305.812513737' to '+DATA/TESTDBPRD/onlinelog/group_15.305.812513737';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_16.306.812513745' to '+DATA/TESTDBPRD/onlinelog/group_16.306.812513745';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_16.307.812513747' to '+DATA/TESTDBPRD/onlinelog/group_16.307.812513747';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_17.308.812513765' to '+DATA/TESTDBPRD/onlinelog/group_17.308.812513765';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_17.309.812513767' to '+DATA/TESTDBPRD/onlinelog/group_17.309.812513767';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_18.310.812513775' to '+DATA/TESTDBPRD/onlinelog/group_18.310.812513775';
alter database rename file '+DATA1/TESTDBPRD/onlinelog/group_18.311.812513777' to '+DATA/TESTDBPRD/onlinelog/group_18.311.812513777';
idle> alter system set standby_file_management='AUTO' scope=spfile;
System altered.
idle> alter system set fal_client='NEWDBPRD';
System altered.
idle> alter system set fal_server='TESTADG';
System altered.
idle> alter system set db_create_online_log_dest_1='+DATA' scope=spfile;
System altered.
On testoldlabdb1:
SQL> alter system set log_archive_dest_3='SERVICE=NEWDBPRD ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=NEWDBPRD';
System altered.
SQL> alter system set log_archive_dest_state_3=ENABLE;
System altered.
SQL> alter system set log_archive_config='DG_CONFIG=(TESTDBPRD,TESTADG, NEWDBPRD)' scope=spfile;
System altered.
SQL> alter system set fal_server='TESTDBPRD,NEWDBPRD';
System altered.
5. Restore archives and apply to standby
In case real time archive sync not enabled below command can be used to restore archives from primary and applied to standby db
RUN {
configure device type disk parallelism 5;
ALLOCATE CHANNEL ch01 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch02 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch03 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch04 DEVICE TYPE DISK ;
ALLOCATE CHANNEL ch05 DEVICE TYPE DISK ;
restore archivelog from sequence 268574 until sequence 268700 thread 2;
RELEASE CHANNEL ch01;
RELEASE CHANNEL ch02;
RELEASE CHANNEL ch03;
RELEASE CHANNEL ch04;
RELEASE CHANNEL ch05;
}
EOF
6. Activating standby
Following steps can be taken to activate the standby and opening db instance in read write mode
SQL> select name,open_mode,database_role ,SWITCHOVER_STATUS,DATAGUARD_BROKER,GUARD_STATUS from v$database;
NAME OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS DATAGUAR GUARD_S
---------------- ---------------- -------------------- -------- -------
TESTDBPRD MOUNTED PHYSICAL STANDBY NOT ALLOWED DISABLED NONE
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
no rows selected
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> SQL> alter database recover managed standby database finish;
Database altered.
SQL> alter database activate physical standby database;
Database altered.
SQL> select name, open_mode, database_role from v$database;
NAME OPEN_MODE DATABASE_ROLE
------------ ----------------- ----------------
TESTDBPRD MOUNTED PRIMARY
SQL> alter database open;
Database altered.
7. Pre-requisites of 12c upgrade
srvctl stop instance -d TESTDBPRD -i NEWDBPRD2
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
[oracle@testlabdb005a backup]$ srvctl start instance -d TESTDBPRD -i NEWDBPRD2
SQL> select count(1),owner from dba_objects where status <> 'VALID' group by owner;
On new primary testlabdb005a (matching)
COUNT(1) OWNER
---------- ------------------------------
15 CORET
2 ASC_ACE_IP
5 DMSYS
1 QS_ADM
89 PUBLIC
7 ASC_ACE_TX
20 NETX
10 NETXDEV
1 ASC_SIA
3 SYSTEM
2 ASC_ACE_TEMP_TABLE
16 DATALOAD
4 OE
16 SYSMAN
3 NETXDR
1 ODM
7 CORETAQ1
3 OMA
1442 SYS
143 MSPAK
15 ASC_RF
21 rows selected.
On testoldlabdb1:
COUNT(1) OWNER
---------- ------------------------------
15 CORET
2 ASC_ACE_IP
5 DMSYS
1 QS_ADM
89 PUBLIC
8 ASC_ACE_TX
20 NETX
10 NETXDEV
2 ASC_SIA
3 SYSTEM
2 ASC_ACE_TEMP_TABLE
16 DATALOAD
4 OE
16 SYSMAN
3 NETXDR
1 ODM
7 CORETAQ1
3 OMA
1442 SYS
143 MSPAK
15 ASC_RF
21 rows selected.
i. wri$_optstat_histgrm_history purging
select segment_name,bytes/1024/1024 from dba_segments where segment_name in ('WRI$_OPTSTAT_HISTHEAD_HISTORY','WRI$_OPTSTAT_HISTGRM_HISTORY');
SEGMENT_NAME BYTES/1024/1024
-------------------------------- ---------------
WRI$_OPTSTAT_HISTHEAD_HISTORY 7431
WRI$_OPTSTAT_HISTGRM_HISTORY 19379
select count(1) from WRI$_OPTSTAT_HISTHEAD_HISTORY; -- 124808149
select count(1) from WRI$_OPTSTAT_HISTGRM_HISTORY; -- 460134614
select count(1) from dba_tab_partitions where table_name='WRI$_OPTSTAT_HISTGRM_HISTORY';
select count(1) from dba_tab_partitions where table_name='WRI$_OPTSTAT_HISTHEAD_HISTORY';
n for 15 days older purging
exec dbms_stats.purge_stats(trunc(sysdate-15));
select DBMS_STATS.GET_STATS_HISTORY_RETENTION from dual;
select count(1) from WRI$_OPTSTAT_HISTHEAD_HISTORY;
select count(1) from WRI$_OPTSTAT_HISTGRM_HISTORY;
ii. Executed sysaux partitioning (to fix sysaux high growth issue)
select 1 from dual;
alter session set "_swrf_test_action" = 72;
iii. Gather dictionary stats
EXECUTE dbms_stats.gather_dictionary_stats;
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
iv. Purge dba_recyclebin
sys@TESTDBPRD> purge dba_recyclebin;
DBA Recyclebin purged.
v. Pre-upgrade script execution
SQL>@/golden/app/oracle/11.2.0.3.0/db/cfgtoollogs/TESTDBPRD/preupgrade/preupgrade_fixups.sql
$ORACLE_HOME/olap/admin/catnoamd.sql
to drop olapsys
sys@TESTDBPRD> @/rdbms/app/oracle/12.1.0.2/db/rdbms/admin/preupgrd.sql
Loading Pre-Upgrade Package...
***************************************************************************
Executing Pre-Upgrade Checks in TESTDBPRD...
***************************************************************************
************************************************************
====>> ERRORS FOUND for TESTDBPRD <<====
The following are *** ERROR LEVEL CONDITIONS *** that must be addressed
prior to attempting your upgrade.
Failure to do so will result in a failed upgrade.
You MUST resolve the above errors prior to upgrade
************************************************************
************************************************************
====>> PRE-UPGRADE RESULTS for TESTDBPRD <<====
ACTIONS REQUIRED:
1. Review results of the pre-upgrade checks:
/golden/app/oracle/11.2.0.3.0/db/cfgtoollogs/TESTDBPRD/preupgrade/preupgrade.log
2. Execute in the SOURCE environment BEFORE upgrade:
/golden/app/oracle/11.2.0.3.0/db/cfgtoollogs/TESTDBPRD/preupgrade/preupgrade_fixups.sql
3. Execute in the NEW environment AFTER upgrade:
/golden/app/oracle/11.2.0.3.0/db/cfgtoollogs/TESTDBPRD/preupgrade/postupgrade_fixups.sql
************************************************************
***************************************************************************
Pre-Upgrade Checks in TESTDBPRD Completed.
***************************************************************************
***************************************************************************
INFORMATION: --> Older Timezone in use
Database is using a time zone file older than version 18.
After the upgrade, it is recommended that DBMS_DST package
be used to upgrade the 11.2.0.3.0 database time zone version
to the latest version which comes with the new release.
Please refer to My Oracle Support note number 1509653.1 for details.
sys@TESTDBPRD> SELECT version FROM v$timezone_file;
14
Note : 1665676.1
If your current timezone version is lower than 18 (typically 4, 11 or 14) when upgrading from 10.2.0.5, 11.1.0.7, 11.2.0.2, 11.2.0.3 , 11.2.0.4 or 12.1.0.1 to 12.1.0.2 :
If the source database is using a timezone file older than version 18 then the preupgrd.sql (Pre-Upgrade Information Tool) will generate the following warning in the preupgrd.log (this is normal)
Example output:
Database is using a time zone file older than version 18.
After the upgrade, it is recommended that DBMS_DST package
be used to upgrade the -db version here- database time zone version
to the latest version which comes with the new release.
Please refer to My Oracle Support note number 977512.1 for details.
The 12.1.0.2 RDBMS DST version after the upgrade to 12.1.0.2 will be the same DST version as used in 10.2.0.5 , 11.1.0.7, 11.2.0.2, 11.2.0.3 ,11.2.0.4 or 12.1.0.2.
After the upgrade to 12.1.0.2 you can:
* (recommended) update the 12.1.0.2 database(s) to DSTv18 (standard DST version of 12.1.0.2) by :
- or using the upg_tzv_check.sql and upg_tzv_apply.sql scripts in note 1585343.1 Scripts to automatically update the RDBMS DST (timezone) version in an 11gR2 or 12cR1 database .
- or following note 1509653.1 Updating the RDBMS DST version in 12c Release 1 (12.1.0.1 and up) using DBMS_DST from step 3a) using "18" as (<the new DST version number>) in that note.
* (optional) update to a higher DST than 18 version if this is needed.
The latest DST patch and related note on how to apply this is found in Note 412160.1 Updated Time Zones in Oracle Time Zone File patches under "C) Notes covering the current DST available updates".
Simply follow the note for the latest DST update vi. file status
sys@TESTDBPRD> SELECT * FROM v$recover_file;
no rows selected
sys@TESTDBPRD> SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';
no rows selected
sys@TESTDBPRD> SELECT * FROM dba_2pc_pending;
no rows selected
sys@TESTDBPRD> SELECT username, default_tablespace
FROM dba_users
WHERE username in ('SYS','SYSTEM'); 2 3
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SYSTEM SYSTEM
SYS SYSTEM
SQL> SELECT name FROM v$controlfile;
SQL> SELECT file_name FROM dba_data_files;
SQL> SELECT group#, member FROM v$logfile;
SQL> Alter system set "_system_trig_enabled"=false scope=spfile;
-- to be enabled post upgrade
sys@TESTDBPRD> alter trigger sys.GGS_DDL_TRIGGER_BEFORE disable ;
Trigger altered.
SQL> ALTER SYSTEM SET java_jit_enabled=FALSE;
-- to be enabled post upgrade
System altered.
SQL> alter system set java_pool_size=5G scope=spfile sid='*';
System altered.
SQL>alter system set job_queue_processes=0;
SQL> alter system set db_recovery_file_dest_size=300g;
n to be set to 10 post upgrade
vi. Verify free temp/undo space.. Add 20-30G space in TEMP
vii. Drop DB links post script backup
SELECT 'CREATE '||DECODE(U.NAME,'PUBLIC','public ')||'DATABASE LINK '||CHR(10)
||DECODE(U.NAME,'PUBLIC',Null, 'SYS','',U.NAME||'.')|| L.NAME||chr(10)
||'CONNECT TO ' || L.USERID || ' IDENTIFIED BY "'||L.PASSWORD||'" USING
'''||L.HOST||''''
||chr(10)||';' TEXT
FROM SYS.LINK$ L, SYS.USER$ U
WHERE L.OWNER# = U.USER#;
select OWNER,DB_LINK,USERNAME,HOST from dba_db_links
drop database link CMSPROD_TEST;
viii. Set job_queue_process to Zero
ix. SQL>ALTER SYSTEM SET COMPATIBLE = '12.1.0' SCOPE=SPFILE;
Disable archive log & cluster:
sys@TESTDBPRD> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
sys@TESTDBPRD> startup mount
ORACLE instance started.
Total System Global Area 4.8103E+10 bytes
Fixed Size 2239376 bytes
Variable Size 4563403888 bytes
Database Buffers 4.3487E+10 bytes
Redo Buffers 50479104 bytes
Database mounted.
sys@TESTDBPRD> alter database noarchivelog;
Database altered.
sys@TESTDBPRD> alter database open;
Database altered.
sys@TESTDBPRD> alter system set cluster_database=FALSE scope=spfile;
System altered.
sys@TESTDBPRD> alter system set resumable_timeout=36000 scope=spfile;
--To be removed post upgrade
System altered.
SQL> alter system set db_securefile=PERMITTED scope=spfile;
8. Initiate 12c upgrade
i. Copy current pfile to 12c $ORACLE_HOME/dbs on both nodes
ii. Open db in upgrade in new 12c home
[oracle@testlabdb005a ~]$ . ./.bash_profile_12c
[oracle@testlabdb005a ~]$ sqlplus "/ as sysdba"
SQL*Plus: Release 12.1.0.2.0 Production on Thu JAN 11 08:53:36 2017
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
idle> startup upgrade
ORACLE instance started.
Total System Global Area 4.8318E+10 bytes
Fixed Size 4510496 bytes
Variable Size 6174018784 bytes
Database Buffers 4.2010E+10 bytes
Redo Buffers 129703936 bytes
Database mounted.
Database opened.
iii. Run upgrade script
cd $ORACLE_HOME/rdbms/admin
nohup $ORACLE_HOME/perl/bin/perl catctl.pl -n 6 -l $ORACLE_HOME/diagnostics catupgrd.sql & -- leads to high undo / resource contention
Monitor :
/rdbms/app/oracle/12.1.0.2/db/diagnostics/catupgrd0.log
nohup $ORACLE_HOME/perl/bin/perl catctl.pl -n 2 -l $ORACLE_HOME/diagnostics catupgrd.sql &
--validate components
Set line 900 pages 900
col STATUS for a12
col COMP_NAME for a50
select COMP_ID,COMP_NAME,VERSION,STATUS,PROCEDURE,STARTUP from dba_registry;
$sqlplus "/as sysdba"
SQL> spool fix_cat_logfile.txt
SQL> startup upgrade
SQL > @?/rdbms/admin/utlrp.sql
SQL > @?/rdbms/admin/catalog.sql -- Incase components are still invalid post utlrp
SQL > @?/rdbms/admin/catproc.sql
Post check:
SQL> startup
SQL> @?/rdbms/admin/utlu121s.sql
If all components valid then proceed
SQL>@?/rdbms/admin/catuppst.sql
SQL>@?/rdbms/admin/utlrp.sql
iv. Postupgrade scripts
SQL>@/golden/app/oracle/11.2.0.3.0/db/cfgtoollogs/TESTDBPRD/preupgrad/postupgrade_fixups.sql
9. Time zone upgrade
DBMS_DST_scriptsV1.9 setup script to be used
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE 'DST_%' ORDER BY PROPERTY_NAME;
PROPERTY_NAME VALUE
--------------- ---------------------------------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 4
DST_UPGRADE_STATE DATAPUMP(4)
SQL> ALTER SESSION SET EVENTS '30090 TRACE NAME CONTEXT FOREVER, LEVEL 32';
SQL> exec dbms_dst.unload_secondary; Session altered.
[oracle@testlabdb005a DBMS_DST_scriptsV1.9]$ pwd
/oradump/software/12c/DBMS_DST_scriptsV1.9
[oracle@testlabdb005a DBMS_DST_scriptsV1.9]$ ls -lrt
total 68
-rw-r--r--. 1 oracle oinstall 31010 Aug 22 2014 upg_tzv_check.sql
-rw-r--r--. 1 oracle oinstall 19502 Aug 22 2014 upg_tzv_apply.sql
-rw-r--r--. 1 oracle oinstall 6294 Jan 8 2015 countstarTSTZ.sql
-rw-r--r--. 1 oracle oinstall 6909 Jan 8 2015 countstatsTSTZ.sql
SQL> @upg_tzv_check.sql
INFO: Starting with RDBMS DST update preparation.
INFO: NO actual RDBMS DST update will be done by this script.
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: Doing checks for known issues ...
INFO: Database version is 12.1.0.2 .
INFO: Database RDBMS DST version is DSTv14 .
INFO: No known issues detected.
INFO: Now detecting new RDBMS DST version.
A prepare window has been successfully started.
INFO: Newest RDBMS DST version detected is DSTv18 .
INFO: Next step is checking all TSTZ data.
INFO: It might take a while before any further output is seen ...
A prepare window has been successfully ended.
INFO: A newer RDBMS DST version than the one currently used is found.
INFO: Note that NO DST update was yet done.
INFO: Now run upg_tzv_apply.sql to do the actual RDBMS DST update.
INFO: Note that the upg_tzv_apply.sql script will
INFO: restart the database 2 times WITHOUT any confirmation or prompt.
SQL>
SQL>SHUT IMMEDIATE;
SQL>STARTUP UPGRADE
SQL> @upg_tzv_apply.sql
INFO: If an ERROR occurs the script will EXIT sqlplus.
INFO: The database RDBMS DST version will be updated to DSTv18 .
WARNING: This script will restart the database 2 times
WARNING: WITHOUT asking ANY confirmation.
WARNING: Hit control-c NOW if this is not intended.
INFO: Restarting the database in UPGRADE mode to start the DST upgrade.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 4.8318E+10 bytes
Fixed Size 4510496 bytes
Variable Size 1.0737E+10 bytes
Database Buffers 3.7447E+10 bytes
Redo Buffers 129703936 bytes
Database mounted.
Database opened.
INFO: Starting the RDBMS DST upgrade.
INFO: Upgrading all SYS owned TSTZ data.
INFO: It might take time before any further output is seen ...
An upgrade window has been successfully started.
INFO: Restarting the database in NORMAL mode to upgrade non-SYS TSTZ data.
Database closed.
Database dismounted.
ORACLE instance shut down.
ORACLE instance started.
Total System Global Area 4.8318E+10 bytes
Fixed Size 4510496 bytes
Variable Size 1.0737E+10 bytes
Database Buffers 3.7447E+10 bytes
Redo Buffers 129703936 bytes
Database mounted.
Database opened.
INFO: Upgrading all non-SYS TSTZ data.
INFO: It might take time before any further output is seen ...
INFO: Do NOT start any application yet that uses TSTZ data!
INFO: Next is a list of all upgraded tables:
Table list: "SYSMAN"."MGMT_PROV_OPERATION"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_BOOTSERVER"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_DEFAULT_IMAGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_RPM_REP"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_STAGING_DIRS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_NET_CONFIG"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_IP_RANGE"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_CLUSTER_NODES"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_SUITE_INST_MEMBERS"
Number of failures: 0
Table list: "SYSMAN"."MGMT_CONFIG_ACTIVITIES"
Number of failures: 0
Table list: "SYSMAN"."MGMT_PROV_ASSIGNMENT"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_NOTIFY_QTABLE_L"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_S"
Number of failures: 0
Table list: "SYSMAN"."AQ$_MGMT_LOADER_QTABLE_L"
Number of failures: 0
Table list: "ASC_ACE_TX"."NCCM_ACEDATAMIGRATIONLOG"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_SQL_STATEMENT"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_OPTSTAT_OPERATIONS"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_SCHEDULER_JOBS"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_OPTSTAT_USER_PREFS$"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_TAB_STATS_VERSIONS"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_IND_STATS_VERSIONS"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_COL_STATS_VERSIONS"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_HISTGRM_STATS_VERSN"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_WRI$_OPTSTAT_AUX_HISTORY"
Number of failures: 0
Table list: "SQLTXPLAIN"."SQLT$_DBA_AUTOTASK_CLIENT_HST"
Number of failures: 0
Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_S"
Number of failures: 0
Table list: "GSMADMIN_INTERNAL"."AQ$_CHANGE_LOG_QUEUE_TABLE_L"
Number of failures: 0
INFO: Total failures during update of TSTZ data: 0 .
An upgrade window has been successfully ended.
INFO: Your new Server RDBMS DST version is DSTv18 .
INFO: The RDBMS DST update is successfully finished.
INFO: Make sure to exit this sqlplus session.
INFO: Do not use it for timezone related selects.
SQL> select * from v$timezone_file;
FILENAME VERSION CON_ID
-------------------- ---------- --------timezlrg_18.dat 18 010. Post upgrade steps
i. Set cluster_database to TRUE
Alter system set cluster_database=TRUE scope=spfile;
Srvctl stop instance –d TESTDBPRD –I NEWDBPRD1
Srvctl start instance –d TESTDBPRD –I NEWDBPRD1
Srvctl start instance –d TESTDBPRD –I NEWDBPRD2
ii. Update profile of DB services with new 12c home
Srvctl upgrade database –d TESTDBPRD –o /rdbms/app/oracle/12.1.0.2/db
A. Issues Faced
i. ORA-00600: internal error code, arguments: [pesldl03_MMap: errno 1 errmsg Operation not permitted
Issue:Alert log notifying below error during utlrp.sql executions
Errors in file /golden/app/oracle/11.2.0.3.0/diag/rdbms/TESTDBPRD/NEWDBPRD1/trace/NEWDBPRD1_ora_62755.trc (incident=1687133):
ORA-00600: internal error code, arguments: [pesldl03_MMap: errno 1 errmsg Operation not permitted
Cause: /dev/shm was mountable with noexec,nosuid
ORA-600 [pesldl03_MMap: Errno 1 Errmsg Operation Not Permitted] (Doc ID 1625010.1)
Solution:
1. /dev/shm changes
[oracle@testlabdb005a security]$ cat /etc/fstab | grep -i shm
tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0
should be
[oracle@testlabdb005a security]$ cat /etc/fstab | grep -i shm
tmpfs /dev/shm tmpfs defaults,nodev 0 0
as per solution note
Ensure that the /dev/shm mount area is of type tmpfs and is mounted with the following options:
With rw and exec permissions set on it
Without noexec or nosuid set on it"
# cat /etc/fstab
...
tmpfs /dev/shm tmpfs defaults 0 0
2. limit changes
/etc/security/limits.conf
* soft nofile 32768
* hard nofile 65535
* soft stack 10240
* soft nproc 131072
oracle soft nproc 131072
oracle hard nproc 131072
3. in /etc/security/limits.d/ <not sure if in 90-nproc.conf or 20-nproc.conf>
* soft nproc 131072
oracle soft nproc 131072
oracle hard nproc 131072
ii. UTLRP.sql hangs with “single task message” wait event
Issue:
Utlrp.sql hangs with wait event “single task message”
Cause:
Many of the procedure/packages dependent on unresolvable db link
Solution: To remove all DB link pointing to invalid DB link
iii. TIME Zone upgrade status issue
Issue: TIMEZONE pre-requisites were not fulfilling for TZ upgrade , DST_UPGRADE_STATE should be NONE however stucked on DATAPUMP(4) state
SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME; 2 3 4
PROPERTY_NAME VALUE
----------------- ------------------------------
DST_PRIMARY_TT_VERSION 14
DST_SECONDARY_TT_VERSION 4
DST_UPGRADE_STATE DATAPUMP(4)
Solution:
Execute below multiple times till DATAPUMP(4) count reduces and reaches to NONE
SQL> ALTER SESSION SET EVENTS '30090 TRACE NAME CONTEXT FOREVER, LEVEL 32';
SQL> exec dbms_dst.unload_secondary;