DB Name: GRP
Source DB: 11.2.0.3  
Target DB: 12.1.0.2

11g数据库使用DBUA升级Exadata数据库至12c前提条件:

0.需要11g源数据库full + archivelog backup 备份 本例中备份集放在以下目录。
[oracle@dm08db01 backup]$ pwd
/home/oracle/lyon/backup

备份脚本:backup_grp.txt
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup AS COMPRESSED BACKUPSET incremental level 0 format '/u01/app/oracle/backup/inc0_%d_%U_%Y%M%D.bak' tag hot_db_bk_level0 database;
release channel c1;
release channel c2;
release channel c3;
sql 'alter system archive log current';
allocate channel c1 type disk;
allocate channel c2 type disk;
backup AS COMPRESSED BACKUPSET format '/u01/app/oracle/backup/arc0_%d_%U_%Y%M%D.bak' archivelog all not backed up 1 times;
release channel c1;
release channel c2;
backup current controlfile format '/u01/app/oracle/backup/ctl_%d_%U_%Y%M%D.bak';
}

1. 源端11g/目标端12c 的Oracle Home需要提前安装且打好所需补丁.           
2. 11g OH需要追加打Patch#21150904 确保源端数据库可以注册到12C的CRS.   
(Bug 13460353 - Registration of 11.2 database fails against 12.1 CRS stack (required fix for 11g DB with 12c GI))           
3. 目标端ASM磁盘组兼容性问题. 需要将12C ASM磁盘组Database compatibility降级至11.2.0.0.0
4. 源端11g OH需要relink rds_ipc
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ipc_rds ioracle

5. 源端初始化参数需要设置cluster_interconnects
GRP1.cluster_interconnects=192.168.18.1,192.168.18.2
GRP2.cluster_interconnects=192.168.18.3,192.168.18.4

6. 升级过程一定要注意环境变量的设置
GRP_11G_env 为11g Oracle Home 环境变量
GRP_env 为12C Oracle Home 环境变量

下面开始升级过程.
Upgrade 11g Oracle database GRP to 12C.

0. Edit source database pfile and create target pfile&spfile&passwordFile.

0.1 Edit source pfile esp. init parameters like cluster_database/local_listener/remote_listener.

. GRP_11G_env
$ORACLE_HOME/dbs/initGRP1.ora

GRP1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
GRP2.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
GRP1.cluster_interconnects=192.168.18.1,192.168.18.2
GRP2.cluster_interconnects=192.168.18.3,192.168.18.4
*._B_TREE_BITMAP_PLANS=FALSE
*._IN_MEMORY_UNDO=FALSE
*._INDEX_JOIN_ENABLED=FALSE
*._OPTIM_PEEK_USER_BINDS=FALSE
*._OPTIMIZER_MJC_ENABLED=FALSE
*._SORT_ELIMINATION_COST_RATIO=10
*._TABLE_LOOKUP_PREFETCH_SIZE=0
*.audit_file_dest='/u01/app/oracle/admin/GRP/adump'
*.cluster_database_instances=2
*.cluster_database=false
*.compatible='11.2.0.3.0'
*.control_file_record_keep_time=30
*.control_files='+DATA_DM08/GRP/controlfile/current'#Restore Controlfile
*.db_block_size=8192
*.db_cache_size=18269444505
*.db_name='GRP'
*.db_unique_name='GRP'
*.diagnostic_dest='/u01/app/oracle'
*.FILESYSTEMIO_OPTIONS='setall'
GRP1.instance_name='GRP1'
GRP2.instance_name='GRP2'
GRP1.instance_number=1
GRP2.instance_number=2
GRP1.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=dm08db01-vip.sh217.com)(PORT=1527))))'
GRP2.local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=dm08db02-vip.sh217.com)(PORT=1527))))'
*.log_archive_config='NODG_CONFIG'
*.log_archive_dest_1='LOCATION=+RECO_DM08 VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=GRP'
*.log_archive_dest_2=''
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=30
*.log_checkpoints_to_alert=true
*.max_dump_file_size='20000'
*.open_cursors=2000
*.parallel_execution_message_size=16384
*.parallel_threads_per_cpu=1
*.pga_aggregate_target=24359259340
*.processes=270
*.query_rewrite_enabled='false'
*.recyclebin='off'
*.remote_login_passwordfile='exclusive'
*.remote_os_authent=false
*.replication_dependency_tracking=false
*.service_names='GRP'
*.sessions=540
*.shared_pool_size=18269444505
*.standby_file_management='AUTO'
*.star_transformation_enabled='true'
remote_listener='dm08-scan:1527'
GRP1.thread=1
GRP2.thread=2
GRP1.undo_tablespace='PSAPUNDO'
GRP2.undo_tablespace='PSAPUNDO2'

0.1 create target spfile.
. GRP_11G_env
sqlplus "/ as sysdba"
startup nomount pfile='initGRP1.ora';
create spfile='+DATA_DM08' from pfile='initGRP1.ora';
exit;

