關於ORACLE_SID和DB_NAME的理解

winston_DBA發表於2015-04-01

一、ORACLE_SID:

1.文件連結:


2.文件解釋:
ORACLE_SID:Specifies the name of the Oracle Database on the host computer. The value of this parameter is the SID for the instance. The default value is specified by the entry in the Database Identification window of Oracle Universal Installer.
3.個人理解:
第一:ORACLE_SID引數的值為例項的SID,其主要的作用就是協助client process找到將要啟動的資料庫例項的引數檔案spfile.ora或init.ora.大多數情況下我們都會設定這個值,若該值未設定,將報如下錯誤:
ORA-12162: TNS:net service name is incorrectly specified

第二:若client process遠端訪問資料庫,透過監聽器的靜態監聽,也將獲得SID值,即也能確定引數檔案spfile.ora或init.ora.

綜上,client process可以透過上述兩種方式來獲取將要啟動的例項SID值,為接下來的例項啟動做好準備。

二、DB_NAME:
1.文件連結:

2.文件解釋
DB_NAME specifies a database identifier of up to 8 characters. This parameter must be specified and must correspond to the name specified in the CREATE DATABASE statement.
If you have multiple databases, the value of this parameter should match the Oracle instance identifier of each one to avoid confusion with other databases running on the system. The value of DB_NAME should be the same in both the standby and production initialization parameter files.
The database name specified in either the STARTUP command or the ALTER DATABASE ... MOUNT statement for each instance of the cluster database must correspond to the DB_NAME initialization parameter setting.
3.個人理解:
第一:引數檔案裡含有DB_NAME資訊和控制檔案資訊,建立引數檔案時指定倆引數值,當啟動例項時,讀入到例項中。
第二:控制檔案裡含有DB_NAME資訊,是在建立資料庫執行CREATE DATABASE時寫入的。
第三:當例項將控制檔案裡的DB_NAME拿出來和啟動過程中從引數檔案裡讀取到的DB_NAME做對比,發現倆值一致,則可以到達mount狀態,若不一致,則報錯。

綜上:ORACLE引數檔案裡寫的DB_NAME需要和引數檔案裡寫的控制檔案裡的DB_NAME一致。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30167136/viewspace-1482377/,如需轉載,請註明出處,否則將追究法律責任。

相關文章