11.2.0.3物理 Data Guard主備庫切換(附加:ORA-16139錯誤的解決)_3

背景:


閱讀新聞

11.2.0.3物理 Data Guard主備庫切換(附加:ORA-16139錯誤的解決)

[日期:2014-03-25]

來源:Linux社區(qū)

作者:panfelix

[字體:大 中 小]

DG分為主庫和備庫,我們也猜測其屬于primary與standby 之間的互動,那么在primary 和standby 之間的切換:

然而切換又分為switchover和failovers,前者是無損切換,不會丟失數(shù)據(jù),而后者則有可能會丟失數(shù)據(jù),并且切換后原primary數(shù)據(jù)庫也不再是該data guard配置的一部分了。

針對不同standby(邏輯或物理)的處理方式也不盡相同。

角色轉(zhuǎn)換前的準(zhǔn)備工作:

1檢查各數(shù)據(jù)庫的初始化參數(shù),主要確認(rèn)對不同角色相關(guān)的初始化參數(shù)都進(jìn)行了正確的配置。

2確??赡艹蔀閜rimary數(shù)據(jù)庫的standby服務(wù)器已經(jīng)處于archivelog模式。

3確保standby數(shù)據(jù)庫的臨時文件存在并匹配primary數(shù)據(jù)庫的臨時文件

4確保standby數(shù)據(jù)庫的RAC實例只有一個處于open狀態(tài)。(對于rac結(jié)構(gòu)的standby數(shù)據(jù)庫,在角色轉(zhuǎn)換時只能有一個實例startup。其它rac實例必須統(tǒng)統(tǒng)shutdown,待角色轉(zhuǎn)換結(jié)束后再startup)

Switchover;

無損轉(zhuǎn)換,通常是用戶手動觸發(fā)或者有計劃的讓其自動觸發(fā),比如硬件升級,軟件升級之類的。通常它給你帶來的工作量非常小并且都是可預(yù)計的。其執(zhí)行分兩個階段,第一步, primary數(shù)據(jù)庫轉(zhuǎn)換為tandby角色,第二步,standby數(shù)據(jù)庫(之一)轉(zhuǎn)換為primary角色,primary和standby只是簡單的角色互換,

Failover:

不可預(yù)知原因?qū)е聀rimary 數(shù)據(jù)庫故障并且短期內(nèi)不能恢復(fù)就需要failover。如果是這種切換那你就要小心點了,有可能只是虛驚一場,但如果運氣不好又沒有完備的備份恢復(fù)策略而且primary 數(shù)據(jù)并非處于最大數(shù)據(jù)保護或最高可用性模式地話,這種情況下呢丟失數(shù)據(jù)有可能是難免的,并且如果其故障未能修復(fù),那它甚至連快速修復(fù)成為standby 的機會也都失去了;

在執(zhí)行failover 之前,盡可能將原primary 數(shù)據(jù)庫的可用redo 都復(fù)制到standby 數(shù)據(jù)庫。

注意,如果要轉(zhuǎn)換角色的standby處于maximum protection模式,需要你首先將其切換為maximum performance模式

SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZEPERFORMANCE;

等standby 切換為新的primary 之后,你可以再隨意更改數(shù)據(jù)庫的保護模式。

maximum protection模式需要確保絕無數(shù)據(jù)丟失,因此其對于提交事務(wù)對應(yīng)的redo 數(shù)據(jù)一致性要求非常高,另外,如果處于maximum protection模式的primary數(shù)據(jù)庫仍然與standby數(shù)據(jù)庫有數(shù)據(jù)傳輸,此時alter database語句更改standby數(shù)據(jù)庫保護模式會失敗,這也是由maximum protection 模式特性決定的。

一、物理standby的 Switchover

注意操作步驟的先后,很關(guān)鍵的喲。

1、檢查是否支持switchover 操作--primary 數(shù)據(jù)庫操作。

2、登陸primary 數(shù)據(jù)庫,查詢v$database 視圖的switchover_status 列。

情況(一):存在gap問題

解決物理standby Gap問題

SQL> SELECT * FROM V$ARCHIVE_GAP;

THREAD#LOW_SEQUENCE# HIGH_SEQUENCE#

----------- ------------- --------------

1 7 10

--到主庫查詢,確認(rèn)一下:

SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1AND DEST_ID=1 AND SEQUENCE# BETWEEN 7 AND 10;

NAME

--------------------------------------------------------------------------------

/primary/thread1_dest/arcr_1_7.arc

/primary/thread1_dest/arcr_1_8.arc

/primary/thread1_dest/arcr_1_9.arc

--把這些歸檔copy到物理standby,并使用ALTERDATABASE REGISTER LOGFILE應(yīng)用這些歸檔:

SQL> ALTER DATABASE REGISTER LOGFILE'/physical_standby1/thread1_dest/arcr_1_7.arc';

SQL> ALTER DATABASE REGISTER LOGFILE'/physical_standby1/thread1_dest/arcr_1_8.arc';

