| 導購 | 订阅 | 在线投稿
分享
 
 
當前位置: 王朝網路 >> oracle >> Oracle全局數據庫名、環境變量和sid的區別
 

Oracle全局數據庫名、環境變量和sid的區別

2008-08-15 05:14:49  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  一、數據庫名

  什麽是數據庫名

  數據庫名就是一個數據庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全數據庫,那麽每一個數據庫都有一個數據庫名。在數據庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。格式如下:

  DB_NAME=myorcl

  ...

  在創建數據庫時就應考慮好數據庫名,並且在創建完數據庫之後,數據庫名不宜修改,即使要修改也會很麻煩。因爲,數據庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的數據庫名,即修改DB_NAME的值。但是在Oracle啓動時,由于參數文件中的DB_NAME與控制文件中的數據庫名不一致,導致數據庫啓動失敗,將返回ORA-01103錯誤。數據庫名的作用

  數據庫名是在安裝數據庫、創建新的數據庫、創建數據庫控制文件、修改數據結構、備份與恢複數據庫時都需要使用到的。

  有很多Oracle安裝文件目錄是與數據庫名相關的,如:

  winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...

  Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...

  pfile:

  winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora

  Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora

  跟蹤文件目錄:

  winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...

  另外,在創建數據時,careate database命令中的數據庫名也要與參數文件中DB_NAME參數的值一致,否則將産生錯誤。

  同樣,修改數據庫結構的語句alter database,當然也要指出要修改的數據庫的名稱。

  如果控制文件損壞或丟失,數據庫將不能加載,這時要重新創建控制文件,方法是以nomount方式啓動實例,然後以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。

  還有在備份或恢複數據庫時,都需要用到數據庫名。

  總之,數據庫名很重要,要准確理解它的作用。查詢當前數據名

  方法一:select name from v$database;

  方法二:show parameter db

  方法三:查看參數文件。修改數據庫名

  前面建議:應在創建數據庫時就確定好數據庫名,數據庫名不應作修改,因爲修改數據庫名是一件比較複雜的事情。那麽現在就來說明一下,如何在已創建數據之後,修改數據庫名。步驟如下:

  1.關閉數據庫。

  2.修改數據庫參數文件中的DB_NAME參數的值爲新的數據庫名。

  3.以NOMOUNT方式啓動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)二、數據庫實例名

  什麽是數據庫實例名?

  數據庫實例名是用于和操作系統進行聯系的標識,就是說數據庫和操作系統之間的交互用的是數據庫實例名。實例名也被寫入參數文件中,該參數爲instance_name,在winnt平台中,實例名同時也被寫入注冊表。

  數據庫名和實例名可以相同也可以不同。

  在一般情況下,數據庫名和實例名是一對一的關系,但如果在oracle並行服務器架構(即oracle實時應用集群)中,數據庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。查詢當前數據庫實例名

  方法一:select instance_name from v$instance;

  方法二:show parameter instance

  方法三:在參數文件中查詢。數據庫實例名與ORACLE_SID

  雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle數據庫參數。而ORACLE_SID是操作系統的環境變量。ORACLD_SID用于與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt不台,ORACLE_SID還需存在于注冊表中。

  且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。數據庫實例名與網絡連接

  數據庫實例名除了與操作系統交互外,還用于網絡連接的oracle服務器標識。當你配置oracle主機連接串的時候,就需要指定實例名。當然8i以後版本的網絡組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明。

  三、數據庫域名

  什麽是數據庫域名?

  在分布工數據庫系統中,不同版本的數據庫服務器之間,不論運行的操作系統是unix或是windows,各服務器之間都可以通過數據庫鏈路進行遠程複制,數據庫域名主要用于oracle分布式環境中的複制。舉例說明如:

  全國交通運政系統的分布式數據庫,其中:

  福建節點: fj.jtyz

  福建廈門節點: xm.fj.jtyz

  江西: jx.jtyz

  江西上饒:sr.jx.jtyz

  這就是數據庫域名。

  數據庫域名在存在于參數文件中,他的參數是db_domain.查詢數據庫域名

  方法一:select value from v$parameter where name = 'db_domain';

  方法二:show parameter domain

  方法三:在參數文件中查詢。全局數據庫名

  全局數據庫名=數據庫名+數據庫域名,如前述福建節點的全局數據庫名是:oradb.fj.jtyz四、數據庫服務名

  什麽是數據庫服務名?

  從oracle9i版本開始,引入了一個新的參數,即數據庫服務名。參數名是SERVICE_NAME。

  如果數據庫有域名,則數據庫服務名就是全局數據庫名;否則,數據庫服務名與數據庫名相同。查詢數據庫服務名

  方法一:select value from v$parameter where name = 'service_name';

  方法二:show parameter service_name

  方法三:在參數文件中查詢。數據庫服務名與網絡連接

  從oracle8i開如的oracle網絡組件,數據庫與客戶端的連接主機串使用數據庫服務名。之前用的是ORACLE_SID,即數據庫實例名。
 
 
 
