ORACLE12.2 升級之路 之 11(ADG 升级 [11.2.0.1 -> 11.2.0.4])

ADG 升级 [11.2.0.1 -> 11.2.0.4]


目标

ORACLE ADG 环境下将 11.2.0.1 升级到 11.2.0.4

思路

停快速故障轉移功能;主库暂停归档传输;备库安装新版本软件,备库启动到mount;主库安装软件,主库升级数据库,主库启用归档传输,备库开启日志恢复。

注意

11.2.0.4新版软件安装到一个新目录下,注意copy之前的spfile、密码文件、network file、dg_broker_config文件(监听配置文件的静态监听部分需要修改),备库只升级软件版本。数据库升级是通过主库升级后通过应用主库归档完成升级和同步的。

概要步骤

1.停快速故障轉移功能
2.主库暂停归档向备库传输
3.备库在新目录下安装新版本软件
4.备库启动到mount状态
5.主库安装软件,升级数据库
6.主库启用归档向备库传输
7.检查备库、主库升级情况
8.修改 compatible 参数(主备)
9.ADG环境DB重启
10.切换到最大可用模式

具体步骤

1.停快速故障轉移功能

[oracle@XAG110 ~]$ dgmgrl sys/123456
DGMGRL> show configuration

DGMGRL>stop observer
DGMGRL>disable fast_start failover;

2.主库暂停归档向备库传输

show database 'DG22'
edit configuration set protection mode as MaxPerformance;
edit database 'DG22' set state='TRANSPORT-OFF';
edit database 'DG22' set property LogXptMode ='ASYNC';
edit database 'DG23' set property LogXptMode ='ASYNC';
show database 'DG22'
#主機
SQL> show parameter dg_broker;   
NAME                                                     VALUE
------------------------------------
dg_broker_config_file1 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1DG22.dat
dg_broker_config_file2 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2DG22.dat
dg_broker_start              true
#備機
SQL> show parameter dg_broker;   
NAME                                                             VALUE
------------------------------------
dg_broker_config_file1 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1DG23.dat
dg_broker_config_file2 /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2DG23.dat
dg_broker_start              true

3.备库在新目录下安装新版本软件
3.1 关闭数据库,监听。

[oracle@XAG110 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@XAG110 ~]$ which sqlplus 
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus
[oracle@XAG110 ~]$ sqlplus / as sysdba 
SQL> shutdown immediate
[oracle@XAG110 ~]$ lsnrctl stop

3.2 在新目录下安装Oracle 11.2.0.4 软件(only oftware)
--安裝時路徑選擇 新的 ORACLE_HOME
--编辑oracle环境变量,修改ORACLE_HOME为新的目录

vim /home/oracle/.bash_profile
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1

3.3 copy 配置文件

