Oracle Net8 網絡配置和聯接
2024-08-29 13:36:25
供稿:網友
 
             
  1)服務器端配置Listener: 
  添加Listeners , 設置選擇 DataBase Name方式,填寫2個參數 { HomeDir = /ora/ , SID =ora8 } 
  2)啟動Net8服務lsnrctl start 
  3)停止Net8服務lsnrctl stop 
  4)參數文件摘要 
                                                                                              5)客戶端配置:添加 Net Service Name ,同Windows客戶端一樣格式 
  1)服務器端配置Listener: 
  執行/ora/bin/netasst
  填寫描述->首選Oracle服務:
  。PROTOCOL = TCP
  。HOST = 172.17.2.22
  。PORT = 1521
  查看生成的 Net8 Server配置文件:listener.ora
  [oracle@lin admin]$ more listener.ora 
  # LISTENER.ORA Configuration File:/ora/network/admin/listener.ora 
  # Generated by Oracle Net8 Assistant 
  LISTENER = 
  (DESCRipTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.2.22)(PORT = 1521)) 
    (PROTOCOL_STACK = 
      (PRESENTATION = TTC) 
      (session = NS) 
    ) 
   ) 
  SID_LIST_LISTENER = 
   (SID_LIST = 
    (SID_DESC =  
     (ORACLE_HOME = /ora) 
     (SID_NAME = ora8) 
    ) 
  ) 
  ### 假如指明監聽服務的"全局名",則有類似這一行:(GLOBAL_DBNAME = ora8) 
  2)啟動Net8服務lsnrctl start 
  首先你可以這樣取得幫助: 
  [oracle@lin /ora]$ lsnrctl 
  LSNRCTL> help 
  然后開始啟動:start 
  [oracle@lin bin]$ lsnrctl start 
  聯接時,機器會逐步告訴你正在啟動…,正在聯接…,已經聯接的狀態,最后他說成功啦! 下面是一些簡要信息: 
  LSNRCTL for linux: Version 8.1.5.0.0 - ProdUCtion on 19-NOV-99 22:02:54 
  (c) Copyright 1998 Oracle Corporation. All rights reserved. 
  Starting /ora/bin/tnslsnr: please wait... 
  TNSLSNR for Linux: Version 8.1.5.0.0 - Production 
  System parameter file is /ora/network/admin/listener.ora 
  Log messages written to /ora/network/log/listener.log 
  Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521)) 
  (PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))) 
  
  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521)) 
  (PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))) 
  STATUS of the LISTENER 
  ------------------------ 
  Alias LISTENER 
  Version TNSLSNR for Linux: Version 8.1.5.0.0 - Production 
  Start Date 19-NOV-99 22:02:54 
  Uptime 0 days 0 hr. 0 min. 0 sec 
  Trace Level off 
  Security OFF 
  SNMP OFF 
  Listener Parameter File /ora/network/admin/listener.ora 
  Listener Log File /ora/network/log/listener.log 
  Services Summary... 
  ora8 has 1 service handler(s) 
  The command completed successfully 
  以上提示說,1個服務被處理,命令成功完成。
                         
  3)停止Net8服務lsnrctl stop 
  最簡單的方法是 [oracle@lin /ora]$ lsnrctl stop 
  有時侯,進程出了差錯,tnslsnr沒有響應,像WindowsNT常犯的毛病一 樣,
  這里有一個強硬的手段:先找出它的進程號,然后 kill掉! 
  [oracle@lin /ora]$ ps -efgrep tns
  oracle 1331 1 0 15:51 ? 00:00:00 /ora/bin/tnslsnr LISTENER -inher 
  或使用更少的參數也能找到tnslsnr: 
  [oracle@lin /ora]$ ps -e 
  PID TTY TIME CMD
  1331 ? 00:00:00 tnslsnr 
  現在殺死PID = 1331的進程: 
  [oracle@lin /ora]$ kill 1331 
  LSNRCTL象 SVRMGRL一樣,是一個服務器治理程序,有不少參數,或者說是 子程序,帶星號的是一個外部程序。 
  [oracle@lin bin]$ lsnrctl stop 
  LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 19-NOV-99 22:02:50 
  (c) Copyright 1998 Oracle Corporation. All rights reserved. 
  Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521)) 
  (PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))) 
  The command completed successfully 
  Listeners =DataBase Name = Global DB Name =ora8, HomeDir = /ora/ ,SID =ora8 
  [oracle@lin oracle]$ cd /ora/net*/ad* 
  [oracle@lin admin]$ ls 
  listener.ora namesini.sql samples sqlnet.ora 
  namesdrp.sql namesupg.sql sqlnet.fdf tnsnames.ora 
  下面是在 Windwos NT/98 上遠程控制 TNSLSNR 的情形(圖略)。
  4)參數文件摘要 
  [oracle@lin admin]$ more /u01/app/oracle/admin/ora8/pfile/initora8.ora 
  db_name = ora8 
  instance_name = ora8 ## "事例名"是要害字 
  service_names = ora8 
  control_files = ("/u01/app/oracle/oradata/ora8/control01.ctl", "/u01/app/oracle/oradata/ora8/control02.ctl") 
  db_block_buffers = 8192 
  shared_pool_size = 4194304 
  log_checkpoint_interval = 10000 
  log_checkpoint_timeout = 1800 
  processes = 50 
  log_buffer = 163840 
  log_archive_start = true 
  log_archive_dest_1 = "location=/u01/app/oracle/admin/ora8/arch" 
  log_archive_format = %t_%s.dbf 
  # 切記打開回滾段 
  rollback_segments = (r01, r02, r03, r04) 
  # global_names = false ### 監聽服務無需指明"全局名" 
  # oracle_trace_enable = true 
  # define Directories to store trace and alert files 
  background_dump_dest = /u01/app/oracle/admin/ora8/bdump 
  core_dump_dest = /u01/app/oracle/admin/ora8/cdump 
  user_dump_dest = /u01/app/oracle/admin/ora8/udump 
  db_block_size = 2048 
  remote_login_passWordfile = exclusive 
  os_authent_prefix = "" 
  compatible = "8.1.5" ## 也可以兼容 "8.0.5" 
  5)客戶端網絡配置 
  [oracle@lin admin]$ more tnsnames.ora 
  # TNSNAMES.ORA Configuration File:/ora/network/admin/tnsnames.ora 
  # Generated by Oracle Net8 Assistant 
  使用net8助理,結果自動保存在 tnsnames.ora 中,
  [oracle@lin /ora]$ netass* 添加Service: 名稱ora8,參數如下:
  PROTOCOL=TCP HOST=172.17.2.22 PORT=1521 Oracle_SID=ora8 
  機器解釋成一個Oracle服務器地址包:
  ( DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.17.2.22)(PORT=1521)) 
    (PROTOCOL_STACK=(PRESENTATION=TTC)(SESSION=NS))
  )
  一般說來,客戶端采用Windows9x/NT/2000,因為這里軟件開發輕易,程序員和工具較為普及。
                         
  Windows 客戶端網絡配置與此類似,其內容見于: /OraNT/net80/Admin/tnsname.ora 
  ORA8.WORLD =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.2.22)(PORT = 1521))
      (CONNECT_DATA = (SID = ora8))
    )
  ------------------------------------------- 
      在Windows2000(beta3專業版)中安裝Personal Oeacle8.05時,監聽服務安裝失敗,
  只要理解以上oracle結構原理,可以手工復制Net8文件,修改配置:
  copy CD-ROM/./NT_x86/server/lsnrctl80.exe,tnslsnr80.exe,tnsping80.exe  C:/orant/bin
  copy CD-ROM/./listener.ora  C:/orant/net80/admin
  我不久前有這么一次經歷。