上一篇《對Oracle學習者的一些建議:興趣很重要》
下一篇《一些基礎的Oracle DBA筆試題和面試題目》
 
 
 
日版寵物情人插曲《Winding Road》歌詞

日版寵物情人2017的插曲,很帶節奏感,日語的,女生唱的。 最後聽見是在第8集的時候女主手割傷了,然後男主用嘴幫她吸了一下,插曲就出來了。 歌手:Def...

兄弟共妻,我成了他們夜裏的美食

老鍾家的兩個兒子很特別,就是跟其他的人不太一樣,魔一般的執著。兄弟倆都到了要結婚的年齡了,不管自家老爹怎麽磨破嘴皮子,兄弟倆說不娶就不娶,老父母爲兄弟兩操碎了心...

如何磨出破洞牛仔褲?牛仔褲怎麽剪破洞?

把牛仔褲磨出有線的破洞 1、具體工具就是磨腳石,下面墊一個硬物,然後用磨腳石一直磨一直磨,到把那塊磨薄了,用手撕開就好了。出來的洞啊很自然的。需要貓須的話調幾...

我就是掃描下圖得到了敬業福和愛國福

先來看下敬業福和愛國福 今年春節,支付寶再次推出了“五福紅包”活動,表示要“把欠大家的敬業福都還給大家”。 今天該活動正式啓動,和去年一樣,需要收集“五福”...

冰箱異味産生的原因和臭味去除的方法

有時候我們打開冰箱就會聞到一股異味,冰箱裏的這種異味是因爲一些物質發出的氣味的混合體,聞起來讓人惡心。 産生這些異味的主要原因有以下幾點。 1、很多人有這種習...

《極品家丁》1-31集大結局分集劇情介紹

簡介 《極品家丁》講述了現代白領林晚榮無意回到古代金陵,並追隨蕭二小姐化名“林三”進入蕭府,不料卻陰差陽錯上演了一出低級家丁拼搏上位的“林三升職記”。...

李溪芮《極品家丁》片尾曲《你就是我最愛的寶寶》歌詞

你就是我最愛的寶寶 - 李溪芮 (電視劇《極品家丁》片尾曲) 作詞:常馨內 作曲:常馨內 你的眉 又鬼馬的挑 你的嘴 又壞壞的笑 上一秒吵鬧 下...

烏梅的功效與作用以及烏梅的食用禁忌有哪些?

烏梅,又稱春梅,中醫認爲,烏梅味酸,性溫,無毒,具有安心、除熱、下氣、祛痰、止渴調中、殺蟲的功效,治肢體痛、肺痨病。烏梅泡水喝能治傷寒煩熱、止吐瀉,與幹姜一起制...

什麽是脂肪粒?如何消除臉部脂肪粒?

什麽是脂肪粒 在我們的臉上總會長一個個像脂肪的小顆粒,弄也弄不掉,而且顔色還是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。 脂肪粒雖然也是由油脂...

網絡安全治理:國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰受害者