0.2
. grid.env
asmcmd
ASMCMD> pwd
+DATA_DM08/GRP/PARAMETERFILE

mkalias '+DATA_DM08/GRP/PARAMETERFILE/spfile.303.938004267' '+DATA_DM08/GRP/spfileGRP'

0.3 edit target pfile to use spfile.
[oracle@dm08db01 dbs]$ cat initGRP1.ora
spfile='+DATA_DM08/GRP/spfileGRP'

0.4 shutdown the DB and nomount it.  
[oracle@dm08db01 dbs]$ . GRP_11G_env
shutdown immediate;
startup nomount;
show parameter spfile;

1. restore target controlfile
rman target /
restore controlfile from '/home/oracle/lyon/backup/ctl_GRP_tfru5il9_1_1_20170302.bak';

2. mount DB.
SQL> alter database mount;

Database altered.

SQL>

3. catalog backup files.
RMAN> catalog start with '/home/oracle/lyon/backup';

list backup set.
RMAN> list backup of database completed after 'sysdate-2';

4. Prepare the restore&recovery script

select 'set newname for datafile '||FILE#||' to '''||replace(NAME,substr(NAME,0,instr(NAME,'/',-1)),'+DATA_DM08/GRP/') ||''';'
from v$datafile;

Edit the script restore_GRP.txt

run
{
sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';
set until time "to_date('03/02/17 23:10:00','mm/dd/yy hh24:mi:ss')";
ALLOCATE CHANNEL ch01 TYPE disk;
ALLOCATE CHANNEL ch02 TYPE disk;
ALLOCATE CHANNEL ch03 TYPE disk;
set newname for datafile 1 to '+DATA_DM08/GRP/system.data1';
set newname for datafile 2 to '+DATA_DM08/GRP/sysaux.data1';
set newname for datafile 3 to '+DATA_DM08/GRP/undo.data1';
set newname for datafile 4 to '+DATA_DM08/GRP/sr3.data1';
set newname for datafile 5 to '+DATA_DM08/GRP/sr3.data2';
set newname for datafile 6 to '+DATA_DM08/GRP/sr3.data3';
set newname for datafile 7 to '+DATA_DM08/GRP/sr3.data4';
set newname for datafile 8 to '+DATA_DM08/GRP/sr3.data5';
set newname for datafile 9 to '+DATA_DM08/GRP/sr3.data6';
set newname for datafile 10 to '+DATA_DM08/GRP/sr3740.data1';
set newname for datafile 11 to '+DATA_DM08/GRP/sr3740.data2';
set newname for datafile 12 to '+DATA_DM08/GRP/sr3740.data3';
set newname for datafile 13 to '+DATA_DM08/GRP/sr3740.data4';
set newname for datafile 14 to '+DATA_DM08/GRP/sr3740.data5';
set newname for datafile 15 to '+DATA_DM08/GRP/sr3usr.data1';
set newname for datafile 16 to '+DATA_DM08/GRP/psapundo2.300.929276573';
set newname for datafile 17 to '+DATA_DM08/GRP/psapsr3.490.923928705';
restore database;
switch datafile all;
recover database;
}

5.
restore&recover DB.

nohup /u01/app/oracle/product/11.2.0/dbhome_1/bin/rman target / cmdfile=/home/oracle/lyon/backup/restore_GRP.txt &

monitoring:
[oracle@dm08db01 backup]$ tail -f nohup.out

6. rename logfile.

select 'alter database rename file '||''''||member||''''||' to '||''''||replace(member,substr(member,0,instr(member,'/',-1)),'+DATA_DM08/GRP/') ||''';'
from v$logfile order by GROUP#;

alter database rename file '+DATA_DM04/grpstdby/log_g11m1.dbf' to '+DATA_DM08/GRP/log_g11m1.dbf';
alter database rename file '+DATA_DM04/grpstdby/log_g12m1.dbf' to '+DATA_DM08/GRP/log_g12m1.dbf';
alter database rename file '+DATA_DM04/grpstdby/log_g13m1.dbf' to '+DATA_DM08/GRP/log_g13m1.dbf';
alter database rename file '+DATA_DM04/grpstdby/log_g14m1.dbf' to '+DATA_DM08/GRP/log_g14m1.dbf';
alter database rename file '+DATA_DM04/grpstdby/onlinelog/group_5.588.929287435' to '+DATA_DM08/GRP/group_5.588.929287435';
alter database rename file '+DATA_DM04/grpstdby/onlinelog/group_6.587.929287435' to '+DATA_DM08/GRP/group_6.587.929287435';
alter database rename file '+DATA_DM04/grpstdby/onlinelog/group_7.586.929287435' to '+DATA_DM08/GRP/group_7.586.929287435';
alter database rename file '+DATA_DM04/grpstdby/onlinelog/group_8.585.929287435' to '+DATA_DM08/GRP/group_8.585.929287435';

7. open upgrade resetlogs the database.
alter database open resetlogs upgrade;