SQL> ALTER DATABASE REGISTER LOGFILE '/physical_standby1/thread1_dest/arcr_1_9.arc';

情況(二):沒有g(shù)ap

SQL>selects witchover_status from v$database;

SWITCHOVER_STATUS

----------------------------------------

TO STANDBY

如果該列值為"TO STANDBY"則表示primary數(shù)據(jù)庫支持轉(zhuǎn)換為standby角色,否則的話你就需要重新檢查一下Data Guard配置,比如看看LOG_ARCHIVE_DEST_n之類參數(shù)值是否正確有效等等。

2、啟動switchover --primary 數(shù)據(jù)庫操作

首先將primary 轉(zhuǎn)換為standby 的角色,通過下列語句:

SQL> alter database commit to switchover to physical standby

Database altered.

01:57:06 SQL>shutdown immediate;

ORA-01092: Oracle instance terminated. Disconnection f九度快排系統(tǒng) https://www.190seo.comorced

SQL>startup mount;

ORACLE instance started.

Total System Global Area 417546240bytes

Fixed Size 2228944bytes

Variable Size 289410352bytes

Database Buffers 121634816bytes

Redo Buffers 4272128bytes

Database mounted.

語句執(zhí)行完畢后,primary數(shù)據(jù)庫將會轉(zhuǎn)換為standby數(shù)據(jù)庫,并自動備份控制文件到trace

推薦閱讀:

RMAN 配置歸檔日志刪除策略 http://www.linuxidc.com/Linux/2013-11/92670.htm

Oracle基礎(chǔ)教程之通過RMAN復(fù)制數(shù)據(jù)庫 http://www.linuxidc.com/Linux/2013-07/87072.htm

RMAN備份策略制定參考內(nèi)容 http://www.linuxidc.com/Linux/2013-03/81695.htm

RMAN備份學(xué)習(xí)筆記 http://www.linuxidc.com/Linux/2013-03/81892.htm

Oracle數(shù)據(jù)庫備份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm

更多Oracle相關(guān)信息見Oracle 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=12

linux

12下一頁

ORA-16456錯誤,由于備庫未mount而在主庫執(zhí)行切換,解決辦法詳解

ORA-12705: Cannot access NLS data files or invalid environment specified 另類解決方案

相關(guān)資訊

Data Guard ORA-16139

物理Data Guard的日常維護 (今 14:44)

Data Guard高級應(yīng)用:通過閃回恢復(fù) (09/01/2016 16:26:41)

手工搭建Data Guard (08/02/2016 20:24:13)

Oracle Data Guard的配置 (今 14:41)

Data Guard跳歸檔恢復(fù)的案例 (08/16/2016 11:28:15)

Data Guard中快速Switchover, (06/18/2016 20:54:44)

本文評論

查看全部評論 (0)

表情: 表情

姓名:

匿名

字?jǐn)?shù)

同意評論聲明

評論聲明

尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)

承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任

本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容

本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評論

參與本評論即表明您已經(jīng)閱讀并接受上述條款

最新資訊

物理Data Guard的日常維護

Oracle Data Guard的配置

Oracle臨時表空間的恢復(fù)

Windows下為PHP5.6安裝Redis擴展和

SpringMVC4 注解配置實例

SpringMVC+Spring+Hibernate 框架整合實例

Spring注解配置實例

Linux安裝memcached及memcache擴展

最后一位登月宇航員Gene Cernan去世

CentOS7下Firewalld防火墻使用實例

背景:

閱讀新聞

ORA-12705: Cannot access NLS data files or invalid environment specified 另類解決方案

[日期:2014-03-25]

來源:Linux社區(qū)

作者:wgw335363240

[字體:大 中 小]

ant 1.8.2部署在241機器,Oracle 11g部署在242機器上,今天用ant 1.8.2 通過oracle驅(qū)動向oracle 11g的環(huán)境插入數(shù)據(jù)時報下面的錯誤:

builddb:

BUILD FAILED

/home/build.xml:10: java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1

ORA-12705: Cannot access NLS data files or invalid environment specified

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:28

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)

at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:785)

at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:362)

at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:414)

at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165)

at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)

at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)

at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:370)

at org.apache.tools.ant.taskdefs.SQLExec.getConnection(SQLExec.java:942)

at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:614)

at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)

at java.lang.reflect.Method.invoke(libgcj.so.7rh)

at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)

at org.apache.tools.ant.Task.perform(Task.java:348)

at org.apache.tools.ant.Target.execute(Target.java:390)

at org.apache.tools.ant.Target.performTasks(Target.java:411)

at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)

at org.apache.tools.ant.Project.executeTarget(Project.java:1368)

at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)

at org.apache.tools.ant.Project.executeTargets(Project.java:1251)

at org.apache.tools.ant.Main.runBuild(Main.java:809)

at org.apache.tools.ant.Main.startAnt(Main.java:217)

at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)

at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 2 seconds

根據(jù)“ ORA-12705”錯誤號,發(fā)現(xiàn)很多人給出了下面的解決方案:

