裝了一款殺毒軟件,不小心把Oracle的服務(OracleServiceORCL)弄沒了,經過查資料和理解,經過一番惡戰,終於解決。
首先用oradim工具創建一個orcl的服務例程。
oradim 的語法爲:
Oradim工具的用法?
創建例程:
-NEW -SID sid | -SRVC 服務[-INTPWD 口令] [-MAXUSERS 數量][-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
編輯例程:
-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名][-SHUTMODE a|i|n]
[-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT 秒]
刪除例程:
-DELETE -SID sid | -SRVC 服務名稱
啓動服務和例程:
-STARTUP -SID sid [-USRPWD 口令][-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名]
關閉服務和例程:
-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a | i | n]
查詢幫助:
-? | -h | -help
例子:
在服務裏生成一個新的實例管理服務,啓動方式爲手工
oradim -NEW -SID test -STARTMODE manual -PFILE"D:\Oracle\admin\test\pfile\inittest.ora
oradim -NEW -SRVC OracleServicetest -STARTMODE manual-PFILE "D:\Oracle\admin\test\pfile\inittest.ora
注:有效的服務名爲 “OracleService” 後跟“SID”
-SID test 與 -SRVCOracleServicetest 等價
刪除此實例或服務
oradim -DELETE -SID test
oradim -DELETE -SRVC OracleServicetest
編輯此實例,啓動方式改爲手動
oradim -EDIT -SID test -STARTMODE manual
編輯此實例,啓動方式改爲自動
oradim -EDIT -SID test -STARTMODE auto
啓動test
oradim -STARTUP -SID test
oradim -STARTUP -SID test -STARTTYPE srvc,inst
只啓動test服務
oradim -STARTUP -SID test -STARTTYPE srvc
只啓動test實例
oradim -STARTUP -SID test -STARTTYPE inst
關閉test
oradim -SHUTDOWN -SID test
oradim -SHUTDOWN -SID test -SHUTTYPE srvc,inst
用命令建立orcl的例程
Oradim –NEW –SIDORCL –STARTMODE manual –PFILE “D:\oracle\product\10.1.0\Db_1\database\SPFILEORCL.ORA”
這時出現 instance created 提示。到服務裏查看,出現了OracleServiceORCL的服務(默認已啓動)。
打開sqlplus 用system連接: connsystem/admin 出現下列錯誤提示
ERROR:
ORA-01034:ORACLE not available
ORA-27101:shared memory realm does not exist
說明Oracle數據庫沒有啓動,這時用sysdba連接:connsys/admin as sysdba 出現connected to an idle instance
這時發出startup的命令即可完成。