--查詢當前數據庫實例名稱:
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
jx OPEN
[oracle@localhost ~]$ echo $ORACLE_SID
jx
[oracle@localhost admin]$ cd /picclife/app/oracle/product/11.2.0/dbhome_1/dbs/ <=> $ORACLE_HOME/dbs
[oracle@localhost dbs]$ ls
hc_jx.dat init.ora orapwjx spfilejx.ora
initjx.ora lkJX snapcf_jx.f
SQL> shutdown immediate; --關閉數據庫
SQL> create pfile from spfile; --生成最新版本的pfile,可編輯的文本參數文件
[oracle@localhost dbs]$ vi /home/oracle/.bash_profile uix=/home/oracle/.profile --修改oracle用戶的環境變量
export ORACLE_SID=yy
[oracle@localhost dbs]$ export ORACLE_SID=yy --生效
[oracle@localhost dbs]$ echo $ORACLE_SID --驗證
yy
[oracle@localhost dbs]$ mv orapwjx orapwyy
[oracle@localhost dbs]$ cp initjx.ora inityy.ora
[oracle@localhost dbs]$ vi inityy.ora --編輯參數文件,未發現instance_name參數值
jx.__java_pool_size=16777216 --內存大小,可以忽略
jx.__large_pool_size=33554432
*.db_domain='' 數據庫名稱
*.db_name='jx' 數據庫的名稱,不是實例的名稱,所以沒有編輯參數文件,直接嘗試啟動
SQL> startup
SQL> select status,instance_name from v$instance;
STATUS INSTANCE_NAME
------------ ----------------
OPEN yy
OK
測試改變,一,Mv密碼,文件看看是否有影響; 無影響,密碼文件影響遠程用戶登陸,驗證
二、使用SPFILE,二進制參數文件,打開數據庫;
SQL> create spfile from pfile;
SQL> startup
SQL> show parameter name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string jx
db_unique_name string jx
global_names boolean FALSE
instance_name string yy
service_names string jx
測試三,service_name,sid_name,global_name,db_unique_name,db_name的區別;
第一個: oracle_sid=instance_name 實例名稱,是尋找參數文件,啟動數據庫進程+內存=實例 ; 查詢操作系統環境變量
第二個:oracle 搭建DG,備庫的時候db_name相同,通過db_unique_name的不同去區分數據庫名稱;
RAC的時候,每個節點的,db_name都相同(數據庫的身份證號碼),每個節點的instance_name不同;
第三個: service_name= db_name; 這個名稱一般是;
service_name=如果是配置了db_unique_name+ 如果配置了db_domain
SQL> alter system set db_unique_name=jxx scope=spfile;
SQL> startup force;
service_names string JXX
db_unique_name string JXX
SQL> show parameter db_domain 域名: 地域的名稱,江西,北京
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_domain string
alter system set db_domain=abc scope=spfile;
SQL> startup force;
SQL> show parameter db_domain
db_domain string ABC
show parameter name
service_names string JXX.ABC
第四個: GOLBAL_NAME 到底與啥有關系呢? 與ORACLE_SID/ DB_UNIQUE_NAME/ SERVICE_NAME都無關系
SQL> show parameter global_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_names boolean FALSE
select * from global_name;
JX
SQL> alter system set global_names=true;
===沒啥變化,網上很多人測試dblink會收受到影響;
---------------1111111111111111111111