來源:中國青年報 新的攻擊方法不斷湧現,黑客幾乎永遠占據網絡攻擊的上風,我們不可能通過技術手段杜絕網絡攻擊。國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰...

 
 
 
一、數據庫名 什麽是數據庫名 數據庫名就是一個數據庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全數據庫,那麽每一個數據庫都有一個數據庫名。在數據庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。格式如下: DB_NAME=myorcl ... 在創建數據庫時就應考慮好數據庫名,並且在創建完數據庫之後,數據庫名不宜修改,即使要修改也會很麻煩。因爲,數據庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的數據庫名,即修改DB_NAME的值。但是在Oracle啓動時,由于參數文件中的DB_NAME與控制文件中的數據庫名不一致,導致數據庫啓動失敗,將返回ORA-01103錯誤。數據庫名的作用 數據庫名是在安裝數據庫、創建新的數據庫、創建數據庫控制文件、修改數據結構、備份與恢複數據庫時都需要使用到的。 有很多Oracle安裝文件目錄是與數據庫名相關的,如: winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\... Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/... pfile: winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora 跟蹤文件目錄: winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/... 另外,在創建數據時,careate database命令中的數據庫名也要與參數文件中DB_NAME參數的值一致,否則將産生錯誤。 同樣,修改數據庫結構的語句alter database,當然也要指出要修改的數據庫的名稱。 如果控制文件損壞或丟失,數據庫將不能加載,這時要重新創建控制文件,方法是以nomount方式啓動實例,然後以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。 還有在備份或恢複數據庫時,都需要用到數據庫名。 總之,數據庫名很重要,要准確理解它的作用。查詢當前數據名 方法一:select name from v$database; 方法二:show parameter db 方法三:查看參數文件。修改數據庫名 前面建議:應在創建數據庫時就確定好數據庫名,數據庫名不應作修改,因爲修改數據庫名是一件比較複雜的事情。那麽現在就來說明一下,如何在已創建數據之後,修改數據庫名。步驟如下: 1.關閉數據庫。 2.修改數據庫參數文件中的DB_NAME參數的值爲新的數據庫名。 3.以NOMOUNT方式啓動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)二、數據庫實例名 什麽是數據庫實例名? 數據庫實例名是用于和操作系統進行聯系的標識,就是說數據庫和操作系統之間的交互用的是數據庫實例名。實例名也被寫入參數文件中,該參數爲instance_name,在winnt平台中,實例名同時也被寫入注冊表。 數據庫名和實例名可以相同也可以不同。 在一般情況下,數據庫名和實例名是一對一的關系,但如果在oracle並行服務器架構(即oracle實時應用集群)中,數據庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。查詢當前數據庫實例名 方法一:select instance_name from v$instance; 方法二:show parameter instance 方法三:在參數文件中查詢。數據庫實例名與ORACLE_SID 雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle數據庫參數。而ORACLE_SID是操作系統的環境變量。ORACLD_SID用于與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt不台,ORACLE_SID還需存在于注冊表中。 且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。數據庫實例名與網絡連接 數據庫實例名除了與操作系統交互外,還用于網絡連接的oracle服務器標識。當你配置oracle主機連接串的時候,就需要指定實例名。當然8i以後版本的網絡組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明。 三、數據庫域名 什麽是數據庫域名? 在分布工數據庫系統中,不同版本的數據庫服務器之間,不論運行的操作系統是unix或是windows,各服務器之間都可以通過數據庫鏈路進行遠程複制,數據庫域名主要用于oracle分布式環境中的複制。舉例說明如: 全國交通運政系統的分布式數據庫,其中: 福建節點: fj.jtyz 福建廈門節點: xm.fj.jtyz 江西: jx.jtyz 江西上饒:sr.jx.jtyz 這就是數據庫域名。 數據庫域名在存在于參數文件中,他的參數是db_domain.查詢數據庫域名 方法一:select value from v$parameter where name = 'db_domain'; 方法二:show parameter domain 方法三:在參數文件中查詢。全局數據庫名 全局數據庫名=數據庫名+數據庫域名,如前述福建節點的全局數據庫名是:oradb.fj.jtyz四、數據庫服務名 什麽是數據庫服務名? 從oracle9i版本開始,引入了一個新的參數,即數據庫服務名。參數名是SERVICE_NAME。 如果數據庫有域名,則數據庫服務名就是全局數據庫名;否則,數據庫服務名與數據庫名相同。查詢數據庫服務名 方法一:select value from v$parameter where name = 'service_name'; 方法二:show parameter service_name 方法三:在參數文件中查詢。數據庫服務名與網絡連接 從oracle8i開如的oracle網絡組件,數據庫與客戶端的連接主機串使用數據庫服務名。之前用的是ORACLE_SID,即數據庫實例名。
󰈣󰈤
 
 
 
  免責聲明:本文僅代表作者個人觀點,與王朝網路無關。王朝網路登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
 
最漂亮的香港幼稚園老師
萬裏挑一的氣質型白領
神舟筆記本優雅美女
花蕾般的少女
台風下的香港
小東江晨曲
江西--婺源--三清山
沙漠的情趣
 
>>返回首頁<<
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
© 2005- 王朝網路 版權所有