ORACLE--網絡管理

 

1.專有鏈接
用戶鏈接有專門的進程進行相應
user ----server process

2.共享鏈接 []
用戶鏈接數據庫時,沒有服務進程相應,而將用戶的信息放到調度裏,而調度放到隊列[隊列]中
uesr ----dispater --[SAG] ----server ------data buffer ------|


3.監聽程序工做原理
用戶進程跟服務器能不能鏈接主要是去問咱們的監聽
客戶端程序------tnsnames.ora/本地命名解析文件
1.sqlplus sys/oracle@updb as sysdba //遠程鏈接
b.去客戶端驗證用戶名密碼
c.經過服務器鏈接實例
2.sqlplus sys/oracle@ip:1521/service_names as sysdba

服務器端程序listener.ora
1.靜態註冊
將實例名/服務名寫到了監聽文件中
SID_DESC (實例名/服務名 oracle家目錄 ....)


2.動態註冊
由pmon 進程去動態註冊 ,進程會每分鐘掃描一次數據庫的狀態,有庫打開就立馬告訴監聽該數據庫須要被監聽

alter system register; //手動註冊,pmon也是去執行這條命令sql


lsnrctl status //查看監聽狀態
lsnrctl stop //停掉咱們的監聽
ready : 動態註冊
unknow: 靜態註冊

項目中通常使用靜態監聽,能夠保證用戶時時能夠鏈接
一個數據庫中只使用一個listener.ora
一個監聽能夠監聽一個數據庫,也可監聽多個數據庫
一個監聽程序能夠被多個實例監聽 ----集羣
監聽的默認端口爲:1521

4.如何配置監聽
在grid 目錄下面執行 netca 建立出來的爲動態的監聽 圖形界面建立 ,監聽文件會放到/opt/u01/grid/11g/nerwork/admin/listener.ora ,在哪一個文件下面執行就會建立到相應的文件目錄下

add-->listener-->ipc--->1521--->no-->數據庫

$netcavim

第一個選項是直接建一個服務器端的監聽服務器

圖形界面建好後,會在路徑/opt/u01/oracle/11g/network/admin 下會生成一個listener.ora文件,記錄咱們服務端的信息網絡

vim listener.orasession

# listener.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = up12.up.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = up12.up.com)(PORT = 2484))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER1 = /opt/u01/oracle

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER1=ON             # line added by Agent

 

第二個選項是建一個客戶到咱們要鏈接的服務器的解析,方便咱們鏈接遠端的服務器oracle

也會在/opt/u01/oracle/11g/network/admin 路徑下生成一個客戶端的tnsnames.ora文件spa

vim tnsnames.ora    //記錄了咱們要訪問的遠端數據庫的信息code

# tnsnames.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.132)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl.wangzilong)
    )
  )

 


netmgr 建立出來的爲 靜態的監聽server

# listener.ora Network Configuration File: /opt/u01/oracle/11g/network/admin/listener.ora
# Generated by Oracle configuration tools.

LISTENER1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
  )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER1 = ON

SID_LIST_LISTENER1 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = maxdb)
      (ORACLE_HOME = /opt/u01/oracle/11g)
      (SID_NAME = maxdb)
    )
  )

ADR_BASE_LISTENER1 = /opt/u01/oracle



靜態註冊,監聽兩個庫

lsnrctl

有參數的修改,必須重啓監聽
lsnrctl stop
lsnrctl start
tnsname.ora

5.監聽程序的管理

11g之前 : lsnrtcl start

            lsnrctl status

            lsnrctl stop

            lsnrctl reload

11g 之後---

srvctl start listener  //只能啓動監聽名字爲listener的監聽

srvctl start listener -l listener1 //啓動名字爲listener1的監聽

srvctl add listener -l listener1  //監聽沒有在grid文件裏,加入到grid文件裏進行管理

srvctl remove listener

lsnrctl start

 

show parameter service_name //查看服務名,若是爲updba.com 通常走的專有鏈接

SQL> show parameter service_name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
service_names			     string	 maxdb.up.com

select service_name ,username,server from  v$session //service 爲dedicated 表示是專有鏈接

                                         shared 是sys用戶的共享鏈接,none是普通用戶的共享鏈接

SQL> show parameter disp    //dispatchers表示共享鏈接的服務用的是maxdbXDB

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cell_offload_plan_display	     string	 AUTO
dispatchers			     string	 (PROTOCOL=TCP) (SERVICE=maxdbX
						 DB)
max_dispatchers 		     integer
SQL>

vim /opt/u01/oracle/11g/network/admin/tnsnames.ora  //編輯客戶端中存在的,數據庫解析

增長server

查看網絡是否通暢,用

tsping updb

tnsping updb

相關文章
相關標籤/搜索