ORACLE19.3 升級(jí)之路 之 01(ADG 升級(jí) [11.2.0.1 -> 11.2.0.4])

ADG 升級(jí) [11.2.0.1 -> 11.2.0.4]


目標(biāo)

ORACLE ADG 環(huán)境下將 11.2.0.1 升級(jí)到 11.2.0.4

思路

??焖俟收限D(zhuǎn)移功能;主庫(kù)暫停歸檔傳輸;備庫(kù)安裝新版本軟件,備庫(kù)啟動(dòng)到mount;主庫(kù)安裝軟件,主庫(kù)升級(jí)數(shù)據(jù)庫(kù),主庫(kù)啟用歸檔傳輸,備庫(kù)開啟日志恢復(fù)。

注意

11.2.0.4新版軟件安裝到一個(gè)新目錄下,注意copy之前的spfile、密碼文件、network file、dg_broker_config文件(監(jiān)聽配置文件的靜態(tài)監(jiān)聽部分需要修改),備庫(kù)只升級(jí)軟件版本。數(shù)據(jù)庫(kù)升級(jí)是通過(guò)主庫(kù)升級(jí)后通過(guò)應(yīng)用主庫(kù)歸檔完成升級(jí)和同步的。

概要步驟

1.??焖俟收限D(zhuǎn)移功能
2.主庫(kù)暫停歸檔向備庫(kù)傳輸
3.備庫(kù)在新目錄下安裝新版本軟件
4.備庫(kù)啟動(dòng)到mount狀態(tài)
5.主庫(kù)安裝軟件,升級(jí)數(shù)據(jù)庫(kù)
6.主庫(kù)啟用歸檔向備庫(kù)傳輸
7.檢查備庫(kù)、主庫(kù)升級(jí)情況
8.修改 compatible 參數(shù)(主備)
9.ADG環(huán)境DB重啟
10.切換到最大可用模式

具體步驟

1.??焖俟收限D(zhuǎn)移功能

[oracle@mppay2 ~]$ dgmgrl sys/123456

DGMGRL> show configuration

DGMGRL>stop observer
DGMGRL>disable fast_start failover;

DGMGRL> show configuration;

Configuration - my_dg_cfg
  Protection Mode: MaxAvailability
  Databases:
    mppay1 - Primary database
    mppay2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

2.主庫(kù)暫停歸檔向備庫(kù)傳輸

DGMGRL> show database mppay1

Database - mppay1
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    MPPAYUAT
Database Status:
SUCCESS

edit configuration set protection mode as MaxPerformance;
edit database 'mppay1' set state='TRANSPORT-OFF';
edit database 'mppay1' set property LogXptMode ='ASYNC';
edit database 'mppay2' set property LogXptMode ='ASYNC';
show database 'mppay1';
#主庫(kù)
SQL> show parameter dg_broker;  

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1           string  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1MPPAY1.dat
dg_broker_config_file2           string  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2MPPAY1.dat
dg_broker_start              boolean     TRUE

#備機(jī)
SQL> show parameter dg_broker;

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1           string  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1MPPAY2.dat
dg_broker_config_file2           string  /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2MPPAY2.dat
dg_broker_start              boolean     TRUE

3.備庫(kù)在新目錄下安裝新版本軟件
3.1 關(guān)閉數(shù)據(jù)庫(kù),監(jiān)聽。

