【數據庫名】
概念:就是一個數據庫的標識,作用等同於我們的身份證的作用,如果一台機器上安裝了多個數據庫,那麼每個數據庫都會有一個數據庫名稱對應,這些數據庫名稱在數據庫被創建的時候,數據庫名稱也會被寫入控制文件中去,在控制文件中是以二進制的文件存儲,我們如果要修改的話就不是太方便,所以我們在起數據庫名稱的時候盡量考慮清楚。
作用:數據庫名稱是在創建數據庫,安裝數據庫,創建數據庫控制文件,修改數據結構的時候或者備份數據庫的時候會使用到。
我們如果想在sqlplus中查看當前連接的數據庫名稱:
方法一:select name from v$database;
方法二:shower parameter db;
方法三:查看所有參數文件。
【數據庫實例名】
概念:實例是訪問oracle數據庫所需的一部分計算機內存和輔助處理計算機後台進程,是由進程和這些進程所使用的內存所構成的集合。它根本不需要一個與其相關聯的數據庫,沒有任何數據文件也可以啟動實例。
【sqlplus中啟動oracle數據庫實例】
SQL> connect system/manager as sysdba; 已連接到空閒例程。 SQL> startup open finance; ORACLE 例程已經啟動。 Total System Global Area 1249902592 bytes Fixed Size 1292132 bytes Variable Size 318769308 bytes Database Buffers 922746880 bytes Redo Buffers 7094272 bytes 數據庫裝載完畢。 數據庫已經打開。【sqlplus中停止oracle數據庫實例】
SQL> connect system/manager as sysdba; 已連接。 SQL> shutdown immediate; 數據庫已經關閉。 已經卸載數據庫。 ORACLE 例程已經關閉。【sqlplus中查看oracle數據庫實例名稱】
SQL>select instance_name from v$instance;
大家訪問oracle數據庫就是訪問一個實例,但這個實例如果是關聯了數據庫文件,就是可以訪問的,如果沒有就會有訪問實例不存在的錯誤。
實例名是指用於響應某個數據庫操作的數據庫管理系統的名稱。專業術語叫“SID”.
用於對外部連接,在操作系統中要取得與數據庫的聯系,必須要使用數據庫實例名。
【實例和數據庫的區別】
Q:實例是臨時的,它只在相關的進程和內存集合存在的時候存在;數據庫是永久的,文件存在他就存在。
Q:一個實例在其生存期內可安裝和打開單個數據庫。數據庫可以被很多個實例安裝和打開,或者一個接一個的實例安裝和打開,或者由多個實例同時安裝和打開。
【數據庫服務名】
oracle8i引進,在8i以前,我們用SID來表示數據庫的一個實例,但是在oracle的並行環境中,一個數據庫對應多個實例,這樣就需要多個網絡服務名,為了方便,引入數據庫服務名。該參數對應一個數據庫,而不是一個實例。
如果數據庫有域名,那麼數據庫服務名就是全局數據庫名稱。數據庫服務名與數據庫名一致。
從oracle8i開始的oralce網絡組件,客戶端與數據庫連接的主機字符串使用的是數據庫服務名,之前用的是數據庫實例名。
SQL>select value from v$parameter where name='service_names';
SQL>show parameter service_name;【網絡服務名】
也可以稱為數據庫別名,是客戶端訪問數據庫時所需要,網絡服務名被記在tnsnames.ora文件中。