11.2資料庫監聽的改變
11.2由於RAC中GRID的分離以及實現了SCAN功能,使得監聽的優先順序發生了改變。
一個11.2環境的單例項資料庫,配置了ASM,隨後在同一個伺服器上又新建了一個資料庫,同樣使用這個ASM,但是發現連線這個新的資料庫時出現了錯誤。
[oracle@dbserver1 ~]$ export ORACLE_SID=al32utf8
[oracle@dbserver1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 5 14:04:57 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> set pages 100 lines 120
SQL> show parameter service_names
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
service_names
string al32utf8
SQL> conn thams/thams@192.168.20.101/al32utf8
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
Warning: You are no longer connected to ORACLE.
用這種簡易連線的方式連線這個伺服器上第一個建立的資料庫例項,沒有任何問題。檢查監聽的狀態:
[oracle@dbserver1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 05-SEP-2011 17:50:09
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbserver1)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for
Linux: Version 11.2.0.2.0 - Production
Start Date 31-AUG-2011
17:26:15
Uptime 5 days 0 hr. 23
min. 53 sec
Trace Level off
Security ON: Local OS
Authentication
SNMP OFF
Listener Parameter File
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File
/u01/app/oracle/diag/tnslsnr/dbserver1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "fhacdb1" has 1 instance(s).
Instance "fhacdb1", status
READY, has 1 handler(s) for this service...
Service "fhacdbXDB" has 1 instance(s).
Instance "fhacdb1", status
READY, has 1 handler(s) for this service...
The command completed successfully
可以看到,資料庫的監聽並沒有包含新建的al32utf8的服務,嘗試在資料庫中進行手工註冊操作,錯誤依舊。
這時想起資料庫配置了GRID,切換到grid使用者,果然發現了問題所在:
[oracle@dbserver1 ~]$ su - grid
Password:
[grid@dbserver1 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 05-SEP-2011 17:50:59
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1522)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for
Linux: Version 11.2.0.2.0 - Production
Start Date 04-AUG-2011
16:14:28
Uptime 32 days 1 hr.
36 min. 33 sec
Trace Level off
Security ON: Local OS
Authentication
SNMP OFF
Listener Parameter File
/u01/app/grid/product/11.2.0/gridhome_1/network/admin/listener.ora
Listener Log File
/u01/app/grid/diag/tnslsnr/dbserver1/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbserver1)(PORT=1522)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status
READY, has 1 handler(s) for this service...
Service "al32utf8" has 1 instance(s).
Instance "al32utf8", status
READY, has 1 handler(s) for this service...
Service "al32utf8XDB" has 1 instance(s).
Instance "al32utf8", status
READY, has 1 handler(s) for this service...
The command completed successfully
[grid@dbserver1 ~]$ exit
logout
[oracle@dbserver1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 5 17:51:20 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn thams/thams@192.168.20.101:1522/al32utf8
Connected.
SQL> select name from v$database;
NAME
---------
AL32UTF8
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
al32utf8
原來新建的資料庫例項註冊到grid使用者下的監聽上了。之所以和另外一個資料庫不同,是因為那個資料庫是在grid安裝之前,因此資料庫使用ORACLE_HOME本身的監聽。而一旦配置了grid,則grid使用者下的監聽啟動,而Oracle的優先順序顯然是先找grid下的監聽,然後再去考慮ORACLE_HOME下的監聽。
當然,對於沒有使用grid的情況下,11.2的監聽和之前的版本沒有什麼區別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-706783/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Canal-監聽資料庫表的變化資料庫
- JavaScript監聽屬性改變JavaScript
- Oracle資料庫監聽Oracle資料庫
- JavaScript 監聽子節點改變JavaScript
- 啟動資料庫監聽資料庫
- 資料庫開啟監聽資料庫
- JavaScript監聽後代節點改變JavaScript
- Android檔案或資料夾內容改變監聽器(FileObserver)AndroidServer
- 配置資料庫監聽白名單資料庫
- Mysql資料庫監聽binlogMySql資料庫
- 資料庫監聽夯故障分析資料庫
- JavaScript監聽文字節點內容改變JavaScript
- 通過11.2監聽連線9.2資料庫報錯ORA-12537資料庫
- Oracle資料庫修改LISTENER的監聽埠Oracle資料庫
- 11.2物理DATA DUARD SWITCHOVER的改變
- vue中如何監聽vuex中的資料變化Vue
- 改變oracle資料庫的ip地址引起的“ORA-12541:TNS:無監聽程式”錯誤解決方法Oracle資料庫
- 監聽DOM載入完成及改變——MutationObserver應用Server
- 清理資料庫監聽日誌最好方法資料庫
- 監聽狀態正常,但是資料庫不能連線,提示沒有監聽....資料庫
- PG 資料庫庫監聽佇列的長度問題資料庫佇列
- oracle資料庫監聽啟動不了的原因分析Oracle資料庫
- Oracle資料庫的監聽器掛起情況Oracle資料庫
- [Kogel.Subscribe.Mssql]SQL Server增量訂閱,資料庫變更監聽SQLServer資料庫
- 3.2 改變資料庫可用性資料庫
- 改變資料庫undo表空間資料庫
- 記下改變資料庫密碼的命令資料庫密碼
- SQL Server CDC配合Kafka Connect監聽資料變化SQLServerKafka
- nid 改變資料庫名,DBID資料庫
- 【監聽】兩庫互配靜態監聽
- 微信小程式,實現 watch 屬性,監聽資料變化微信小程式
- Kubernetes 將改變資料庫的管理方式資料庫
- Java 8 徹底改變資料庫訪問Java資料庫
- 設定USB資料監聽
- vue-router watch 監聽路由引數改變觸發函式Vue路由函式
- vue 監聽路由變化Vue路由
- 【LISTENER】一個資料庫配置兩個監聽埠號資料庫
- dataguard主庫停監聽後還會把資料同步到備庫