新聞中心
運(yùn)營(yíng)著一個(gè)企業(yè)級(jí)應(yīng)用系統(tǒng)時(shí),有時(shí)候因各種原因想要修改ORACLE數(shù)據(jù)庫(kù)名。這可能是由于其名稱(chēng)不夠描述其功能、為修改原有設(shè)計(jì)以兼容其他系統(tǒng)、重命名等。無(wú)論改名原因是什么,如果不知道如何修改ORACLE數(shù)據(jù)庫(kù)名的話(huà),你將會(huì)遇到很多麻煩。因此,統(tǒng)計(jì)了相關(guān)資料分享一下關(guān)于如何修改ORA數(shù)據(jù)庫(kù)的教程。

昌樂(lè)網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),昌樂(lè)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為昌樂(lè)上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的昌樂(lè)做網(wǎng)站的公司定做!
在開(kāi)始之前,有一些要點(diǎn)需要說(shuō)明。
1. 將數(shù)據(jù)庫(kù)名稱(chēng)修改為全新名稱(chēng),舊的數(shù)據(jù)庫(kù)名將不再存在。
2. 此過(guò)程不能在正式使用的數(shù)據(jù)庫(kù)上執(zhí)行,必須在測(cè)試環(huán)境中進(jìn)行操作。
3. 如果我們?cè)谛薷臄?shù)據(jù)庫(kù)名之前已經(jīng)配置或使用數(shù)據(jù)庫(kù)轉(zhuǎn)發(fā)或連接程序,則需要修改配置以進(jìn)行對(duì)新數(shù)據(jù)庫(kù)名稱(chēng)的支持。
以下是一個(gè)詳細(xì)的步驟列表,幫助你輕松掌握操作技巧:
1. 在系統(tǒng)中找到ORACLE_HOME
在Oracle 安裝完成后,在Oracle目錄下將含有bin, network, admi等目錄的ORACLE_HOME,如圖所示:

2. 創(chuàng)建PFILE文件
我們要在$ORACLE_HOME/dbs目錄下為該數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)PFILE文件,保證新數(shù)據(jù)庫(kù)能夠啟動(dòng)。PFILE是一個(gè)文本文件,包含了oracle的初始化參數(shù)。在該文件中,你會(huì)包含很多的參數(shù),其中一條是數(shù)據(jù)庫(kù)名(dbname)。
使用如下命令,創(chuàng)建一個(gè)名為 init.ora 的PFILE文件:
“`
cp init.ora init.ora
“`
注意:使用上述命令進(jìn)行創(chuàng)建PFILE文件要確保ORACLE_HOME處于正常狀態(tài)下。如果ORACLE的HOME目錄尚未設(shè)置環(huán)境,則可以執(zhí)行以下命令來(lái)處理:
“`
. oraenv
“`
執(zhí)行完成后系統(tǒng)會(huì)提示輸入ORACLE_SID。輸入該SID,返回值會(huì)顯示ORACLE_HOME的路徑。
3. 修改PFILE文件
現(xiàn)在打開(kāi)init.ora的文件,將其中的old_database_name修改為新的desired database name。
如:
“`
*.db_name
改成
*.db_name
“`
修改截圖如下:

4. 修改監(jiān)聽(tīng)器配置
因?yàn)镺RACLE依賴(lài)于監(jiān)聽(tīng)器程序進(jìn)行連接。因此必須在監(jiān)聽(tīng)器配置文件,listener.ora 中將新的數(shù)據(jù)庫(kù)名添加到配置文件中。
找到listener.ora文件,該文件位于ORACLE_HOME下的netadmin目錄中。
添加新的數(shù)據(jù)庫(kù)名,例如:
“`
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1)
(PROGRAM=oracle)
)
)
“`
修改之后截圖如下:

5. 在SQLPLUS中啟動(dòng)實(shí)例
現(xiàn)在,我們使用新的PFILE啟動(dòng)ORACLE實(shí)例,將舊的Oracle實(shí)例關(guān)閉,執(zhí)行以下命令:
“`
sqlplus / as sysdba
sql> shutdown immediate
sql> startup pfile=’/dbs/init.ora’;
“`
在SQLPLUS界面中,你需要將實(shí)例關(guān)閉,再重新使用你的新PFILE來(lái)啟動(dòng)實(shí)例。
6. 修改DB名
我們的數(shù)據(jù)庫(kù)現(xiàn)在準(zhǔn)備好了, 所有配置都已經(jīng)就緒。打開(kāi)SQLPLUS,并使用SYS用戶(hù)連接到該實(shí)例中。
“`
sqlplus / as sysdba
“`
在SQLPLUS中輸入了以下指令以修改數(shù)據(jù)庫(kù)的名稱(chēng):
“`
sql> alter database rename global_name to ;
“`
7. 修改文件屬性
要確保Oracle能夠識(shí)別重命名的文件,需要修改admin目錄下的文件屬性。
“`
cd $ORACLE_HOME/dbs
mv .ora .ora
“`
在進(jìn)行修改之后,還要執(zhí)行以下命令更新相關(guān)項(xiàng):
“`
sqlplus / as sysdba
sql> alter system checkpoint;
“`
相關(guān)問(wèn)題拓展閱讀:
- 如何正確配置tnsname.ora文件
- 在oracle數(shù)據(jù)庫(kù)中,修改一個(gè)表中的字段名稱(chēng),報(bào)錯(cuò)ora-02264
- Oracle體系結(jié)構(gòu)中的各種名稱(chēng)
如何正確配置tnsname.ora文件
其中orcl和a8都是連接我遠(yuǎn)程O(píng)racle服務(wù)器的網(wǎng)絡(luò)名字
另外還可以用物肆畝netca命令(ORACLE_HOME配置正確)調(diào)出雹或圖形界罩森面,選擇“本地NET服務(wù)名”來(lái)生成該文件
可以在客戶(hù)端機(jī)器上使用 Oracle Net Configuration Assistant 或 Oracle Net Manager 圖形配置工具對(duì)客戶(hù)端進(jìn)行配置,該配置工具實(shí)際上修改 tnsnames.ora 文件。所以我們可以直腔孝接悔彎修改 tnsnames.ora 文件,下面以直接修改 tnsnames.ora 文件為例:oracle培訓(xùn)
該文件的位置為: …networkadmintnsnames.ora (for windows)
碧圓悶…/network/admin/tnsnames.ora (for unix)
此處,假設(shè)服務(wù)器名為 testserver,服務(wù)名為 orcl.testserver.com,使用的偵聽(tīng)端口為1521,則 tnsnams.ora 文件中的一個(gè)test網(wǎng)絡(luò)服務(wù)名(數(shù)據(jù)庫(kù)別名)為:
test =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
在oracle數(shù)據(jù)庫(kù)中,修改一個(gè)表中的字段名稱(chēng),報(bào)錯(cuò)ora-02264
ORA-02264: 名稱(chēng)已做孝被一現(xiàn)有約束條件占用
這個(gè)錯(cuò)誤是因?yàn)槟憬ū淼臅r(shí)候,同時(shí)創(chuàng)建約束
而這個(gè)約束已經(jīng)被其他的表占用純悶稿了
不能再用了
你可以換一個(gè)約罩禪束名字
Oracle體系結(jié)構(gòu)中的各種名稱(chēng)
一 數(shù)據(jù)庫(kù)名
數(shù)據(jù)庫(kù)名是數(shù)據(jù)庫(kù)的 身份證號(hào)碼 用于標(biāo)示一個(gè)數(shù)據(jù)庫(kù) 在參數(shù)文件中用DB_NAME表示
數(shù)據(jù)庫(kù)名是在安裝數(shù)據(jù)庫(kù) 創(chuàng)建新的數(shù)據(jù)庫(kù) 創(chuàng)建數(shù)據(jù)庫(kù)控制文件 修改數(shù)據(jù)庫(kù)結(jié)構(gòu) 備份與恢復(fù)數(shù)據(jù)庫(kù)時(shí)都需要使用到的
如何查看數(shù)據(jù)庫(kù)名呢?方式有三
使用SQL語(yǔ)句 select name from v$database
使用show命令 show parameter db_name
查看參數(shù)文件冊(cè)磨 查看init ora文件
二 數(shù)據(jù)庫(kù)實(shí)例名
數(shù)據(jù)庫(kù)實(shí)例名是用于和操作系統(tǒng)進(jìn)行聯(lián)系的標(biāo)識(shí) 也就是說(shuō)數(shù)據(jù)庫(kù)和操作系統(tǒng)之間的交互使用的是數(shù)據(jù)庫(kù)實(shí)例名
實(shí)例名也被寫(xiě)入?yún)?shù)文件中 該參數(shù)為instance_name 在winnt平臺(tái)中 實(shí)例名同時(shí)也被寫(xiě)入注冊(cè)表
數(shù)據(jù)庫(kù)名和實(shí)例名可以相同也可以不同 在一般情況下 數(shù)據(jù)庫(kù)名和實(shí)例名是一對(duì)一的關(guān)系 但如果在oracle并行服務(wù)器架構(gòu)(即oracle實(shí)時(shí)應(yīng)用集群)中 數(shù)據(jù)庫(kù)名和實(shí)例名是一對(duì)多的關(guān)系
如何查看當(dāng)前數(shù)據(jù)庫(kù)實(shí)例名呢?方式有三
使用SQL語(yǔ)句 select instance_name from v$instance
使用show命令 show parameter instance
查看參數(shù)文件 查看init ora文件
數(shù)據(jù)庫(kù)實(shí)例名與ORACLE_SID兩者都表示oracle實(shí)例 但是有區(qū)別的 instance_name是oracle數(shù)據(jù)庫(kù)參數(shù) 而ORACLE_SID是操作系統(tǒng)的環(huán)境變量 ORACLD_SID用于與操作系統(tǒng)交互 也就是說(shuō) 從操作系統(tǒng)的角度訪(fǎng)問(wèn)實(shí)例名 必須通過(guò)ORACLE_SID
ORACLE_SID必須與instance_name的值一致 否則 你將會(huì)收到一個(gè)錯(cuò)誤 在unix平臺(tái) 是 ORACLE not available 在winnt平臺(tái) 是 TNS 協(xié)議適配器錯(cuò)誤
三 數(shù)據(jù)庫(kù)域名與全局?jǐn)?shù)據(jù)庫(kù)名
隨著由多個(gè)數(shù)據(jù)庫(kù)構(gòu)成的分布式數(shù)據(jù)庫(kù)的普及 這種命令數(shù)據(jù)歲伏庫(kù)的方法給數(shù)據(jù)庫(kù)的管理造成一定的負(fù)擔(dān) 因?yàn)楦鱾€(gè)數(shù)據(jù)庫(kù)的名字可能一樣 造成管理上的混亂
為了解決這種情況 引入了Db_domain參數(shù) 這樣在數(shù)據(jù)庫(kù)的標(biāo)識(shí)是由Db_name(數(shù)據(jù)庫(kù)名)和 Db_domain(數(shù)據(jù)庫(kù)域名)兩個(gè)參數(shù)共同決定的 避免了因?yàn)閿?shù)據(jù)庫(kù)重名而造成管理上的混亂 這類(lèi)似于互連網(wǎng)上的機(jī)器名的管理
我們將Db_name和 Db_domain兩個(gè)參數(shù)用 連接起來(lái) 表示一個(gè)數(shù)據(jù)庫(kù) 并將該數(shù)據(jù)庫(kù)的名稱(chēng)稱(chēng)為Global_name(全局?jǐn)?shù)據(jù)庫(kù)名) 即它擴(kuò)展了Db_name Db_name參數(shù)只能由字母 數(shù)字 _ # $ 組成 而且最多 個(gè)字符
對(duì)一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)(Oracle database)的唯一標(biāo)識(shí) oracle建議用此種方法命令數(shù)據(jù)庫(kù) 該值是在創(chuàng)建數(shù)據(jù)庫(kù)是決定的 缺省值為Db_name Db_domain 在以后對(duì)參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值 如果要修改 Global_name 只能用ALTER DATABASE RENAME GLOBAL_NAME TO 命令進(jìn)行修改 然后修改相應(yīng)參數(shù)
如何查詢(xún)數(shù)據(jù)庫(kù)域名呢?方法有三
使用SQL命令 select value from v$parameter where name = db_domain
使用show命令 show parameter domain
查看參數(shù)文件 在參數(shù)文件中查詢(xún)
四 數(shù)據(jù)庫(kù)服務(wù)名
該參數(shù)是oracle i新引進(jìn)的 在 i以前 我們用SID來(lái)表示標(biāo)識(shí)數(shù)據(jù)庫(kù)的一個(gè)實(shí)例 但是在Oracle的并行環(huán)境中 一個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)多個(gè)實(shí)例 這樣就需要多個(gè)網(wǎng)絡(luò)服務(wù)名 設(shè)置繁瑣 為了方便并行環(huán)境中的設(shè)置 引進(jìn)了Service_name參數(shù) 該參數(shù)對(duì)應(yīng)一個(gè)數(shù)據(jù)庫(kù) 而不是一個(gè)實(shí)例
該參數(shù)的缺省值為Db_name Db_domain 即等于Global_name 如果數(shù)據(jù)庫(kù)有域名 則數(shù)據(jù)庫(kù)服務(wù)名就是乎姿攜全局?jǐn)?shù)據(jù)庫(kù)名 否則 數(shù)據(jù)庫(kù)服務(wù)名與數(shù)據(jù)庫(kù)名相同
如何查詢(xún)數(shù)據(jù)庫(kù)服務(wù)名呢?方法有三
使用SQL語(yǔ)句 select value from v$parameter where name = service_name
使用show命令 show parameter service_name
查看參數(shù)文件 在參數(shù)文件中查詢(xún)
從Oracle i開(kāi)如的oracle網(wǎng)絡(luò)組件 數(shù)據(jù)庫(kù)與客戶(hù)端的連接主機(jī)串使用數(shù)據(jù)庫(kù)服務(wù)名 之前用的是ORACLE_SID 即數(shù)據(jù)庫(kù)實(shí)例名
五 網(wǎng)絡(luò)服務(wù)名
網(wǎng)絡(luò)服務(wù)名 又可以稱(chēng)為數(shù)據(jù)庫(kù)別名(database alias) 是客戶(hù)端程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)所需要 屏蔽了客戶(hù)端如何連接到服務(wù)器端的細(xì)節(jié) 實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的位置透明的特性 網(wǎng)絡(luò)服務(wù)名被記錄在tnsnames ora文件中
網(wǎng)絡(luò)服務(wù)名是從客戶(hù)端的角度出發(fā) 當(dāng)客戶(hù)端連接遠(yuǎn)程數(shù)據(jù)庫(kù)或其他服務(wù)時(shí) 可以指定Net服務(wù)名 因此需要使用一個(gè)或多個(gè)命名方法將此Net服務(wù)名解析為連接數(shù)據(jù)庫(kù)或其他服務(wù)的連接描述符
通常選擇的是 將存儲(chǔ)在本地客戶(hù)機(jī)的tnsnames ora文件中的網(wǎng)絡(luò)服務(wù)名解析為連接描述符
由Oracle名字服務(wù)器提供為網(wǎng)絡(luò)上的每個(gè)Oracle Net服務(wù)提供解析方法
通過(guò)TCP/IP環(huán)境中的主機(jī)別名連接到Oracle數(shù)據(jù)庫(kù)服務(wù)
/ 專(zhuān)用系統(tǒng)用的 在Windows 系統(tǒng)環(huán)境下不適用
六 總結(jié)
Oracle中各種命名的比較名稱(chēng)查詢(xún)方式
名稱(chēng)→ 查詢(xún)方式 DB_NAME→select name from v$database INSTANCE_NAME →select instance_name from v$instance ORACLE_SID→值和INSTANCE_NAME相同 DB_DOMAIN→select value from v$parameter where name= db_domain GLOBAL_NAME →DB_NAME DB_DOMAIN SERVICE_NAME→ select value from v$parameter where name= service_name NET_SERVICE_NAME→檢查tnsnames ora文件
關(guān)于ora如何修改數(shù)據(jù)庫(kù)名的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站推廣找創(chuàng)新互聯(lián),老牌網(wǎng)站營(yíng)銷(xiāo)公司
成都網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)(www.cdcxhl.com)專(zhuān)注高端網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站維護(hù),網(wǎng)絡(luò)營(yíng)銷(xiāo),SEO優(yōu)化推廣,快速提升企業(yè)網(wǎng)站排名等一站式服務(wù)。IDC基礎(chǔ)服務(wù):云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)、服務(wù)器租用、服務(wù)器托管提供四川、成都、綿陽(yáng)、雅安、重慶、貴州、昆明、鄭州、湖北十堰機(jī)房互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)。
名稱(chēng)欄目:ORA數(shù)據(jù)庫(kù)名修改教程:輕松掌握操作技巧 (ora如何修改數(shù)據(jù)庫(kù)名)
本文網(wǎng)址:http://m.jiaoqi3.com/article/dppdjsj.html


咨詢(xún)
建站咨詢(xún)