.檢查以下變量是否設(shè)置正確(invalid environment specified)

NLS_LANG, ORA_NLSxx, or ORACLE_HOME

2.檢查$ORACLE_HOME/nls/data目錄中的nlb文件(NLS data files)是否損壞,可以先把文件備份,再從其他相同的環(huán)境中copy這些文件

解決方法1排除了,原因是以前是好好的最近也未曾改過環(huán)境變量.

查找$ORACLE_HOME目錄有了驚人的發(fā)現(xiàn),讓俺既是驚喜又是振奮,驚喜的是終于發(fā)現(xiàn)了NLS目錄丟失了,振奮的是自己還有一臺機器也安裝有Oracle11g. 看來這年頭操作系統(tǒng)也靠不近了,不用說copy一份過來。

根據(jù)上述的解決方案,檢查oracle服務(wù)器(242)機器“NLS_LANG, ORA_NLSxx, or ORACLE_HOME”參數(shù),發(fā)現(xiàn)前兩個參數(shù)沒有設(shè)置,于是設(shè)置這兩個參數(shù),設(shè)置完后,問題依舊(重啟機器后仍然沒有解決問題)。

于是找了第三臺機器(記為243機器),在243機器上執(zhí)行同樣的ant腳本,發(fā)現(xiàn)可以正確執(zhí)行。初步懷疑是241機器和243機器的環(huán)境變量不同造成的,通過env命令,比較兩臺機器的環(huán)境變量,發(fā)現(xiàn)243機器設(shè)置了java_home,而241機器沒有設(shè)置java_home,于是乎快速設(shè)置java_home的值(java_home的設(shè)置參考: http://www.linuxidc.com/Linux/2014-03/98859.htm )。之后,斷掉以前的連接,新建一個連接,執(zhí)行ant命令,數(shù)據(jù)插入成功。

總結(jié):這里走了彎路,主要是ORA-12705的錯誤給人太多的錯誤信息了,期間嘗試讀過jdbc的驅(qū)動,沒有發(fā)現(xiàn)什么特別的問題。在關(guān)鍵信息解決不了問題的時候,笨方法(比較法)往往還是很能湊效的。

更多Oracle相關(guān)信息見Oracle 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=12

linux

11.2.0.3物理 Data Guard主備庫切換(附加:ORA-16139錯誤的解決)

MySQL權(quán)威指南學(xué)習(xí)筆記

相關(guān)資訊

ORA-12705

本文評論

查看全部評論 (0)

表情: 表情

姓名:

匿名

字?jǐn)?shù)

同意評論聲明

評論聲明

尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)

承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任

本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容

本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評論

參與本評論即表明您已經(jīng)閱讀并接受上述條款

最新資訊

Oracle官方并行邏輯備份工具mysqlpump

MySQL 5.7 mysqlpump 備份工具說明

MySQL5.7.11 mysqlpump 多線程邏輯備份工具

MySQL 5.6 XtraBackup 全量和增量的備份和

基于XtraBackup 2.3.5 的 MySQL全量備份與

Chrome OS 現(xiàn)可支持簡易密碼解鎖

NSA的代碼遭到教授的嘲笑

Fedora 25將默認(rèn)使用Wayland

Nagios 監(jiān)控 SNMP 溫度計

JavaScript函數(shù)定義與函數(shù)作用域詳解

背景:

閱讀新聞

Linux下設(shè)置Java Home

[日期:2014-03-25]

來源:Linux社區(qū)

作者:Linux

[字體:大 中 小]

添加JAVA_HOME/JRE_HOME環(huán)境變量:

編輯用戶目錄下(root用戶的目錄為/root)的.bashrc或.profile文件。如果你想在所有用戶的shell下都生效,就編輯/etc/profile文件。同樣都是加入以下內(nèi)容:

export JAVA_HOME=/home/jdk1.6.0_17

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

linux

在樹莓派上獲取天氣預(yù)報

使用IntelliJ IDEA 12創(chuàng)建Maven多模塊項目

相關(guān)資訊

Linux下設(shè)置Java Home

本文評論

查看全部評論 (0)

表情: 表情

姓名:

匿名

字?jǐn)?shù)

同意評論聲明

評論聲明

尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)

承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任

本站管理人員有權(quán)保留或刪除其管轄留言中的任意內(nèi)容

本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用您的評論

參與本評論即表明您已經(jīng)閱讀并接受上述條款

最新資訊

Nagios 監(jiān)控 SNMP 溫度計

JavaScript函數(shù)定義與函數(shù)作用域詳解

Java培訓(xùn):對象和類

Java培訓(xùn):基本數(shù)據(jù)類型

Java培訓(xùn):變量類型

Java培訓(xùn):增強for循環(huán)、switch

Java培訓(xùn):Number類、Character類

Python 操作消息隊列

Python迭代器和生成器

Spark源碼分析之SparkContext概述

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

相關(guān)閱讀更多精彩內(nèi)容

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