11g数据库使用DBUA升级Exadata数据库至12c
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的更多相关文章
- Oracle数据库异机升级
环境: A机:RHEL5.5 + Oracle 10.2.0.4 B机:RHEL5.5 需求: A机10.2.0.4数据库,在B机升级到11.2.0.4,应用最新PSU补丁程序. 目录: 一. 确认是 ...
- Web工程软件升级之数据库升级(一)
1. 首先检查oracle数据库版本是否正确 (可以使用方法 lsinventory来实现) 2. 检查oracle连接是否成功 3. 解压升级包,放到特定目录 4. 做升级前数据备份,备份主要业务数 ...
- 探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB
探索Oracle之数据库升级七 11gR2 to 12c 升级完毕后插入PDB 前言: 从Oracle 12c開始,引入了容器数据库的概念,能够实现数据库插拔操作,例如以下图: 如今我们 ...
- phpstudy升级mysql数据库
因为MySQL支持全文索引的只有5.6以上,而我下的phpstudy只有5.5的版本,在导入数据库的时候因为该数据库的表内有使用全文索引,因此必须升级phpstudy的mysql版本,这里就把自己当升 ...
- 【转】使用PowerDesigner的建模创建升级管理数据库
使用PowerDesigner的建模创建升级管理数据库 PowerDesigner是一种著名的CASE建摸工具,最开始为数据库建模设计,即物理模型(Physical Data Model)用于生成数据 ...
- 【Jhipster】升级/修改 数据库结构
前提 1.jhipster环境,jdk1.8,yeoman,node.js安装环境参考官方wiki,环境问题参考我的博客,如果出现注册中心空白页,请参考博客 2.首先需要启动jhipster基础服务, ...
- Django1.6版本的PG数据库定义手动升级
Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...
- c#常用数据库封装再次升级
c#封装的几类数据库操作: 1.sqilte 2.berkeleydb 3.一般数据库 4.redis 包含其他项目: 1.序列化 2.通信 3.自定义数据库连接池 再次升级内容: 1.新增redis ...
- 检测到无法识别的AP,请升级AP数据库
0x00 事件 原因是公司新增了两个 AP 设备 TL-AP1202i ,似乎是新的 AP 硬件版本比较高,导致 AC 无法识别,控制器 Web 页面给出 检测到无法识别的AP,请升级AP数据库! 的 ...
随机推荐
- 7-4 jmu-python-判断是否构成三角形 (10 分)
7-4 jmu-python-判断是否构成三角形 (10 分) 输入三角形的三边,判断是否能构成三角形.若能构成输出yes,否则输出no. 输入格式: 在一行中直接输入3个整数,3个整数之间各用一 ...
- css手写一个表头固定
Bootstrap,layui等前端框架里面都对表头固定,表格滚动有实现,偏偏刚入职的公司选择了手动渲染表格,后期又觉得表格数据拉太长想要做表头固定.为了避免对代码改动太大,所以决定手写表头固定 主要 ...
- 前端每日实战:62# 视频演示如何用纯 CSS 创作一只蒸锅
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/YvOzNy 可交互视频 此视频是可 ...
- 超详细的HDFS读写流程详解(最容易理解的方式)
HDFS采用的是master/slaves这种主从的结构模型管理数据,这种结构模型主要由四个部分组成,分别是Client(客户端).Namenode(名称节点).Datanode(数据节点)和Seco ...
- 编程老司机带你玩转 CompletableFuture 异步编程
本文从实例出发,介绍 CompletableFuture 基本用法.不过讲的再多,不如亲自上手练习一下.所以建议各位小伙伴看完,上机练习一把,快速掌握 CompletableFuture. 个人博文地 ...
- SuperBenchmarker一个用.NET编写的压测工具
0x01 前言 在这之前想必大家对ab(http)与abs(https)也有一些了解,我们今天不去看ab和abs,SuperBenchmarker(sb.exe)是一个压测工具,他是一个受Apache ...
- mongodb忘记密码处理步骤
mongodb忘记密码的处理办法较MySQL等数据库而言方法显得更加暴力,处理方式如下: 1. 修改mongodb的配置文件 mongodb的配置文件一般可以通过查看进程的方式查看文件名,例如: p ...
- vue项目基本步骤
首先查看电脑是否已经安装vue并查看版本: window+R快捷打开命令行,cmd,输入node -v回车 如果未安装操作步骤如下: 1:$ cnpm install vue(新电脑安装Vue,永久) ...
- CMAKE交叉编译快速入门
cmake 工具 cmake 使用非常简单,最常用的用法是 cmake . 在当前目录执行cmake 官方帮助 -D <var>:<type>=<value> -D ...
- 2020Ubuntu server1804最新安装后的配置
一.Putty进行ssh连接. 完成最基本配置之后,就远程连接服务器了.在windows是我习惯putty 在我以前的老电脑里面找一个putty是0.6版本的,连上Ip ,还是原来的配方,还是原来的味 ...