[oracle@mppay2 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1

[oracle@mppay2 ~]$ which sqlplus 
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus

[oracle@mppay2 ~]$ sqlplus / as sysdba

SQL> shutdown immediate;

SQL> exit

[oracle@mppay2 ~]$ lsnrctl stop

3.2 在新目錄下安裝Oracle 11.2.0.4 軟件(only oftware)
--安裝時(shí)路徑選擇 新的 ORACLE_HOME
--編輯oracle環(huán)境變量,修改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/spfileMPPAYUAT.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1MPPAY2.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2MPPAY2.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwMPPAYUAT /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/

4.備庫(kù)啟動(dòng)到mount狀態(tài)

[oracle@mppay2 ~]$ which lsnrctl 

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

5.主庫(kù)安裝軟件,升級(jí)數(shù)據(jù)庫(kù)

5.1 在新目錄下安裝Oracle 11.2.0.4 軟件(only oftware)
--安裝時(shí)選擇新的 ORACLE_HOME ,注:監(jiān)聽不需要配置
--編輯oracle用戶環(huán)境變量,修改ORACLE_HOME新目錄

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

5.2 關(guān)閉數(shù)據(jù)庫(kù),監(jiān)聽

[oracle@mppay1 ~]$ lsnrctl stop
[oracle@mppay1 ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/dbhome_1

[oracle@mppay1 ~]$ which sqlplus 
/u01/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus

[oracle@mppay1 ~]$ 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
--根據(jù)提示修正不符合升級(jí)條件的地方,清空回收站
SQL> purge DBA_RECYCLEBIN;
SQL> select count(*) from DBA_RECYCLEBIN;
--查看無(wú)效對(duì)象
SQL> select count(*) from dba_objects where status<>'VALID';
SQL> EXECUTE dbms_stats.gather_dictionary_stats;
SQL> shutdown immediate

5.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/spfileMPPAYUAT.ora /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr1MPPAY1.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/dr2MPPAY1.dat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwMPPAYUAT /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/

5.4 升級(jí)數(shù)據(jù)庫(kù)

[oracle@mppay1 dbs]$ which sqlplus
/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/sqlplus

[oracle@mppay1 dbs]$ sqlplus / as sysdba
SQL> startup UPGRADE

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分鐘(做完后自動(dòng)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.5主庫(kù)啟動(dòng)監(jiān)聽
[oracle@mppay1 ~]$ lsnrctl start

5.6查看oratab
[oracle@mppay1 ~]$ cat /etc/oratab

5.7查看Broker配置

DGMGRL> show configuration

Configuration - my_dg_cfg
  Protection Mode: MaxPerformance
  Databases:
    mppay1 - Primary database
    mppay2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

5.7.1 可選項(xiàng)(如出現(xiàn)如下 disabled 問(wèn)題 )

DGMGRL> show configuration;

Configuration - my_dg_cfg

  Protection Mode: MaxPerformance
  Databases:
    mppay1 - Primary database
    mppay2 - Physical standby database (disabled)

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS


DGMGRL> enable database mppay2;

6.1主庫(kù)啟用歸檔向備庫(kù)傳輸

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

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

--查看備庫(kù)日志應(yīng)用情況

DGMGRL> show database 'mppay2';

Database - mppay2

  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds (computed 1 second ago)
  Apply Lag:       18 minutes 39 seconds (computed 1 second ago)
  Apply Rate:      22.45 MByte/s
  Real Time Query: OFF
  Instance(s):
    MPPAYUAT

Database Status:
SUCCESS

#1小時(shí)后
DGMGRL> show database 'mppay2';                                
Database - mppay2
  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

6.2 DGMGRL 顯示主備正常 open 備庫(kù) (如上查看配置)
SQL> alter database open;

DGMGRL> show database 'mppay2';

Database - mppay2

  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):
    MPPAYUAT

Database Status:
SUCCESS

DGMGRL> show configuration

Configuration - my_dg_cfg

  Protection Mode: MaxPerformance
  Databases:
    mppay1 - Primary database
    mppay2 - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:
SUCCESS

7.檢查備庫(kù)、主庫(kù)升級(jí)情況

SQL> 
set linesize 150
set pagesize 9999
col comp_name format a40

SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;

COMP_NAME                VERSION            STATUS
---------------------------------------- ------------------------------ --------------------------------------------
Oracle Application Express       3.2.1.00.10            INVALID
Oracle Enterprise Manager        11.2.0.4.0         VALID
Oracle Multimedia            11.2.0.4.0         VALID
Oracle XML Database          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

12 rows selected.

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 參數(shù)(主備)
-- 切記這個(gè)參數(shù)已修改,此次升級(jí)操作就無(wú)法回退,一定要在應(yīng)用經(jīng)過(guò)測(cè)試之后修改。

SQL> show parameter compatible

NAME                     TYPE    VALUE
------------------------------------ ----------- ------------------------------
compatible               string  11.2.0.0.0


SQL> alter system set compatible='11.2.0.4.0' scope=spfile;
  1. ADG環(huán)境DB重啟

關(guān)閉主機(jī)DB
SHUTDOWN IMMEDIATE;
關(guān)閉監(jiān)聽
lsnrctl stop

關(guān)閉備機(jī)DB
SHUTDOWN IMMEDIATE;
關(guān)閉備機(jī)監(jiān)聽
lsnrctl stop

啟動(dòng)備機(jī)監(jiān)聽
lsnrctl start

啟動(dòng)備機(jī)DB
startup;

啟動(dòng)主機(jī)監(jiān)聽
lsnrctl start

啟動(dòng)主機(jī)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 'mppay1' set property LogXptMode ='SYNC';
DGMGRL> edit database 'mppay2' set property LogXptMode ='SYNC';
DGMGRL> edit configuration set protection mode as MaxAvailability;

安裝 oracle 11g r2 時(shí)出現(xiàn)錯(cuò)誤 調(diào)用makefile /oracle/app/oracle/product/11.2.0.4/db_1/sysman/lib/ins_emagent.mk的目標(biāo)nmo時(shí)出錯(cuò)。

主要因?yàn)镃庫(kù)的問(wèn)題,解決辦法就是手動(dòng)指定C庫(kù)位置出現(xiàn)agent nmhs問(wèn)題后,
找到$ORACLE_HOME/sysman/lib/ins_emagent.mk文件,在文件里找字符串 $(MK_EMAGENT_NMECTL)
替換為$(MK_EMAGENT_NMECTL) -lnnz11
注意:lnnz和$(MK_EMAGENT_NMECTL)之間有空格
然后點(diǎn)“重試“按鈕就可以了


修/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
點(diǎn)擊Retry繼續(xù)安裝。


啟動(dòng)數(shù)據(jù)庫(kù)到mount狀態(tài)出現(xiàn)如下問(wèn)題,則如下處理

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.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容