文章詳情頁
oracle 中對 db 的不同命名方式
瀏覽:4日期:2023-11-19 10:13:29
(包括:Db_name、Db_domain、Global_name、Service_name、Net service name)【Db_name:】 對一個數(shù)據(jù)庫(Oracle database)的唯一標識,該數(shù)據(jù)庫為第一章講到的Oracle database。這種表示對于單個數(shù)據(jù)庫是足夠的,但是隨著由多個數(shù)據(jù)庫構成的分布式數(shù)據(jù)庫的普及,這種命令數(shù)據(jù)庫的方法給數(shù)據(jù)庫的治理造成一定的負擔,因為各個數(shù)據(jù)庫的名字可能一樣,造成治理上的混亂。為了解決這種情況,引入了Db_domain參數(shù),這樣在數(shù)據(jù)庫的標識是由Db_name和 Db_domain兩個參數(shù)共同決定的,避免了因為數(shù)據(jù)庫重名而造成治理上的混亂。這類似于互連網上的機器名的治理。我們將Db_name和 Db_domain兩個參數(shù)用’.’連接起來,表示一個數(shù)據(jù)庫,并將該數(shù)據(jù)庫的名稱稱為Global_name,即它擴展了Db_name。 Db_name參數(shù)只能由字母、數(shù)字、’_’、’#’、’$’組成,而且最多8個字符。【Db_domain:】定義一個數(shù)據(jù)庫所在的域,該域的命名同互聯(lián)網的’域’沒有任何關系,只是數(shù)據(jù)庫治理員為了更好的治理分布式數(shù)據(jù)庫而根據(jù)實際情況決定的。當然為了治理方便,可以將其等于互聯(lián)網的域。【Global_name:】對一個數(shù)據(jù)庫(Oracle database)的唯一標識,oracle建議用此種方法命令數(shù)據(jù)庫。該值是在創(chuàng)建數(shù)據(jù)庫是決定的,缺省值為Db_name. Db_domain。在以后對參數(shù)文件中Db_name與Db_domain參數(shù)的任何修改不影響Global_name的值,假如要修改 Global_name,只能用ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain>命令進行修改,然后修改相應參數(shù)。【Service_name:】該參數(shù)是oracle8i新引進的。在8i以前,我們用SID來表示標識數(shù)據(jù)庫的一個實例,但是在Oracle的并行環(huán)境中,一個數(shù)據(jù)庫對應多個實例,這樣就需要多個網絡服務名,設置繁瑣。為了方便并行環(huán)境中的設置,引進了Service_name參數(shù),該參數(shù)對應一個數(shù)據(jù)庫,而不是一個實例,而且該參數(shù)有許多其它的好處。該參數(shù)的缺省值為Db_name. Db_domain,即等于Global_name。一個數(shù)據(jù)庫可以對應多個Service_name,以便實現(xiàn)更靈活的配置。該參數(shù)與SID沒有直接關系,即不必Service name 必須與SID一樣。在tnsnames.ora中,既可以用service_name, 也可以用sid【Net service name:】網絡服務名,又可以稱為數(shù)據(jù)庫別名(database;alias)。是客戶端程序訪問數(shù)據(jù)庫時所需要,屏蔽了客戶端如何連接到服務器端的細節(jié),實現(xiàn)了數(shù)據(jù)庫的位置透明的特性。網絡服務名被記錄在tnsnames.ora文件中。===關于錯誤ORA-12154:====有時即使在tnsnames.ora文件中有相應的網絡服務名,可是用該網絡服務名連接時還會出錯,出現(xiàn)這種情況的典型配置如下(在客戶端的機器上):;tnsnames.ora中有:HZUAT = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.1.102)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = hzuat) ) );;sqlnet.ora中有:NAMES.DEFAULT_DOMAIN = staff.ebao.com;可當用 user/passwd@HZUAT去連時, 卻報ora-12154錯。;其原因就是因為sqlplus程序會自動到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN參數(shù),假如該參數(shù)存在,則將該參數(shù)中的值取出,加到網絡服務名的后面。解決辦法一是刪掉NAMES.DEFAULT_DOMAIN, 二是把tnsnames.ora改成HZUAT.COM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.18.1.102)(PORT = 1521)) ) ;;(CONNECT_DATA = (SERVICE_NAME = hzuat) ) );;
標簽:
Oracle
數(shù)據(jù)庫
排行榜
