當前位置:首頁 » 數據倉庫 » 資料庫服務名
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫服務名

發布時間: 2023-07-01 18:13:18

⑴ 如何區分Oracle的資料庫,實例,服務名,SID

資料庫:是一個集合,主要是存儲和處理、提供數據的地方。就算你停止了一個資料庫的運行,但是客觀上他還是存在,只要你重新啟動,那麼它將繼續運行。可以理解為
資料庫軟體+資料庫文件+數據
實例:資料庫啟動後在內存中的部分就叫做實例。簡單點說實例=內存+進程,也就是說當一個oracle資料庫啟動的時候,存在一個oracle實例,當一個資料庫沒有啟動,那麼也就不存在實例,但是資料庫還是存在的,除非你刪掉了資料庫(所謂刪掉資料庫就是刪掉資料庫文件,比如控制文件,初始文件,數據文件等等。在你刪除資料庫的時候,這些文件都會被刪除)。
服務名:這個是資料庫listening的名字,這個是任意定義的,只要不重復就行。
sid:是實例和資料庫對應的唯一標識,比如某台機器上你安裝了兩個資料庫,一個的sid是orcl那麼另外一個就不能是orcl,不然你啟動一個orcl,機器不知道要啟動哪一個。
還是這個場景,你兩個資料庫都啟動了,那麼機器怎麼知道這部分內存分給哪個資料庫呢?依靠的就是sid.

⑵ 什麼叫資料庫名

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

資料庫名的作用
資料庫名是在安裝資料庫、創建新的資料庫、創建資料庫控制文件、修改數據結構、備份與恢復資料庫時都需要使用到的。
有很多Oracle安裝文件目錄是與資料庫名相關的,如:
winnt: d:\oracle\proct\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/proct/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\proct\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/proct/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄:
winnt: /home/app/oracle/proct/10.1.0/admin/DB_NAME/bmp/...
另外,在創建數據時,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資料庫伺服器的名字

應該是DBMS的服務名把,因為有允許多重駐留的,有多個服務名x0dx0a1.查看oracle的安裝目錄,x0dx0a方法是查看注冊表:x0dx0a如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME REG_SZ E:\ORACLE\ORA92 x0dx0a得到了oracle的安裝目錄x0dx0a一般來講,如果伺服器在安裝時採用的是默認值那麼這個值是:D:\ORACLE\ORA92x0dx0ax0dx0a2.找到tnsnames.ora文件x0dx0a在根目錄下面找到\network\ADMIN\tnsnames.ora 文件,並打開x0dx0ax0dx0a3.仔細查看裡面的tnsnames.ora 配置x0dx0a例如x0dx0a# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.orax0dx0a# Generated by Oracle configuration tools.x0dx0aWZZ=x0dx0a(DESCRIPTION =x0dx0a (ADDRESS_LIST =x0dx0a (ADDRESS = (PROTOCOL = TCP)(HOST = wzz)(PORT = 1521))x0dx0a )x0dx0a (CONNECT_DATA =x0dx0a (SERVER = DEDICATED)x0dx0a (SERVICE_NAME = WZZ)x0dx0a )x0dx0a)x0dx0a其中的service_name就是服務名,例如對如上面的文件 ,服務名就是WZZx0dx0ax0dx0a附 C#獲取oracle伺服器名 :x0dx0ax0dx0a #region 從注冊表中讀取安裝主目錄的值x0dx0a ///

x0dx0a /// 從注冊表中讀取安裝主目錄的值x0dx0a /// x0dx0a /// x0dx0a /// x0dx0a public static string ReadHomeDirectory(string setupKey)x0dx0a {x0dx0a RegistryKey readKey;x0dx0ax0dx0a tryx0dx0a {x0dx0a readKey = Registry.LocalMachine.OpenSubKeyx0dx0a ("Software\\ORACLE", false);x0dx0ax0dx0a foreach (string name in readKey.GetValueNames())x0dx0a {x0dx0a if (name == setupKey)x0dx0a {x0dx0a return readKey.GetValue(name).ToString();x0dx0a }x0dx0a }x0dx0ax0dx0a return null;x0dx0a }x0dx0a catchx0dx0a {x0dx0a return null;x0dx0a }x0dx0a }x0dx0a #endregion

⑷ 如何區分Oracle的資料庫,實例,服務名,SID

實例

  1. 實例就是一組操作系統進程(或者是一個多線程的進程)以及一些內存。這些進程可以操作資料庫;實例 就是治理相關庫的內存結構的名字(由SGA、PGA、伺服器進程、用戶進程、後台進程等組成)

  2. 資料庫

資料庫只是一個文件集合(包括數據文件、臨時文件、重做日誌文件和控制文件)。在任何時刻,一個實例只能有一組相關的文件(與一個資料庫關聯)。資料庫 就是實際的磁碟上的文件(數據文件、日誌文件、控制文件等),負責保存數據,但由對應的實例來操作它的數據

3.服務名

服務名 就是對外公布的名稱,為網路監聽服務

4.SID

sid用於實例區分各個資料庫,service name用於外部鏈接。

⑸ oracle網路服務名和資料庫服務名的區別和聯系

資料庫服務名(SERVICE_NAMES)
資料庫的邏輯表示,它是資料庫呈現給客戶機的方式。預設為全局資料庫名,即在安裝
或資料庫創建期間輸入的由資料庫和域名組成的一種名稱,如不存在數據域名時即為資料庫名。

網路服務名(NET SERVICES NAME)
它是「連接描述符」簡稱,

連接描述符
連接描述符是網路連接目標特殊格式的描述,它包括網路協議、主機名稱或地址、和目標服務

⑹ 怎麼修改SQL Server2008資料庫伺服器名稱

在做SQL Server 2008資料庫發布訂閱的時候我們經常要碰到要使用伺服器名稱來進行。那麼如何修改SQL Server 2008資料庫伺服器名稱呢?下面我告訴你!

修改SQL Server 2008資料庫伺服器名稱的方法

登入資料庫實例,並新建查詢

END