


Windows下命令行下啟動ORACLE服務
檢查監聽器狀態:
C:\>lsnrctl status
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:08
:04
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在連接到 (DEION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 2: No such file or directory
正在連接到 (DEION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-7f628f1510d)(PORT=1521)
))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
嘗試登陸本地數據庫:
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:10:24 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn scott/tiger@oradb
ERROR:
ORA-12541: TNS: 沒有監聽器
SQL> exit;
--如果沒有啟動ORACLE服務的話,將出現下面的錯誤而不是上面: ERROR: ORA-12560:
TNS: 協議適配器錯誤
C:\>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:14:17 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
ERROR:
ORA-12560: TNS: 協議適配器錯誤
啟動監聽器
C:\>lsnrctl start
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:17
:21
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
啟動tnslsnr:請稍候...
TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
系統參數文件為F:\oracle9i\network\admin\listener.ora
寫入F:\oracle9i\network\log\listener.log的日志信息
監聽:(DEION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
監聽:(DEION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521)))
正在連接到 (DEION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
tion
啟動日期 30-6月 -2009 21:17:23
正常運行時間 0 天 0 小時 0 分 2 秒
跟蹤級別 off
安全性 OFF
SNMP OFF
監聽器參數文件 F:\oracle9i\network\admin\listener.ora
監聽器日志文件 F:\oracle9i\network\log\listener.log
監聽端點概要...
(DEION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DEION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
服務 "oradb" 包含 1 個例程。
例程 "oradb", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
注:如果啟動監聽器時報“錯誤3 找不到可執行文件的路徑”。查看[控制面板]=[服務]=OracleOraHome92TNSListener 的屬性,發現“可執行文件的路徑項”是空的。打開注冊表編輯器,搜索監聽服務對應的鍵值,終于在HKEY_LOCAL_MACHINE/SYSTEM /CurrentControlSet(ControlSet001、 ControlSet002)/Services下找到了OracleOraHome92TNSListener服務。右擊它選擇“新建字符串值”,取名 ImagePath,并雙擊它在數值中輸入監聽程序的路徑,此處為"F:/oracle/ora92/bin/TNSLSNR.EXE"。再執行就正常了。 原因:“超級兔子”和“windows優化大師”等系統維護軟件會誤刪除注冊表中的該項鍵值。
監聽打開后試圖連接到數據庫
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:23:45 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn system/systemshx@oradb
ERROR: ORA-12500: TNS: 監聽程序無法啟動專用服務器進程
原因:本地數據庫對應的服務沒有打開
SQL> exit
打開本地數據庫對應的服務
C:\>net start OracleServiceOradb
OracleServiceORADB 服務正在啟動 ...........
OracleServiceORADB 服務已經啟動成功。
再次試圖連接數據庫
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:29:13 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn system/systemshx@oradb as sysdba
已連接。
SQL> show user
USER 為"SYS"
SQL> conn system/systemshx@oradb
已連接。
SQL> show user
USER 為"SYSTEM"
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
oradb
在Windows上,使用net命令能否啟動數據庫,還受到一個注冊表參數的影響,這個參數是:ORA__AUTOSTART
對于我的Oracle9i數據庫,這個鍵值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1,我的數據庫SID為oradb,這個參數就是:ORA_ORADB_AUTOSTART
(Oracle10g數據庫,這個鍵值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Ora10g) 當這個參數設置為True時,當我們啟動服務時,Oracle數據庫就會隨之啟動;反之,數據庫就不會啟動。
關閉oradb數據庫服務
C:\>net stop oracleserviceoradb
OracleServiceORADB 服務正在停止.......
OracleServiceORADB 服務已成功停止。
測試1,ORA_ORADB_AUTOSTART=true時:
C:\>net start oracleserviceoradb
OracleServiceORADB 服務正在啟動 ...........
OracleServiceORADB 服務已經啟動成功。
C:\>sqlplus "/as sysdba"
SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
連接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
oradb
測試2,ORA_ORADB_AUTOSTART=FALSE時:
C:\>net start oracleserviceoradb
OracleServiceORADB服務正在啟動 .
OracleServiceORADB服務已經啟動成功。
C:\>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連接到空閑例程。
啟動Agent
C:\>agentctl start
DBSNMP for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:50:
38
Copyright (c) 2002 Oracle Corporation. All rights reserved.
正在啟動 Oracle Intelligent Agent....
代理已啟動
注:如果Agent不能成功啟動,則:
轉到%oracle_home%\network\agent\下,刪除所有后綴名為“.q”的文件。
如果還是不行,把services.ora也刪除。
啟動OracleOraHome92ManagementServer服務
C:\>oemctl start oms
OracleOraHome92ManagementServer 服務正在啟動 .............
OracleOraHome92ManagementServer 服務已經啟動成功。
啟動Oracle 界面管理器EMS
C:\>oemapp console
關鍵字:Oracle、監聽器、數據庫
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解