oracle資料庫啟動監聽
A. 如何查看和開啟oracle監聽和服務
1、檢查oracle監聽服務運行狀態,輸入lsnrctl status命令來查看,看到提示信息TNS:no listener,表示監聽沒有啟動,
B. oracle資料庫的監聽器無法啟動
--三種方法都試試
1、查看listener.ora及tnsnames.ora配置文件,看看是計算機名稱還是IP ,盡量使用計算機名
2、開始-->運行REGEDIT -->進入注冊表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener
發現ImagePath關鍵值沒有了,新建一個名為ImagePath的可擴充字元串值,編輯字元串的數值數據為:Oracle安裝路徑\BIN\TNSLSNR
3、在配置移植工具中的Net Configuration Assitant中刪除監聽,再重新配置一個就好了,可能是你計算機名和
listenerora文件中的計算機名稱不一致造成的
希望解決了樓主的問題 祝樓主學習愉快
C. linux怎樣啟動oracle監聽
我用的是redhat
linux,用下面的步驟來啟動oracle資料庫。
首先使用oracle用戶登錄linux,然後在shell命令行中執行下面的命令:
第一步:打開oracle監聽
$
lsnrctl
start
第二步:進入sqlplus
$
sqlplus
/nolog
sql>
第三步:使用sysdab角色登錄sqlplus
sql>
conn
/as
sysdba
第四步:啟動資料庫
sql>
startup
經過上面的四個步驟,oracle資料庫就可以啟動了。
D. 如何啟動oracle監聽
1、首先我們打開電腦桌面,在開始菜單,找到oracle 客戶端程序,在「配置和移植」中找到「Net Manager」,點擊進入。
E. oracle怎麼啟動資料庫和監聽
你好,兩種方式。最簡單的是,通過我的電腦,右鍵滑鼠右鍵管理,找到服務,oracleservicee和相應監聽服務。建議先啟動監聽。
F. linux啟動oracle資料庫監聽的命令是
單機oracle:linux系統,oracle用戶下,lsnrctl start
oracle rac:grid用戶下,srvctl start listener -n 節點名
G. 如何查看oracle監聽是否啟動
看 oracle監聽是否啟動 在CMD下運行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start listener1
啟動tnslsnr:請稍候...
這表示沒有啟動。。
方法2:
如果是LINUX系統可以通過如下命令看進程在不在
ps -ef|grep lsn
看 oracle監聽是否啟動 在CMD下運行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start listener1
啟動tnslsnr:請稍候...
這表示沒有啟動。。
方法2:
如果是LINUX系統可以通過如下命令看進程在不在
ps -ef|grep lsn
啟動步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql> conn / as sysdba
4.sql> startup (一般不需要加參數,只要設置好環境變數)
5.sql> quit (退出sql模式)
6.$ lsnrctl start (啟動監聽器)
關閉oracle
1.$ lsnrctl stop(關閉監聽器,在這之前,應該先關閉應用程序)
2.$ sqlplus /nolog
啟動步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql> conn / as sysdba
4.sql> startup (一般不需要加參數,只要設置好環境變數)
5.sql> quit (退出sql模式)
6.$ lsnrctl start (啟動監聽器)
關閉oracle
1.$ lsnrctl stop(關閉監聽器,在這之前,應該先關閉應用程序)
2.$ sqlplus /nolog
3.sql>shutdown 其參數 :shutdown有四個參數,四個參數的含義如下:
Normal 需要等待所有的用戶斷開連接
Immediate 等待用戶完成當前的語句
Transactional 等待用戶完成當前的事務
Abort 不做任何等待,直接關閉資料庫
normal需要在所有連接用戶斷開後才執行關閉資料庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令後不允許新的連接
immediate在用戶執行完正在執行的語句後就斷開用戶連接,並不允許新用戶連接。
transactional 在擁護執行完當前事物後斷開連接,並不允許新的用戶連接資料庫。
abort 執行強行斷開連接並直接關閉資料庫。
前三種方式不回丟失用戶數據。第四種在不的已的情況下,不建議採用!
2經常遇到的問題:
1)許可權問題,解決方法,切換到oracle用戶;
2)沒有關閉監聽器 ,解決方法:關閉監聽器
3)有oracle實例沒有關閉,解決辦法:關閉oracle實例
4)環境變數設置不全,解決辦法:修改環境變數
H. linux操作系統下oracle資料庫如何配置監聽
1. 修改監聽器配置文件
Linux下Oracle監聽器配置文件在:$ ORACLE_HOME/network/admin/listerer.ora, 如:
/bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora
修改並配置要監聽SID的相關信息,如:
#listener.ora Network Configuration File: /bank/oracle/oracle10g/proct/10.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /bank/oracle/oracle10g/proct/10.2.0)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL DBNAME = bkserver)
(SID_NAME = bkserver)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521))
)
)
2. 啟動監聽器
(1). 切換至oracle安裝用戶(一般為oracle)
su - oracle
(2). 啟動監聽器
lsnrctl start
另:停止監聽器
lsnrctl stop
3. 測試監聽器是否運行正常
在客戶端修改tnsnames.ora配置文件就訪問Oracle資料庫,如:
BKSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.7.13.242)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BKSERVER)
)
)
通過命令tnsping測試是否能訪問到監聽器,如:
M:\>tnsping bkserver
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Proction on 12-8月 -
2010 17:11:04
Copyright (c) 1997, 2005, Oracle. All rights reserved.
已使用的參數文件:
D:\oracle\proct\10.2.0\client_1\network\admin\sqlnet.ora
已使用 TNSNAMES 適配器來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10.7.13.242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC
E_NAME = BKSERVER)))
OK (20 毫秒)
注意: 監聽器是否能被tnsping通跟資料庫的開啟/關閉無關,所以就算可以tnsping通監聽器但未必能連接到資料庫,這時請檢查listener.ora文件配置信息是否正確,還有資料庫是否已經被開啟。
I. oracle資料庫開啟的時候 是先開監聽還是先開主服務,關資料庫的時候呢
啟動的時候無所謂先後,關閉的話
1.首先是關閉監聽(讓遠程客戶端無法再連進來);
2.發出一個系統檢查點,讓數據文件和控制文件的系統修改號統一;(alter system checkpoint;)
3.shutdown immediate & shutdown transactional;
如果是比較繁忙的資料庫,可能正在執行的事務很多,發出關閉命令,會出現回滾的情況,這有可能會等很長時間,一般可以在2步驟之前先殺掉這些會話,可以在資料庫裡面殺,也可以在系統級別殺(如果是linux、unix系統的話) 例如:
ps -ef |grep LOCAL=NO|grep -v grep|awk '{print $2}'|xargs kill -9
J. 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客戶端連接伺服器端常見的一些問題,當然不能囊括所有的連接異常。解決問題的關鍵在於方法與思路,而不是每種問題都有固定的答案。