--查询当前数据库实例名称:
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