Oracle配置监听和连接,已经一些比较容易混淆的相关概念
http://www.cnblogs.com/jacktu/archive/2008/02/27/1083235.html
?
1.配置監(jiān)聽
配置監(jiān)聽的方法有3種:
Database?
PLSExtProc?
Executable
Database 模式是標準的配置方式,也是最常用的數(shù)據(jù)庫連接方式。
PLSExtProc? 模式允許PL/SQL程序訪問外部程序,并且被大多數(shù)實例配置為默認連接方式
Executable? 模式允許外部程序能通過一個tns連接被訪問(目前沒用到過)
Database 模式配置方式:
(SID_DESC =
????? (GLOBAL_DBNAME= querymqq)
????? (ORACLE_HOME= /data/oracle/product/10.2.0/db_1/)
????? (SID_NAME = mqq)
??? )
PLSExtProc模式配置方式:
(SID_DESC =
????? (SID_NAME = PLSExtProc)
????? (ORACLE_HOME = /usr/local/oracle/product/10.2.0/db_1)
????? (PROGRAM = extproc)
)
在我們新oracle和8.155機器上只使用PLSextProc方式配置,并不能建立連接,還得加database配置。
對PLSextProc的解釋,網(wǎng)上也沒人能說出個名堂,疑惑的提問倒是一堆一堆的。那個e文檔也含糊的很。
2.監(jiān)聽狀態(tài)
命令:lsnrctl status,紅色部分為注解
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 12-3?? -2007 21:39:27
?
Copyright (c) 1991, 2005, Oracle.? All rights reserved.
?
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias???????????????????? LISTENER
Version?????????????????? TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date??????????????? 12-3?? -2007 20:53:47
Uptime??????????????????? 0 days 0 hr. 45 min. 39 sec
Trace Level?????????????? off /*關(guān)閉跟蹤*/
Security????????????????? ON: Local OS Authentication
SNMP????????????????????? OFF
Listener Parameter File?? /usr/local/oracle/product/10.2.0/db_1/network/admin/listener.ora? /*監(jiān)聽配置文件地址*/
Listener Log File???????? /usr/local/oracle/product/10.2.0/db_1/network/log/listener.log??? /*監(jiān)聽日志文件地址*/
Listening Endpoints Summary...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.225.158)(PORT=1521)))
Services Summary...
Service "MQQ_XPT" has 1 instance(s).
? Instance "mqq", status READY, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
? Instance "PLSExtProc", status UNKNOWN/*UNKNOWN 表示是在listener.ora文件配置*/, has 1 handler(s) for this service...
Service "mqq" has 1 instance(s).
? Instance "mqq", status READY/*READY表示是在DB啟動PMON(監(jiān)控進程)之后,自動注冊DB到監(jiān)聽,一般在啟動實例后1分鐘注冊監(jiān)聽*/, has 1 handler(s) for this service...
The command completed successfully
?
3.比較容易混淆的概念:
Db_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標識。這種表示對于單個數(shù)據(jù)庫是足夠的,但是隨著由多個數(shù)據(jù)庫構(gòu)成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的管理造成一定的負擔,因為各個數(shù)據(jù)庫的名字可能一樣,造成管理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標識是由Db_name和Db_domain兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成管理上的混亂。這類似于互連網(wǎng)上的機器名的管理。我們將Db_name和Db_domain兩個參數(shù)用’.’連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name,即它擴展了Db_name。Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個字符。查看方式:show parameter db_name;
Db_domain:定義一個數(shù)據(jù)庫所在的域,域只是為了更好的管理分布式oracle系統(tǒng)。查看方式:show parameter db_domain;
Global_name:對一個數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,如果要修改Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO ‘db_name.db_domain’。查看方式:show parameter global_name;
Service_name:該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應多個實例,這樣就需要多個網(wǎng)絡服務名,設(shè)置繁瑣。為了方便并行環(huán)境中的設(shè)置,引進了Service_name參數(shù),該參數(shù)對應一個數(shù)據(jù)庫,而不是一個實例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。一個數(shù)據(jù)庫可以對應多個Service_name,以便實現(xiàn)更靈活的配置。該參數(shù)與SID沒有直接關(guān)系,即不必Service name 必須與SID一樣。查看方式:show parameter service_name;
Net service name:網(wǎng)絡服務名,又可以稱為數(shù)據(jù)庫別名(database alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務器端的細節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性。查看方式:show parameter Net service name;
?
4.SQLPLUS運行時,建立連接的方式
在用戶輸入sqlplus system/manager@test后,sqlplus程序會自動到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN參數(shù),假如該參數(shù)存在,則將該參數(shù)中的值取出,加到網(wǎng)絡服務名的后面,即此例中你的輸入由sqlplus system/manager@test自動變?yōu)閟qlplus system/manager@test.server.com ,然后再到tnsnames.ora文件中找test.server.com網(wǎng)絡服務名;假如NAMES.DEFAULT_DOMAIN參數(shù)不存在,則sqlplus程序會直接到tnsnames.ora文件中找test網(wǎng)絡服務名,然后取出其中的host,port,tcp,service_name,利用這些信息將連接請求發(fā)送到正確的數(shù)據(jù)庫服務器上。
轉(zhuǎn)載于:https://blog.51cto.com/yanse/386875
總結(jié)
以上是生活随笔為你收集整理的Oracle配置监听和连接,已经一些比较容易混淆的相关概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 出现authentication mod
- 下一篇: 用友BQ商业智能设计模式——概述