1 , dataguard 搭建好后,歸檔日志傳輸不過去 去查看master庫上面的日志 tail –f /data/oracle/diag/rdbms/test_m1/powerdes/trace/alert_powerdes.log,顯示信息如下: Sun May 08 00:34:17 2016 Error 1034 received logging on to the standby PING[ARC
去查看master庫上面的日志
tail –f /data/oracle/diag/rdbms/test_m1/powerdes/trace/alert_powerdes.log,顯示信息如下:
Sun May 08 00:34:17 2016
Error 1034 received logging on to the standby
PING[ARC2]: Heartbeat failed to connect to standby 'test_m2'. Error is1034.
[oracle@azure_test_dbm1_3_111 admin]$ tnsping test_m3 TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 08-MAY-2016 09:13:42 Copyright (c) 1997, 2013, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.112)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test_m2))) OK (0 msec) [oracle@azure_test_dbm1_3_111 admin]$ |
看起來service_name也沒用錯,如下所示:
[oracle@azure_test_dbm1_3_112 admin]$ rlwrap sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun May 8 09:15:27 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> show parameter name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cell_offloadgroup_name string db_file_name_convert string /oracle/app/oracle/oradata/pow erdes, /oracle/app/oracle/orad ata/powerdes db_name string powerdes db_unique_name string test_m2 global_names boolean FALSE instance_name string powerdes lock_name_space string log_file_name_convert string /data/oracle/oradata/powerdes, /data/oracle/oradata/pwerdes NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ processor_group_name string service_names string test_m2 SQL> |
文章來源blog地址:http://blog.csdn.net/mchdba/article/details/51344246,謝絕轉載
# 主庫登錄sqlplus報錯 [oracle@azure_test_dbm1_3_111 admin]$ sqlplus sys/testsys@test_m2 as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun May 8 09:19:48 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor Enter user-name: # 備庫sqlplus登錄報錯 [oracle@azure_test_dbm1_3_112 admin]$ sqlplus sys/testsys@test_m2 as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun May 8 09:18:39 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. ERROR: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor Enter user-name: |
都報錯:ORA-12514:TNS:listener does not currently know of service requested in connect descriptor,這個問題一般就涉及到的是tnsnames.ora里面的service_name沒有寫對了。
回憶這個備庫的搭建過程,我剛建庫dbca的時候,設置的service_name是powerdes,我在配置dataguard的時候,修改了參數文件initpowerdes.ora,有在里面新設置*.db_unique_name=test_m2,再次create spfile frompfile;然后以新的參數文件啟動數據庫后,看到service_names變成了test_m2了,而我就在tnsnames.ora里面設置了新的service_names名字test_m2,這個新的test_m2沒有生效結果報錯ORA-12514了。
因此,我要將沒有生效的test_m2換成原來的powerdes,需要換的地方有2個,一個是listener.ora,一個是tnsnames.ora,主庫master庫和備庫standby庫都要修改如下所示:
#主庫master庫修改1個文件tnsnames.ora # tnsnames.ora文件 [oracle@azure_test_dbm1_3_111 admin]$ vim tnsnames.ora test_m2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.112)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = powerdes) ) ) #備庫standby庫需要修改2個文件listener.ora、tnsnames.ora # listener.ora文件 [oracle@azure_test_dbm1_3_112 admin]$ vim listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/dbhome_1) (PROGRAM = extproc) ) (SID_DESC = (SID_NAME = powerdes) (ORACLE_HOME = /oracle/app/oracle/product/11.2.0/dbhome_1) ) ) ADR_BASE_LISTENER = /oracle/app/oracle # tnsnames.ora文件 [oracle@azure_test_dbm1_3_112 admin]$ vim tnsnames.ora test_m2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.112)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = powerdes) ) ) |
修改完配置后,然后重啟lsnrctl監聽服務,再在備庫使用sqlplus登錄test_m2,登錄成功:
[oracle@azure_test_dbm1_3_112 admin]$ sqlplus sys/testsys@test_m2 as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Sun May 8 09:34:51 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> |
再去看主庫master庫的后臺alert日志,就會發現已經有開始傳輸歸檔日志的記錄了:
……
******************************************************************
LGWR: Setting 'active' archival fordestination LOG_ARCHIVE_DEST_2
******************************************************************
LGWR: Standby redo logfile selected toarchive thread 1 sequence 26
LGWR: Standby redo logfile selected forthread 1 sequence 26 for destination LOG_ARCHIVE_DEST_2
Thread 1 advanced to log sequence 26 (LGWRswitch)
Current log# 2 seq# 26 mem# 0:/oracle/app/oracle/oradata/powerdes/redo02.log
Sun May 08 01:12:22 2016
Archived Log entry 22 added for thread 1sequence 25 ID 0xcf7feffa dest 1:
ARC0: Standby redo logfile selected forthread 1 sequence 25 for destination LOG_ARCHIVE_DEST_2
Destination LOG_ARCHIVE_DEST_2 isSYNCHRONIZED
……
PS:這里問題比較奇怪,我上次這里service_name需要修改成新的參數文件里面的test_m2才能歸檔日志傳輸到備庫standby上面,但是這次確需要保持原來的service_name。看來這里面還有別的奧妙所在。需要去探索清楚了。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com