㈠ 如何為遠程oracle伺服器配置監聽
首先登陸到遠程linux,使用oracle用戶登陸
然後修改%ORACLE_HOME/network/admin/LISTENER.ORA文件
修改為如下內容(按照遠程伺服器配置)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/proct/10g)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testserver3)(PORT = 1521))
)
)
其中,LISTENER是伺服器中監聽進程的名稱;
PROTOCOL 表明所使用的網路協議,若是TCP/IP協議,則該值必須為「TCP」;
HOST 表示伺服器的網路地址,為伺服器的IP或者網內的機器名;
PORT 指TCP/IP協議在主機中所佔用埠號,ORACLE預設使用1521,是在安裝ORACLE資料庫時定義的,在安裝時可以改變,安裝完成後不能改變此值;
SID_NAME 指伺服器上運行的ORACLE資料庫名稱,該值應與.bash_profile文件中的環境變數ORACLE_SID相同(一般情況下此文件為預設值「PLSExtProc」);
ORACLE_HOME 是指ORACLE資料庫的主目錄,該值也應與. bash_profile文件中的環境變數ORACLE_HOME相同。
希望能幫到您!
㈡ oracle資料庫怎麼配置監聽
方法/步驟
1
Oracle監聽器配置(LISTENER)
如 圖(一)示,選中樹形目錄中監聽程序項,再點擊左上側「+」按鈕添加監聽程序,點擊監聽程序目錄,默認新加的監聽器名稱是LISTENER(該名稱也可以 由任意合法字元命名)。選中該名稱,選中窗口右側欄下拉選項中的「監聽位置」,點擊添加地址按鈕。在出現的網路地址欄的協議下拉選項中選中 「TCP/IP」,主機文本框中輸入主機名稱或IP地址(如果主機即用作服務端也作為客戶端,輸入兩項之一均有效;如果主機作為服務端並需要通過網路連 接,建議輸入IP地址),埠文本框中輸入數字埠,默認是1521,也可以自定義任意有效數字埠。配置好的監聽位置如下圖示:
如 果資料庫伺服器端相關服務啟動了,可以點擊測試按鈕進行連接測試。Oracle默認是通過scott/tiger用戶進行測試連接,由於scott用戶是 Oracle自帶的示例用戶,對於正式的業務資料庫或專業測試資料庫可能沒有配置這個用戶,所以需要更改成有效的用戶登錄才可能測試成功。如果這里測試連 接不成功,也不要緊,先點完成按鈕結束配置。
回 到Oracle網路管理器(Oracle Net Manager)主窗口,保存配置,默認即可在Oracle安裝目錄下找到本地服務名配置文件 (Windows下如D:.ora,Linux/Unix下$ ORACLE_HOME/network/admin/ tnsnames.ora)。配置完成的本地服務名如下圖示:
樹形目錄下的服務命名可以通過編輯菜單里的重命名菜單更改成任意合法字元組成的服務名稱,注意服務名稱前不能有空格字元,否則可能無法連接資料庫伺服器。
連接資料庫伺服器
(1)啟動伺服器端監聽器與資料庫服務
Linux/Unix下,啟動監聽器:
$ lsnrctl start
關閉監聽器:
$ lsnrctl stop
查看監聽狀態:
$ lsnrctl status
啟動資料庫:
$ sqlplus /nolog
SQL>conn sys@myoracle as sysdba --這里的myoracle是前面配置的客戶端本地服務名
或
SQL>conn / as sysdba
SQL>startup
Windows下,啟動監聽器:
C:lsnrctl start
啟動Oracle實例服務:
C:oradim ?a href="http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup –sid myoracle
關閉Oracle實例服務:
C:oradim –shutdown –sid myoracle
以上服務必須同時啟動,客戶端才能連接資料庫。由於默認配置的監聽器名稱是Listener,上述命令可以正常啟動監聽器,如果監聽器名稱是其它名稱,如aListener,則需要用下列方式才能啟動:
Linux/Unix下:
$ lsnrctl start aListener
Windows下:
C:lsnrctl start aListener
(2)測試連接資料庫伺服器
測試的方法多種多樣,可以在上面配置本地服務名時進行測試,也可以是第三方客戶端工具,如PL/SQL Developer,最方便的是用Oracle自帶的sqlplus工具,以下利用sqlplus進行測試:
C:sqlplus /nolog
SQL>conn zgh@myoracle
已連接。
客戶端連接伺服器端常見問題排除方法
要排除客戶端與伺服器端的連接問題,首先檢查客戶端配置是否正確(客戶端配置必須與資料庫伺服器端監聽配置一致),再根據錯誤提示解決。下面列出幾種常見的連接問題:
1、ORA-12541: TNS:沒有監聽器
顯而易見,伺服器端的監聽器沒有啟動,另外檢查客戶端IP地址或埠填寫是否正確。啟動監聽器:
$ lsnrctl start
或
C:lsnrctl start
2、ORA-12500: TNS:監聽程序無法啟動專用伺服器進程
對於Windows而言,沒有啟動Oracle實例服務。啟動實例服務:
C:oradim –startup -sid myoracle
3、ORA-12535: TNS:操作超時
出現這個問題的原因很多,但主要跟網路有關。解決這個問題,首先檢查客戶端與服務端的網路是否暢通,如果網路連通,則檢查兩端的防火牆是否阻擋了連接。
4、ORA-12154: TNS:無法處理服務名
檢 查輸入的服務名與配置的服務名是否一致。另外注意生成的本地服務名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每項服務的首 行服務名稱前不能有空格。
5、ORA-12514: TNS:監聽進程不能解析在連接描述符中給出的 SERVICE_NAME
打開Net Manager,選中服務名稱,檢查服務標識欄里的服務名輸入是否正確。該服務名必須與伺服器端監聽器配置的全局資料庫名一致。
6、Windows下啟動監聽服務提示找不到路徑
用 命令或在服務窗口中啟動監聽提示找不到路徑,或監聽服務啟動異常。打開注冊表,進入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome92TNSListener項,查看ImagePath字元串項是否存在,如果沒 有,設定值為D:oracleora92BINTNSLSNR,不同的安裝路徑設定值做相應的更改。這種方法同樣適用於Oracle實例服務,同 上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項,查看ImagePath字元串項是否存在,如果沒有,則新建,設定值為d:oracleora92 binORACLE.EXE MYORACLE。
以上是Oracle客戶端連接伺服器端常見的一些問題,當然不能囊括所有的連接異常。解決問題的關鍵在於方法與思路,而不是每種問題都有固定的答案。
㈢ Oracle:淺析監聽器安裝/配置入門
本地服務名(Tnsname)
Oracle客戶端與伺服器端的連接是通過客戶端發出連接請求 由伺服器端監聽器對客戶端連接請求進行合法檢查 如果連接請求有效 則進行連接 否則拒絕該連接
本地服務名是Oracle客戶端網路配置的一種 另外還有Oracle名字伺服器(Oracle Names Server)等 Oracle常用的客戶端配置就是採用的本地服務名 本文中介紹的也主要是基於本地服務名的配置
Oracle網路連接配置方法
配 置Oracle伺服器端與客戶端都可以在其自帶的圖形化Oracle網路管理器(Oracle Net Manager)里完成(強烈建議在這個圖形化的工具下完成Oracle服務端或客戶端的配置) 在Windows下 點擊 開始/程序/Oracle OraHome /Configuration and Migration Tools/Net Manager 啟動Oracle網路管理器工具 在Linux/Unix下 利用netmgr命令來啟動圖形化Oracle網路管理器 如 $ netmgr
Oracle監聽器配置(LISTENER):
選中樹形目錄中監聽程序項 再點擊左上側 + 按鈕添加監聽程序 點擊監聽程序目錄 默認新加的監聽器名稱是LISTENER(該名稱也可以 由任意合法字元命名) 選中該名稱 選中窗口右側欄下拉選項中的 監聽位置 點擊添加地址按鈕 在出現的網路地址欄的協議下拉選項中選中 TCP/IP 主機文本框中輸入主機名稱或IP地址(如果主機即用作服務端也作為客戶端 輸入兩項之一均有效;如果主機作為服務端並需要通過網路連 接 建議輸入IP地址) 埠文本框中輸入數字埠 默認是 也可以自定義任意有效數字埠
選 中窗口右側欄下拉選項中的 資料庫服務 點擊添加資料庫按鈕 在出現的資料庫欄中輸入全局資料庫名 如myoracle 注意這里的全局資料庫名與數據 庫SID有所區別 全局資料庫名實際通過域名來控制在同一網段內資料庫全局命名的唯一性 就如Windows下的域名控制器 如這里可以輸入 myoracle Oracle主目錄可以不填寫 輸入SID 如myoracle
保存以上配置 默認即可在Oracle安裝目錄下找到監聽配置文件 (Windows下如D:oracleora eorkadminlistener ora Linux/Unix下$ ORACLE_HOME/neork/admin/listerer ora) 至此 Oracle服務端監聽器配置已經完成
本地服務名配置(Tnsnames):
本地服務名是基於Oracle客戶端的網路配置 所以 如果客戶端需要連接資料庫伺服器進行操作 則需要配置該客戶端 其依附對象可以是任意一台欲連接數據 庫伺服器進行操作的PC機 也可以是資料庫伺服器自身 如前面所介紹 可以利用Oracle自帶的圖形化管理工具Net Manager來完成Oracle客戶端的配置
如果資料庫伺服器端相關服務啟動了 可以點擊測試按鈕進行連接測試 Oracle默認是通過scott/tiger用戶進行測試連接 由於scott用戶是 Oracle自帶的示例用戶 對於正式的業務資料庫或專業測試資料庫可能沒有配置這個用戶 所以需要更改成有效的用戶登錄才可能測試成功 如果這里測試連 接不成功 也不要緊 先點完成按鈕結束配置
回到Oracle網路管理器(Oracle Net Manager)主窗口 保存配置 默認即可在Oracle安裝目錄下找到本地服務名配置文件 (Windows下如D:oracleora eorkadmin nsnames ora Linux/Unix下$ ORACLE_HOME/neork/admin/ tnsnames ora)
樹形目錄下的服務命名可以通過編輯菜單里的重命名菜單更改成任意合法字元組成的服務名稱 注意服務名稱前不能有空格字元 否則可能無法連接資料庫伺服器
連接資料庫伺服器:
( )啟動伺服器端監聽器與資料庫服務:
Linux/Unix下 啟動監聽器 $ lsnrctl start
· 關閉監聽器 $ lsnrctl stop
· 查看監聽狀態 $ lsnrctl status
SQL>conn sys@myoracle as sysdba 這里的myoracle是前面配置的客戶端本地服務名
或
SQL>conn / as sysdba
SQL>startup
Windows下 啟動監聽器 C:lsnrctl start
啟動Oracle實例服務 C:oradim –startup –sid myoracle
關閉Oracle實例服務 C:oradim –shutdown –sid myoracle
以上服務必須同時啟動 客戶端才能連接資料庫 由於默認配置的監聽器名稱是Listener 上述命令可以正常啟動監聽器 如果監聽器名稱是其它名稱 如aListener 則需要用下列方式才能啟動
Linux/Unix下 $ lsnrctl start aListener
Windows下 C:lsnrctl start aListener
( )測試連接資料庫伺服器
測試的方法多種多樣 可以在上面配置本地服務名時進行測試 也可以是第三方客戶端工具 如PL/SQL Developer 最方便的是用Oracle自帶的SQLplus工具 以下利用SQLplus進行測試
C:sqlplus /nolog
SQL>conn zgh@myoracle
已連接
客戶端連接伺服器端常見問題排除方法
要排除客戶端與伺服器端的連接問題 首先檢查客戶端配置是否正確(客戶端配置必須與資料庫伺服器端監聽配置一致) 再根據錯誤提示解決 下面列出幾種常見的連接問題
ORA : TNS: 沒有監聽器
顯而易見 伺服器端的監聽器沒有啟動 另外檢查客戶端IP地址或埠填寫是否正確 啟動監聽器
$ lsnrctl start或C:lsnrctl start
ORA : TNS: 監聽程序無法啟動專用伺服器進程
對於Windows而言 沒有啟動Oracle實例服務 啟動實例服務 C:oradim –startup sid myoracle
ORA : TNS: 操作超時
出現這個問題的原因很多 但主要跟網路有關 解決這個問題 首先檢查客戶端與服務端的網路是否暢通 如果網路連通 則檢查兩端的防火牆是否阻擋了連接
ORA : TNS: 無法處理服務名
檢 查輸入的服務名與配置的服務名是否一致 另外注意生成的本地服務名文件(Windows下如D:oracleora eorkadmin nsnames ora Linux/Unix下$ORACLE_HOME/neork/admin/tnsnames ora)里每項服務的首 行服務名稱前不能有空格
ORA : TNS: 監聽進程不能解析在連接描述符中給出的 SERVICE_NAME打開Net Manager 選中服務名稱 檢查服務標識欄里的服務名輸入是否正確 該服務名必須與伺服器端監聽器配置的全局資料庫名一致
Windows下啟動監聽服務提示找不到路徑
用 命令或在服務窗口中啟動監聽提示找不到路徑 或監聽服務啟動異常 打開注冊表 進入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome TNSListener項 查看ImagePath字元串項是否存在 如果沒 有 設定值為D:oracleora BINTNSLSNR 不同的安裝路徑設定值做相應的更改 這種方法同樣適用於Oracle實例服務 同上 找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE項 查看ImagePath字元串項是否存在 如果沒有 則新建 設定值為d:oracleora binORACLE EXE MYORACLE
lishixin/Article/program/Oracle/201311/18881
㈣ 怎麼配置伺服器端oracle資料庫
假設資料庫所在伺服器IP地址:192.168.0.1
資料庫實例名為:ora92
用戶名:umap
密碼:umap
第一步打開配置程序
位於:程序-->Oracle - OraHome92-->Configuration and Migration Tools-->Net Configuration Assistant ;
第二步:選擇配置項:
打開程序後,出現的界面中有四個選項, 分別為(1)監聽程序配置,(2)命名方法配置,(3)本地NET服務名配置,(4)目錄使用配置. 這里我們選擇第3個,點下一步
第三步:根據需要選擇操作內容,是添加還是對以前的配置進行修改或刪除;
第四步:根據您要連接的Oracle數據據庫版本選擇, 這里我們選擇Oracle8i或更高版本資料庫或服務;
第五步:服務名,輸入示例中的實例名;
第六步:選擇TCP;
第七步:主機名:輸入示例中的IP地址; 使用默認埠1521;
第八步:使用您的登錄帳戶與密碼進行連接測試
「ORA-12514:TNS:監聽程序當前無法識別連接描述符中請求的服務」的解決方法
ORA-12154:TNS:無法處理服務名
解決方案:
1.服務是否打開
2.監聽是否打開
3.C:oracleora92 etworkadmin目錄下tnsnames.ora文件中是否有你建的庫名和主機名
比如:
AA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =10.144.100.89)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = AA)
)
)
SQL SERVER連接oracle資料庫幾種方法2010年08月27日星期五 09:35 P.M.--1 方式
--查詢oracle資料庫中的表
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;UserID=DAIMIN;Password=DAIMIN'
)..DAIMIN.JOBS
舉一反三:在查詢分析器中輸入:
SELECT *
FROM OPENDATASOURCE(
'MSDAORA',
'Data Source=ORCL;User ID=SYSTEM;Password=manager'
)..HKDY.S_HD_HKDY
--在sqlserver中創建與oracle資料庫中的表同名的表
select * into JOBS from
OPENDATASOURCE(
'MSDAORA',
'Data Source=GE160;User ID=daimin;Password=daimin'
)..DAIMIN.JOBS
select * from JOBS
--2、方式
--在master資料庫中查看已經存在的鏈接伺服器
select * from sysservers
EXEC sp_addlinkedserver
@server = 'GE160',
@srvproct = 'Oracle',
@provider = 'MSDAORA',
@datasrc = 'GE160'
exec sp_addlinkedsrvlogin 'GE160', false,'sa', 'daimin', 'daimin'
--要在企業管理器內指定登錄帳號
exec sp_dropserver GE160
select * from GE160..DAIMIN.JOBS
delete from GE160..DAIMIN.JOBS
--備註:引用ORACLE伺服器上的表時,用戶名稱與表名一定要大寫字母。
SELECT *
FROM OPENQUERY(GE160, 'SELECT * FROMDAIMIN.JOBS')
--3、方式
SELECT a.*
FROM OPENROWSET('MSDAORA',
'GE160';'DAIMIN';'DAIMIN',
DAIMIN.JOBS) AS a
ORDER BY a.JOB_ID
--4、方式 ODBC
--ODBC方式比較好辦
SELECT A.*
FROMOPENROWSET('MSDAORA','GE160';'DAIMIN';'DAIMIN', --GE160是數據源名
DAIMIN.JOBS) AS A
ORDER BY A.JOB_ID
我現在用的是小鳥雲,他們目前官網有活動,3折優惠,建議去看看!