探索Oracle之数据库升级八 12c Downgrade 11gR2
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了探索Oracle之数据库升级八 12c Downgrade 11gR2,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5803字,纯文字阅读大概需要9分钟。
内容图文
探索
Oracle
之数据库升级八
12c Downgrade 11gR2
前言:
我们前面已经完成了 11gR2 upgrade to 12c 的升级,整个过程还是比较顺利的,虽然和以前版本升级有些不太一样,但是整个难度不是太大,但是由于太多的特性不同,大大的加长了升级的时间。
但是对于 Oracle 12c 降回到之前版本,会有些限制,只能降级到升级前所用的版本和补丁级别。
如果我们是直接从 10.2.0.5 、 11.1.0.7 或版本 11.2.0.2 及更高版进行升级。那么将无法降级到 10.2.0.5 。
如果通过应用中间补丁程序 11.1.0.7 从 Oracle 11.1.0.6 升级到 Oracle 12c ( 12.1.0 ),则不能降级到 Oracle 11.1.0.6 。降级只能对直接执行升级版本执行。
例外:
虽然可以对 10.2.0.5 直接升级,但降级不适用于 10.2.0.5。
这是因为在升级过程中,compatible 参数已设置为最低 11.0.0。这使得无法降级到 10.2.0.5。可以降级的版本为 11.1.0.7、11.2.0.2、11.2.0.3 或更高版本。
如果有任何补丁程序应用到了从升级后的主目录运行的源数据库,则需要先回退,然后才能开始降级过程。
卸载和回退补丁程序的步骤记录在所涉及补丁程序的自述文件中。
未能卸载和回退补丁程序可能会导致无法降级,包括无法重新验证字典对象。
Exadata 捆绑补丁程序示例,其过程为:
卸载补丁程序
示例: $ opatch auto /u01/app/oracle/patches/14103267 -rollback
回退任何在补丁程序应用过程中应用的 SQL:
示例:
SQL> @rdbms/admin/catbundle_EXA_<
数据库
SID>_ROLLBACK.sql
,用于回退
SQL
更改。
一、开始执行降级前的检查操作
升级前确保所有组件状态正常,且没有无效组件
-
###检查各组件状态
-
SQL>selectsubstr(comp_id,1,15) comp_id,substr(comp_name,1,30) comp_name,substr(version,1,10) version,status from dba_registry;
-
-
COMP_ID COMP_NAME VERSION STATUS
-
---------- ------------------------------ ---------- --------
-
DV Oracle Database Vault 12.1.0.1.0 VALID
-
APEX Oracle Application Express 4.2.0.00.2 VALID
-
OLS Oracle Label Security 12.1.0.1.0 VALID
-
SDO Spatial 12.1.0.1.0 VALID
-
ORDIM Oracle Multimedia 12.1.0.1.0 VALID
-
CONTEXT Oracle Text 12.1.0.1.0 VALID
-
OWM Oracle Workspace Manager 12.1.0.1.0 VALID
-
XDB Oracle XML Database 12.1.0.1.0 VALID
-
CATALOG Oracle Database Catalog Views 12.1.0.1.0 VALID
-
CATPROC Oracle Database Packages and T 12.1.0.1.0 VALID
-
JAVAVM JServer JAVA Virtual Machine 12.1.0.1.0 VALID
-
-
COMP_ID COMP_NAME VERSION STATUS
-
---------- ------------------------------ ---------- --------
-
XML Oracle XDK 12.1.0.1.0 VALID
-
CATJAVA Oracle Database Java Packages 12.1.0.1.0 VALID
-
APS OLAP Analytic Workspace 12.1.0.1.0 VALID
-
XOQ Oracle OLAP API 12.1.0.1.0 VALID
-
RAC Oracle Real Application Cluste 12.1.0.1.0 OPTION O
-
FF
-
16 rows selected.
-
#####检查无效组件 -
SQL>select owner,count(object_name)\"Invalid object count\"from dba_objects wherestatus!=\‘VALID\‘and owner in(\‘SYS\‘,\‘SYSTEM\‘)groupby owner;
-
-
no rows selected
-
- SQL>
- ###2.1 关闭数据库
-
SQL> shutdown immediate
- Database closed.
- Database dismounted.
-
ORACLE instance shut down.
-
###2.1 将数据库启动到downgrade模式
-
SQL>startup downgrade;
-
ORACLE instance started.
-
Total System Global Area 5027385344 bytes
-
Fixed Size 2298736 bytes
- VariableSize 1040190608 bytes
- Database Buffers 3976200192 bytes
-
Redo Buffers 8695808 bytes
- Database mounted.
- Database opened.
-
SQL>
-
###2.2 运行降级脚本
-
SQL>spool downgrade_12c_to_11g.log
-
SQL>@$ORACLE_HOME/rdbms/admin/catdwgrd.sql
-
………
-
PL/SQL procedure successfully completed.
-
SQL>
-
SQL>-- lrg 7259350: objects created in this script need their flags that won\‘t fit
-
SQL>-- in a ub2 cleared
-
SQL>update obj$mig set flags=bitand(flags,65535)where flags>65535;
-
222 rows updated.
-
SQL>
-
SQL>/*****************************************************************************/
-
SQL>/* Step 9 - Swap bootstrap$mig with bootstrap$
-
SQL> */
-
SQL>/*****************************************************************************/
-
SQL>/* According to JKLEIN, performing 3 count(*) will ensure there are
-
SQL> no dirty itl\‘s present in bootstrap$. */
-
SQL>selectcount(*)from bootstrap$;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>selectcount(*)from bootstrap$;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>selectcount(*)from bootstrap$;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>selectcount(*)from bootstrap$mig;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>selectcount(*)from bootstrap$mig;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>selectcount(*)from bootstrap$mig;
-
COUNT(*)
- ----------
-
60
-
1 row selected.
-
SQL>
-
SQL>WHENEVER SQLERROR CONTINUE
-
SQL>
-
SQL>begin
-
2
-
3 -- Now we can do the swap.
-
4 declare
-
5 procedure swap_bootstrap(replacement_tbl_name INVARCHAR2)
-
6 is language c library DBMS_DDL_INTERNAL_LIB
-
7 name \"swap_bootstrap\"
-
8 with context
-
9 parameters(context, replacement_tbl_name String,
-
10 replacement_tbl_name LENGTH ub2,
-
11 replacement_tbl_name INDICATOR sb2);
-
12 begin
-
13 swap_bootstrap(\‘BOOTSTRAP$MIG\‘);
-
14 end;
-
15
-
16 -- We\‘ve completed the swap.
-
17 -- Remove the BOOTSTRAP_DOWNGRADE_ERROR entry in props$.
-
18 deletefrom props$ where name =\‘BOOTSTRAP_DOWNGRADE_ERROR\‘;
-
19 commit;
-
20 end;
-
21 /
-
PL/SQL procedure successfully completed.
-
SQL>
-
SQL> Rem ***********************************************************************
-
SQL> Rem END catdwgrd.sql
-
SQL> Rem ***********************************************************************
-
SQL>
-
SQL>
-
SQL> shutdown immediate
- Database closed.
- Database dismounted.
-
ORACLE instance shut down.
-
SQL>exit
-
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
- With the Partitioning, OLAP, Advanced Analytics andReal Application Testing options
- [oracle@woo ~]
- [root@woo ~]# vi /etc/oratab
- woo:/DBSoft/oracle/product/11.2.4/dbhome_1
- [root@woo oracle]# vi ~/.bash_profile
- [oracle@woo ~]$echo $ORACLE_HOME
- /DBSoft/oracle/product/11.2.4/dbhome_1
- [oracle@woo ~]$ sqlplus /as sysdba
-
SQL*Plus:Release 11.2.0.4.0 Production on Sun Dec 21 22:13:32 2014
-
Copyright (c) 1982, 2013, Oracle.All rights reserved.
-
Connected to an idle instance.
-
SQL>startup
-
ORACLE instance started.
-
Total System Global Area 5027385344 bytes
-
Fixed Size 2261888 bytes
- VariableSize 1107299456 bytes
- Database Buffers 3909091328 bytes
-
Redo Buffers 8732672 bytes
- Database mounted.
-
ORA-01092: ORACLE instance terminated. Disconnection forced
-
ORA-00704: bootstrap process failure
-
ORA-39700:database must be opened withUPGRADEoption
-
Process ID: 7028
- Session ID: 580 Serial number: 5
- SQL>
原文:http://blog.itpub.net/20674423/viewspace-1375350/
内容总结
以上是互联网集市为您收集整理的探索Oracle之数据库升级八 12c Downgrade 11gR2全部内容,希望文章能够帮你解决探索Oracle之数据库升级八 12c Downgrade 11gR2所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。