亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 數據庫 > 
  • 數據庫名、實例名、數據庫域名、全局數據庫名、服務名

數據庫名、實例名、數據庫域名、全局數據庫名、服務名

發布時間:2020-06-28 15:30:39 來源:網絡 閱讀:529 作者:sunhuabin2016 欄目:數據庫

數據庫名、實例名、數據庫域名、全局數據庫名、服務名 ,

這是幾個令很多初學者容易混淆的概念。相信很多初學者都與我一樣被標題上這些個概念搞得一頭霧水。我們現在就來把它們弄個明白。

1數據庫名

  什么是數據庫名?
  數據庫名就是一個數據庫的標識,就像人的×××號一樣。他用參數DB_NAME表示,如果一臺機器上裝了多全數據庫,那么每一個數據庫都有一個數據庫名。在數據庫安裝或創建完成之后,參數DB_NAME被寫入參數文件之中。格式如下:
DB_NAME=myorcl
...
在創建數據庫時就應考慮好數據庫名,并且在創建完數據庫之后,數據庫名不宜修改,即使要修改也會很麻煩。因為,數據庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的數據庫名,即修改DB_NAME的值。但是在Oracle啟動時,由于參數文件中的DB_NAME與控制文件中的數據庫名不一致,導致數據庫啟動失敗,將返回ORA-01103錯誤。

數據庫名的作業

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

有很多Oracle安裝文件目錄是與數據庫名相關的,如:
win:d:\oracle\product\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
win: 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
跟蹤文件目錄:
win:/home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...

另外,在創建數據時,careatedatabase命令中的數據庫名也要與參數文件中DB_NAME參數的值一致,否則將產生錯誤。
同樣,修改數據庫結構的語句alterdatabase, 當然也要指出要修改的數據庫的名稱。
如果控制文件損壞或丟失,數據庫將不能加載,這時要重新創建控制文件,方法是以nomount方式啟動實例,然后以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。
還有在備份或恢復數據庫時,都需要用到數據庫名。
總之,數據庫名很重要,要準確理解它的作用。


查詢當前數據庫名

方法一:select name from v$database;
方法二:showparameter db
方法三:查看參數文件。


修改數據庫名
前面建議:應在創建數據庫時就確定好數據庫名,數據庫名不應作修改,因為修改數據庫名是一件比較復雜的事情。那么現在就來說明一下,如何在已創建數據之后,修改數據庫名。步驟如下:
1.關閉數據庫。
2.修改數據庫參數文件中的DB_NAME參數的值為新的數據庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)

2 數據庫實例名

什么是數據庫實例名?
數據庫實例名是用于和操作系統進行聯系的標識,就是說數據庫和操作系統之間的交互用的是數據庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在win平臺中,實例名同時也被寫入注冊表。
數據庫名和實例名可以相同也可以不同。
在一般情況下,數據庫名和實例名是一對一的關系,但如果在oracle并行服務器架構(即oracle實時應用集群)中,數據庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。

查詢當前數據庫實例名

方法一:selectinstance_name from v$instance;
方法二:showparameter instance
方法三:在參數文件中查詢。


數據庫實例名與ORACLE_SID
雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle數據庫參數。而ORACLE_SID是操作系統的環境變量。 ORACLD_SID用于與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在win不臺, ORACLE_SID還需存在于注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平臺,是“ORACLE not available”,在win平臺,是“TNS:協議適配器錯誤”。

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

3 數據庫域名

什么是數據庫域名?
在分布式數據庫系統中,不同版本的數據庫服務器之間,不論運行的操作系統是unix或是windows,各服務器之間都可以通過數據庫鏈路進行遠程復制,數據庫域名主要用于oracle分布式環境中的復制。舉例說明如:
全國交通運政系統的分布式數據庫,其中:
福建節點:fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是數據庫域名。
數據庫域名在存在于參數文件中,他的參數是db_domain.

查詢數據庫域名

方法一:selectvalue from v$parameter where name = 'db_domain';
方法二:showparameter domain
方法三:在參數文件中查詢。


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

4 數據庫服務名

什么是數據庫服務名?
從oracle9i版本開始,引入了一個新的參數,即數據庫服務名。參數名是SERVICE_NAME。
如果數據庫有域名,則數據庫服務名就是全局數據庫名;否則,數據庫服務名與數據庫名相同。

查詢數據庫服務名

方法一:selectvalue from v$parameter where name = 'service_name';
方法二:showparameter service_name
方法三:在參數文件中查詢。


數據庫服務名與網絡連接
從oracle8i開始的oracle網絡組件,數據庫與客戶端的連接主機串使用數據庫服務名。之前用的是ORACLE_SID,即數據庫實例名

以上內容從網絡上整理出,具體原帖過多就不貼出出處了,總之希望同學們還是多多實踐方能真正掌握,所以不要光看哦。下面是我的小補充:

看下監聽狀態 --lsnrctl

Service "elvis" has 2 instance(s).
  Instance"elvis", status UNKNOWN, has 1 handler(s) for this service...
  Instance"elvis", status READY, has 1 handler(s) for this service...
Service "elvisXDB" has 1 instance(s).
  Instance"elvis", status READY, has 1 handler(s) for this service...
The command completed successfully



可以看出服務名已經被系統占據兩個,而服務名可以有64個,但系統占據兩個,也就是說我們可以手動配置62個服務名

數據庫服務名更改

alter system set service_names=b;



更改后,相應的tnsname.ora文件里也需要相應的修改。



Service "B" has 1 instance(s).
  Instance"elvis", status READY, has 1 handler(s) for this service...
Service "a" has 1 instance(s).
  Instance"elvis", status UNKNOWN, has 1 handler(s) for this service...
Service "elvis" has 1 instance(s).
  Instance"elvis", status READY, has 1 handler(s) for this service...
Service "elvisXDB" has 1 instance(s).
  Instance"elvis", status READY, has 1 handler(s) for this service...
The command completed successfully

數據庫實例名的修改

alter system set instance_name=test2 scope=spfile;


這個是動態參數,所以需要指定spfile,然后重啟數據庫才能生效


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙桃市| 阳泉市| 宽甸| 饶河县| 北京市| 云梦县| 德化县| 石嘴山市| 仁寿县| 新民市| 宜春市| 万山特区| 江山市| 古蔺县| 博乐市| 新平| 新疆| 安宁市| 万山特区| 静海县| 濉溪县| 武城县| 永城市| 新乡市| 诏安县| 积石山| 巫溪县| 昌乐县| 贞丰县| 获嘉县| 河津市| 贡嘎县| 江山市| 苗栗市| 平阳县| 尼勒克县| 那坡县| 隆化县| 沅江市| 贵德县| 武义县|