[oracle@oracle2 admin]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/*.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/

--修正listener.ora 及 tnsnames.ora 中ORACLE_HOME

cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileDG.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1DG23.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2DG23.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwDG /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwDG

4.备库启动到mount状态

[oracle@XAG110 ~]$ lsnrctl start
[oracle@XAG110 ~]$ sqlplus / as sysdba
SQL> startup mount;

5.主库安装软件,升级数据库
5.1 备份数据库
--略
5.2 关闭数据库,监听

[oracle@XAG109 ~]$ lsnrctl stop
[oracle@XAG109 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1
[oracle@XAG109 ~]$ which sqlplus 
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus
[oracle@XAG109 ~]$ sqlplus / as sysdba 
SQL> spool /home/oracle/upgrade01.log
SQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112i.sql
SQL> spool off
--根据提示修正不符合升级条件的地方,清空回收站
SQL> purge DBA_RECYCLEBIN;
SQL> select count(*) from DBA_RECYCLEBIN;
--查看无效对象
SQL> select count(*) from dba_objects where status<>'VALID';
SQL> EXECUTE dbms_stats.gather_dictionary_stats;
SQL> shutdown immediate

5.3 在新目录下安装Oracle 11.2.0.4 软件(only oftware)
--安裝時選擇新的 ORACLE_HOME ,注:监听不需要配置

--编辑oracle用户环境变量,修改ORACLE_HOME新目录

vim .bash_profile
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1

5.4 copy 配置文件

[oracle@oracle2 admin]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/*.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/
--修正listener.ora 、 tnsnames.ora 中ORACLE_HOME
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileDG.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1DG22.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2DG22.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwDG /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/orapwDG

5.5 升级数据库

[oracle@XAG109 dbs]$ which sqlplus
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/sqlplus
[oracle@XAG109 dbs]$ sqlplus / as sysdba
SQL> startup UPGRADE
SQL> 
set echo on
spool /home/oracle/update02.log
set time on
SQL>@/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/catupgrd.sql
--3o分钟(做完后自動shutdown immediate)
SQL> sqlplus / as sysdba
SQL> startup
SQL> select count(*) from dba_objects where status<>'VALID';
456
SQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlrp.sql
SQL> select count(1) from dba_objects where status<>'VALID';
0
SQL> @/u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlu112s.sql
SQL> select count(1) from dba_objects where status<>'VALID';
0
SQL> EXECUTE dbms_stats.gather_dictionary_stats;
SQL> shutdown immediate
SQL> startup

5.6主库启动监听
[oracle@XAG109 ~]$ lsnrctl start

5.7查看oratab
[oracle@XAG109 ~]$ cat /etc/oratab

5.8查看Broker配置

DGMGRL> show configuration
Configuration - DG22broker
  Protection Mode: MaxAvailability
  Databases:
    DG22 - Primary database
    DG23 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

6.主库启用归档向备库传输

DGMGRL> edit database 'DG22' set state='TRANSPORT-ON';

DGMGRL> show database 'DG22'
Database - DG22
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    DG
Database Status:
SUCCESS

--查看备库日志应用情况

DGMGRL> show database 'DG23';
Database - DG23
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   1 hour(s) 5 minutes 20 seconds (computed 6 seconds ago)
  Apply Lag:       1 hour(s) 18 minutes 57 seconds (computed 6 seconds ago)
  Apply Rate:      201.00 KByte/s
  Real Time Query: OFF
  Instance(s):
    DG
Database Status:
SUCCESS

DGMGRL> show database 'DG23';
Database - DG23
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds (computed 0 seconds ago)
  Apply Lag:       1 hour(s) 13 minutes 27 seconds (computed 0 seconds ago)
  Apply Rate:      2.66 MByte/s
  Real Time Query: OFF
  Instance(s):
    DG
Database Status:
SUCCESS

#1小时后
DGMGRL> show database 'DG23';                                
Database - DG23
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds (computed 1 second ago)
  Apply Lag:       0 seconds (computed 1 second ago)
  Apply Rate:      728.00 KByte/s
  Real Time Query: OFF
  Instance(s):
    DG
Database Status:
SUCCESS

5.11 DGMGRL 显示主备正常 open 备库 (如上查看配置)
SQL> alter database open;

DGMGRL> show database 'DG23';
Database - DG23
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds (computed 1 second ago)
  Apply Lag:       0 seconds (computed 1 second ago)
  Apply Rate:      0 Byte/s
  Real Time Query: ON
  Instance(s):
    DG
Database Status:
SUCCESS

DGMGRL> show configuration
Configuration - DG22broker
  Protection Mode: MaxPerformance
  Databases:
    DG22 - Primary database
    DG23 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

7.检查备库、主库升级情况

SQL> 
set linesize 150
set pagesize 9999
col comp_name format a40
SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
COMP_NAME                          VERSION                                    STATUS
----------------------------------------
OWB                                   11.2.0.1.0                                       VALID
Oracle Application Express       3.2.1.00.10                                     VALID
Oracle Enterprise Manager        11.2.0.4.0                                       VALID
OLAP Catalog                         11.2.0.4.0                                        VALID
Spatial                                          11.2.0.4.0                                        VALID
Oracle Multimedia                    11.2.0.4.0                                        VALID
Oracle XML Database          11.2.0.4.0                                        VALID
Oracle Text                              11.2.0.4.0                                        VALID
Oracle Expression Filter                 11.2.0.4.0                                         VALID
Oracle Rules Manager             11.2.0.4.0                                         VALID
Oracle Workspace Manager         11.2.0.4.0                                          VALID
Oracle Database Catalog Views    11.2.0.4.0                                           VALID
Oracle Database Packages and Types   11.2.0.4.0                                    VALID
JServer JAVA Virtual Machine         11.2.0.4.0                                    VALID
Oracle XDK                                       11.2.0.4.0                                    VALID
Oracle Database Java Packages        11.2.0.4.0                                    VALID
OLAP Analytic Workspace                  11.2.0.4.0                                     VALID
Oracle OLAP API                              11.2.0.4.0                                     VALID

SQL> 
SQL> select count(*) from dba_objects where status<>'VALID';
  COUNT(*)
----------
     0

SQL> select * from utl_recomp_errors;
            no rows selected

SQL> select ACTION_TIME,ACTION,NAMESPACE,VERSION,ID from registry$history;
    19-OCT-18 12.54.28.668386 PM                VIEW INVALIDATE          8289601
    9-OCT-18 12.54.28.834581 PM                  UPGRADE                  SERVER      11.2.0.4.0

8.修改 compatible 参数(主备)
-- 切记这个参数已修改,此次升级操作就无法回退,一定要在应用经过测试之后修改。

SQL> show parameter comp
NAME    TYPE    VALUE
------------------------------------
cell_offload_compaction string  ADAPTIVE
compatible  string  11.2.0.0.0
nls_comp    string  BINARY
plsql_v2_compatibility  boolean FALSE

SQL> alter system set compatible='11.2.0.4.0' scope=spfile;
  1. ADG环境DB重启

關閉主機DB
SHUTDOWN IMMEDIATE;
關閉監聽
lsnrctl stop

關閉備機DB
SHUTDOWN IMMEDIATE;
關閉備機監聽
lsnrctl stop

啟動備機監聽
lsnrctl start

啟動備機DB
startup;

啟動主機監聽
lsnrctl start

啟動主機DB
startup;

SQL> show parameter comp;
NAME                     VALUE
------------------------------------ ---------------------------------
cell_offload_compaction                ADAPTIVE
compatible                             11.2.0.4.0
nls_comp                               BINARY
plsql_v2_compatibility           FALSE
  1. 切换到最大可用模式
DGMGRL> edit database 'DG22' set property LogXptMode ='SYNC';
DGMGRL> edit database 'DG23' set property LogXptMode ='SYNC';
DGMGRL> edit configuration set protection mode as MaxAvailability;

安装 oracle 11g r2 时出现错误 调用makefile /oracle/app/oracle/product/11.2.0.4/db_1/sysman/lib/ins_emagent.mk的目标nmo时出错。

主要因为C库的问题,解决办法就是手动指定C库位置出现agent nmhs问题后,
找到$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,在文件里找字符串 $(MK_EMAGENT_NMECTL)
替换为$(MK_EMAGENT_NMECTL) -lnnz11
注意:lnnz和$(MK_EMAGENT_NMECTL)之间有空格
然后点“重试“按钮就可以了


修/u01/app/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将 ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX)\ (CTXHXOBJ) \(INSO_LINK) 修改为:
ctxhx: $(CTXHXOBJ) -static
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a
点击Retry继续安装。


启动数据库到mount状态出现如下问题,则如下处理

SQL> startup mount;
ORA-00845: MEMORY_TARGET not supported on this system

[root@XAG110 ~]# df -h | grep shm
tmpfs                       1.5G  709M  788M  48% /dev/shm
[root@XAG110 ~]# cat /etc/fstab | grep tmpfs
[root@XAG110 ~]# mount -o remount,size=4G /dev/shm
[root@XAG110 ~]# df -h | grep shm
tmpfs                       4.0G  709M  3.4G  18% /dev/shm

SQL> startup mount;
            Database mounted.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容