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. 7-4 jmu-python-判断是否构成三角形 (10 分)

    7-4 jmu-python-判断是否构成三角形 (10 分)   输入三角形的三边,判断是否能构成三角形.若能构成输出yes,否则输出no. 输入格式: 在一行中直接输入3个整数,3个整数之间各用一 ...

  2. css手写一个表头固定

    Bootstrap,layui等前端框架里面都对表头固定,表格滚动有实现,偏偏刚入职的公司选择了手动渲染表格,后期又觉得表格数据拉太长想要做表头固定.为了避免对代码改动太大,所以决定手写表头固定 主要 ...

  3. 前端每日实战:62# 视频演示如何用纯 CSS 创作一只蒸锅

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

  4. 超详细的HDFS读写流程详解(最容易理解的方式)

    HDFS采用的是master/slaves这种主从的结构模型管理数据,这种结构模型主要由四个部分组成,分别是Client(客户端).Namenode(名称节点).Datanode(数据节点)和Seco ...

  5. 编程老司机带你玩转 CompletableFuture 异步编程

    本文从实例出发,介绍 CompletableFuture 基本用法.不过讲的再多,不如亲自上手练习一下.所以建议各位小伙伴看完,上机练习一把,快速掌握 CompletableFuture. 个人博文地 ...

  6. SuperBenchmarker一个用.NET编写的压测工具

    0x01 前言 在这之前想必大家对ab(http)与abs(https)也有一些了解,我们今天不去看ab和abs,SuperBenchmarker(sb.exe)是一个压测工具,他是一个受Apache ...

  7. mongodb忘记密码处理步骤

    mongodb忘记密码的处理办法较MySQL等数据库而言方法显得更加暴力,处理方式如下: 1.  修改mongodb的配置文件 mongodb的配置文件一般可以通过查看进程的方式查看文件名,例如: p ...

  8. vue项目基本步骤

    首先查看电脑是否已经安装vue并查看版本: window+R快捷打开命令行,cmd,输入node -v回车 如果未安装操作步骤如下: 1:$ cnpm install vue(新电脑安装Vue,永久) ...

  9. CMAKE交叉编译快速入门

    cmake 工具 cmake 使用非常简单,最常用的用法是 cmake . 在当前目录执行cmake 官方帮助 -D <var>:<type>=<value> -D ...

  10. 2020Ubuntu server1804最新安装后的配置

    一.Putty进行ssh连接. 完成最基本配置之后,就远程连接服务器了.在windows是我习惯putty 在我以前的老电脑里面找一个putty是0.6版本的,连上Ip ,还是原来的配方,还是原来的味 ...