探索Oracle之数据库升级六
11.2.0.4.3 Upgrade12c(12.2.0.1)
一、前言:
Oracle 12c发布距今已经一年有余了,其最大亮点是一个可以插拔的数据库(PDB),这是在之前版本没有的;但是如果我们要将以前版本的数据库升级到12c来,那么也应顺其自然的将其变成一个pdb,那么我们的工作不仅包含了数据库软件的升级,同时也包含如何将一个NO-CDB的数据库plug to CDB none。
二、升级要求:
三、升级前准备:
3.1、查看数据库版本及补丁信息
[oracle@db01 Phycal]$ pwd
/DBBackup/Phycal
[oracle@db01 Phycal]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Thu Nov 20 04:41:01 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: WOO (DBID=4199532651)
RMAN> run{
2> allocate channel chan_name type disk;
3> backup database format ‘/DBBackup/Phycal/WOO%U.bak‘ TAG before_upgrade;
4> BACKUP CURRENT CONTROLFILE;
5> }
using target database control file instead of recovery catalog
allocated channel: chan_name
channel chan_name: SID=28 device type=DISK
Starting backup at 20-NOV-14
channel chan_name: starting full datafile backup set
channel chan_name: specifying datafile(s) in backup set
input datafile file number=00001 name=/DBData/woo/woo/system01.dbf
input datafile file number=00002 name=/DBData/woo/woo/sysaux01.dbf
input datafile file number=00003 name=/DBData/woo/woo/undotbs01.dbf
input datafile file number=00004 name=/DBData/woo/woo/users01.dbf
channel chan_name: starting piece 1 at 20-NOV-14
channel chan_name: finished piece 1 at 20-NOV-14
piece handle=/DBBackup/Phycal/WOO0apo2ar4_1_1.bak tag=BEFORE_UPGRADE comment=NONE
channel chan_name: backup set complete, elapsed time: 00:01:25
channel chan_name: starting full datafile backup set
channel chan_name: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel chan_name: starting piece 1 at 20-NOV-14
channel chan_name: finished piece 1 at 20-NOV-14
piece handle=/DBBackup/Phycal/WOO0bpo2atp_1_1.bak tag=BEFORE_UPGRADE comment=NONE
channel chan_name: backup set complete, elapsed time: 00:00:01
Finished backup at 20-NOV-14
Starting backup at 20-NOV-14
channel chan_name: starting full datafile backup set
channel chan_name: specifying datafile(s) in backup set
including current control file in backup set
channel chan_name: starting piece 1 at 20-NOV-14
channel chan_name: finished piece 1 at 20-NOV-14
piece handle=/DBSoft/fast_recovery_area/WOO/backupset/2014_11_20/o1_mf_ncnnf_TAG20141120T044237_b6t05y5x_.bkp tag=TAG20141120T044237 comment=NONE
channel chan_name: backup set complete, elapsed time: 00:00:01
Finished backup at 20-NOV-14
released channel: chan_name
RMAN> list backupset;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
9 Full 1.20G DISK 00:01:24 20-NOV-14
BP Key: 9 Status: AVAILABLE Compressed: NO Tag: BEFORE_UPGRADE
Piece Name: /DBBackup/Phycal/WOO0apo2ar4_1_1.bak
List of Datafiles in backup set 9
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
1 Full 3242521 20-NOV-14 /DBData/woo/woo/system01.dbf
2 Full 3242521 20-NOV-14 /DBData/woo/woo/sysaux01.dbf
3 Full 3242521 20-NOV-14 /DBData/woo/woo/undotbs01.dbf
4 Full 3242521 20-NOV-14 /DBData/woo/woo/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
10 Full 9.64M DISK 00:00:02 20-NOV-14
BP Key: 10 Status: AVAILABLE Compressed: NO Tag: BEFORE_UPGRADE
Piece Name: /DBBackup/Phycal/WOO0bpo2atp_1_1.bak
SPFILE Included: Modification time: 12-NOV-14
SPFILE db_unique_name: WOO
Control File Included: Ckp SCN: 3242657 Ckp time: 20-NOV-14
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
11 Full 9.61M DISK 00:00:01 20-NOV-14
BP Key: 11 Status: AVAILABLE Compressed: NO Tag: TAG20141120T044237
Piece Name: /DBSoft/fast_recovery_area/WOO/backupset/2014_11_20/o1_mf_ncnnf_TAG20141120T044237_b6t05y5x_.bkp
Control File Included: Ckp SCN: 3242671 Ckp time: 20-NOV-14
在这里已经把需要修改的相关操作封装到了preupgrade_fixups.sql脚本中,执行该脚本按照提示修复存在的问题即可。
4.2 主要需要修复如下问题:
ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE;
@$ORACLE_HOME/rdbms/admin/emremove.sql
@$ORACLE_HOME/olap/admin/catnoamd.sql
EXECUTE dbms_stats.gather_dictionary_stats;
4.3 执行dbupgdiag.sql收集升级前信息
如果有异常参考Metalink ID:556610.1进行修改
五、开始安装ORACLE 12C软件
5.1 创建12c 安装所需目录
注意:这部分不需要我们手工去修改/etc/oratab记录,执行升级会自动完成修改。
16.4 执行升级后postupgrade_fixups.sql检查:
6.6 字符集检查:
检查国家字符集,如果是以下字符集则不需要做操作:
如果返回结果是 UTF8 或者 AL16UTF16,那么什么都不需要做了。
如果返回结果不是 UTF8 或者 AL16UTF16,那么请参考下面的文档:
Note 276914.1 The National Character Set ( NLS_NCHAR_CHARACTERSET ) in
Oracle 9i, 10g , 11g and 12c (文档 ID 276914.1)
6.7 修改参数文件中的版本号:
至此,经过漫长而辛苦的升级,我们已经将11.2.0.4顺利升级到了12.1.0.1,整个升级过程虽然有点长,但还是比较顺利的。故需再生产环境中升级请大家务必预留好可用于升级的时间窗口,升级时间确实是非常的长。
探索Oracle之数据库升级六 11.2.0.4.3 Upgrade12c(12.2.0.1)
原文:http://blog.itpub.net/20674423/viewspace-1371412/