您好,您這樣:
成都創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)技術(shù)企業(yè),為成都企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。10多年品質(zhì),值得信賴!
1、停止所有的Oracle服務(wù)。
這個(gè)沒有什么好解釋的,根據(jù)你的oracle 安裝的不同
包括數(shù)據(jù)庫(kù)的服務(wù),監(jiān)聽器等等.
2、修改initSID.ora文件,修改instance_name為新的SID
找到你的初始化參數(shù)文件,里面有下面的一下參數(shù).
db_name = "testdb"
instance_name = testdbl
service_names = testdb
改成
db_name = "testdb"
instance_name = oral
service_names = oral
注意,db_name不要改,因?yàn)槲覀兊臄?shù)據(jù)庫(kù)還是叫testdb,但是它的服務(wù)也就是sid,改成oral,否則會(huì)報(bào)錯(cuò).修改之后,保存好這個(gè)文件
3、修改注冊(cè)表的ORACLE_SID
在注冊(cè)表的local machine 下面的software下面,找到oracle 的hom0主鍵,下面有個(gè)參數(shù),叫做ORACLE_SID,改成oral 記住,只改這一個(gè).其他的不用改了,比方說(shuō)服務(wù).等等,否則會(huì)報(bào)錯(cuò).
4、修改listener.ora中的SID_NAME
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\ora81)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = testdb)
(ORACLE_HOME = E:\oracle\ora81)
(SID_NAME = oral)
)
)
把里面的SID_NAME 給成oral,如上面的例子所表示.
5、oradim刪除原來(lái)SID的服務(wù),添加新SID的服務(wù)
這步比較復(fù)雜,涉及到oradim命令的用法.下面我簡(jiǎn)單的介紹一下它 的用法
創(chuàng)建例程:
-NEW -SID sid | -SRVC 服務(wù) [-INTPWD 口令] [-MAXUSERS 數(shù)量] [-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 服務(wù)名稱
啟動(dòng)服務(wù)和例程:
-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名]
關(guān)閉服務(wù)和例程:
-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a | i | n]
查詢幫助:
-? | -h | -help
-SID sid
指定要啟動(dòng)的實(shí)例名稱
-SRVC 服務(wù)
指定要啟動(dòng)的服務(wù)名稱
-USRPWD 口令
指定內(nèi)部用戶的口令,如果作為NT管理員登錄,不用此參數(shù)
-PFILE 文件名
為實(shí)例指明初始化參數(shù)文件,如果參數(shù)文件在Oracle的默認(rèn)位置,則不需要此命令
-STARTTYPE srvc|inst|srvc,inst
表示要啟動(dòng)什么
srvc————只啟動(dòng)服務(wù)
inst————啟動(dòng)實(shí)例,服務(wù)必須已經(jīng)啟動(dòng)并開始工作了
srvc,inst —服務(wù)和實(shí)例都啟動(dòng)
-SHUTTYPE srvc|inst|srvc,inst
表示要終止什么,參數(shù)選項(xiàng)同上
-STARTMODE a|m
表示啟動(dòng)實(shí)例所使用的模式
a————auto方式(自動(dòng))
m————manual方式(手動(dòng))
-SHUTMODE a|i|n
表示終止實(shí)例所使用的關(guān)閉模式
a————abort方式
i————immediate方式
n————normal方式
例子:
在服務(wù)里生成一個(gè)新的實(shí)例管理服務(wù),啟動(dòng)方式為手工
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
注:有效的服務(wù)名為 “OracleService” 后跟“ SID”
-SID test 與 -SRVC OracleServicetest 等價(jià)
刪除此實(shí)例或服務(wù)
oradim -DELETE -SID test
oradim -DELETE -SRVC OracleServicetest
編輯此實(shí)例,啟動(dòng)方式改為手動(dòng)
oradim -EDIT -SID test -STARTMODE manual
編輯此實(shí)例,啟動(dòng)方式改為自動(dòng)
oradim -EDIT -SID test -STARTMODE auto
啟動(dòng)test
oradim -STARTUP -SID test
oradim -STARTUP -SID test -STARTTYPE srvc,inst
只啟動(dòng)test服務(wù)
oradim -STARTUP -SID test -STARTTYPE srvc
只啟動(dòng)test實(shí)例
oradim -STARTUP -SID test -STARTTYPE inst
關(guān)閉test
oradim -SHUTDOWN -SID test
oradim -SHUTDOWN -SID test -SHUTTYPE srvc,inst
在testdb中
我們使用
oradim –DELETE –SID testdb
刪除了testdb 實(shí)例
然后
oradim –NEW –SID oral
添加新的實(shí)例
注意,這個(gè)命令,可以寫到控制文件和注冊(cè)表的服務(wù)里面,我更改后,可以看到在服務(wù)里面,服務(wù)名稱已經(jīng)改過(guò)來(lái)了.
但是這個(gè)時(shí)候還是不可以登錄到oracle.提示為權(quán)限不足.
6、orapwd生成新SID的口令
具體的orapwd,我想大家都知道了,要?jiǎng)?chuàng)建一個(gè)密碼文件就要用它,至于為什么我們需要重新創(chuàng)建密碼文件,我還不是很清楚,等我弄清楚了之后,我會(huì)把更新我的文檔.
需要注意的是,生成的密碼文件,一定要保存到orale home\database下面
而且密碼文件的名字一定要PWDsid.ora
具體的為什么我還不是很清楚.
好了.現(xiàn)在你可以通知你的客戶端,把他們的tnsname.ora中的
SZ =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.47.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oral)
)
)
service_name 都改成oral ,就可以用了
進(jìn)入數(shù)據(jù)庫(kù)安裝目錄下,找到tnsnames.ora文件,把其中的service_name改成數(shù)據(jù)庫(kù)正確的sid值,默認(rèn)的是orcl
\network\admin\tnsnames.ora:
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.62)(PORT = 1521))
(CONNECT_DATA =
(SERVER = ORCL)
(SERVICE_NAME = ORCL)
)
重啟監(jiān)聽即可
若是碰到繼續(xù)報(bào)錯(cuò):17410 提示無(wú)法從套接字獲取更多數(shù)據(jù)如何解決,則進(jìn)入數(shù)據(jù)庫(kù)安裝目錄下,找到listener.ora文件,將(PROGRAM = extproc)這行前面加#注釋掉,如下:
#(PROGRAM = extproc)
并且,檢查配置文件中HOST是否為主機(jī)名
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主機(jī)名)(PORT = 1521))
)
重啟監(jiān)聽,數(shù)據(jù)庫(kù)即可連接
用如下方法設(shè)置,以win7電腦為例。
1、右鍵“我的電腦”,選擇“管理”。
2、彈出窗口依次點(diǎn)擊“服務(wù)和應(yīng)用程序”——“服務(wù)”。
3、在列表中找到oracle服務(wù)的啟動(dòng)項(xiàng),一般名稱為“OracleService+實(shí)例名”。
4、右鍵此服務(wù),選擇“屬性”選項(xiàng)。
5、啟動(dòng)類型選擇“自動(dòng)”,點(diǎn)擊“確定”按鈕保存即可。