8. CRS registration to 12C CRS.

srvctl add database -d GRP -o /u01/app/oracle/product/11.2.0/dbhome_1
srvctl add instance -d GRP -i GRP1 -n dm08db01
srvctl add instance -d GRP -i GRP2 -n dm08db02
srvctl modify database -d GRP -p '+DATA_DM08/GRP/spfilegrp'
srvctl config database -d GRP -a
srvctl modify database -d GRP -a DATA_DM08,DBFS_DG,RECO_DM08

9.Add the DB to /etc/oratab

9.
alter system reset remote_os_authent scope=spfile;
alter system set cluster_database=true scope=spfile;

10. Test a DB restart.
srvctl stop database -d GRP
srvctl start database -d GRP

11. Upgrade the DB using DBUA.  注意这里要使用12c的oracle home.
[oracle@dm08db01 env]$ . GRP_env
[oracle@dm08db01 env]$ export DISPLAY=10.129.61.157:0.0
[oracle@dm08db01 env]$ dbua

12. 参见DBUA过程。
11gTo12CByDBUA.docx

Reference:
Complete Checklist for Upgrading to Oracle Database 12c Release 1 using DBUA (Doc ID 1516557.1)
Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql) (Doc ID 556610.1)
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)

11g数据库使用DBUA升级Exadata数据库至12c的更多相关文章

  1. Oracle数据库异机升级

    环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...

  2. Web工程软件升级之数据库升级(一)

    1. 首先检查oracle数据库版本是否正确 (可以使用方法 lsinventory来实现) 2. 检查oracle连接是否成功 3. 解压升级包,放到特定目录 4. 做升级前数据备份,备份主要业务数 ...

  3. 探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB

    探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB 前言:        从Oracle 12c開始,引入了容器数据库的概念,能够实现数据库插拔操作,例如以下图: 如今我们 ...

  4. phpstudy升级mysql数据库

    因为MySQL支持全文索引的只有5.6以上,而我下的phpstudy只有5.5的版本,在导入数据库的时候因为该数据库的表内有使用全文索引,因此必须升级phpstudy的mysql版本,这里就把自己当升 ...

  5. 【转】使用PowerDesigner的建模创建升级管理数据库

    使用PowerDesigner的建模创建升级管理数据库 PowerDesigner是一种著名的CASE建摸工具,最开始为数据库建模设计,即物理模型(Physical Data Model)用于生成数据 ...

  6. 【Jhipster】升级/修改 数据库结构

    前提 1.jhipster环境,jdk1.8,yeoman,node.js安装环境参考官方wiki,环境问题参考我的博客,如果出现注册中心空白页,请参考博客 2.首先需要启动jhipster基础服务, ...

  7. Django1.6版本的PG数据库定义手动升级

    Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...

  8. c#常用数据库封装再次升级

    c#封装的几类数据库操作: 1.sqilte 2.berkeleydb 3.一般数据库 4.redis 包含其他项目: 1.序列化 2.通信 3.自定义数据库连接池 再次升级内容: 1.新增redis ...

  9. 检测到无法识别的AP,请升级AP数据库

    0x00 事件 原因是公司新增了两个 AP 设备 TL-AP1202i ,似乎是新的 AP 硬件版本比较高,导致 AC 无法识别,控制器 Web 页面给出 检测到无法识别的AP,请升级AP数据库! 的 ...

随机推荐

  1. 什么是Activiti

    什么是Activiti Activiti属于工作流引擎的一个开源实现.Activiti由Tom Bayen发起.在2010年5月发布了第一个版本.命名也很有意思的采取了Activities(活动)的化 ...

  2. 查询mysql版本号

    mysql> select version(); +------------+| version() |+------------+| 5.7.23-log |+------------+1 r ...

  3. How to solve the problem that Github can't visit in China?

    find path C:\Windows\System32\drivers\etc\host open DNS detection and DNS query-Webmaster(DNS查询) too ...

  4. 前端每日实战:74# 视频演示如何用纯 CSS 创作一台 MacBook Pro

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/MXNNyR 可交互视频 此视频是可 ...

  5. Python——五分钟带你弄懂迭代器与生成器,夯实代码能力

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉 ...

  6. 报错: raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.__version__)

    Django2.0同步Mysql数据库时出现的问题 执行 python manage.py makemigrations 报错 # 报错位置 File "G:\python\lib\site ...

  7. disruptor 多生产者多消费者实战 四

    一.创建event类 Order public class Order { private String id; private String name; private double price; ...

  8. 用python实现LBP特征点计算

    import cv2 import numpy as np def olbp(src): dst = np.zeros(src.shape,dtype=src.dtype) for i in rang ...

  9. CrawlSpiders简介

    转:https://www.cnblogs.com/ellisonzhang/p/11124516.html#4295547 一.CrawlSpiders类简介 通过下面的命令可以快速创建 Crawl ...

  10. 吐血干货,直播首屏耗时400ms以下的优化实践

    导读: 直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴. 背景: ...