首页 > 数据库 > Oracle > 关于数据库标识类参数
数据库名
数据库名是用于区分一个数据的内部标识,是以二进制方式存储于数据库控制文件中的参数,在安装或创建数据库之后将不得修改。数据库安装完成后,该参数被写入数据库参数文件PFILE中。
如 DB_NAME=orcl
要查询数据库名
SQL> select name from v$database;
数据库实例名
每一个运行的数据库中都有一个或多个数据库实例名,该名称在数据库中用参数INSTANCE_NAME表示。ORACLE数据库名是用于区分一个数据的内部标识,而数据库实例名用于和操作系统之间的联系,也就是说,用于对外连接时使用,在操作系统中取得与数据库之间的交互则必须使用数据库实例名。例如,要和某一个数据库服务器连接,则必须知道其数据库实例名,知道数据库名是没有作用的。与数据库名不同,在安装或创建数据库之后,实例名是允许修改的。
要查询实例名
SQL> select instance_name from v$instance;
对于实例名的描述,有时使用参数INSTANCE_NAME,有时使用参数ORACLE_SID,这两个参数都是数据库实例名。INSTANCE_NAME是ORACLE数据库参数,此参数可以在参数文件中查询到,而参数ORACLE_SID则是操作系统环境变量。
在ORACLE8i以后,引入了另外3个数据库标识类参数,即数据库域名(DB_DOMAIN)、全局数据库名(GLOBAL_DB_NAME)、数据库服务名(SERVICE_NAMES)。
数据库域名(DB_DOMAIN)
在Oracle分布式数据库系统中,不同版本、不同操作系统间都可以通过数据库链路进行数据的远程复制。数据库域名主要用于Oracle分布式环境中数据的远程复制。
数据库域名的构造方式是,在数据库名后增加域名,此域名与网络中的域名可以不同。
数据库域名与数据库名、数据库实例名一样,是在安装数据库时确定的。数据库安装结束后,数据库域名被记录在参数文件中,用参数DB_DOMAIN表示。如果参数文件中没有参数DB_DOMAIN,则该数据库没有使用域名。
查看数据库的域名
SQL> show parameter domain
全局数据库名(GLOBAL_DB_NAME)
全局数据库名就是数据库名后加上数据库域名。如果数据库中没有域名,则全局数据库名与数据库名相同。
数据库服务名(SERVICE_NAMES)
此参数也是数据库标识类参数,用SERVICE_NAMES表示。如果数据库有域名,则数据库服务名就是全局数据库名;如果没有定义域名,则数据库服务名与数据库名相同。
GLOBAL_NAME
GLOBAL_NAME中的信息缺省是来自props$内部表的,取得的信息是其中的global_db_name字段。
GLOBAL_NAME在建立数据库链接时使用。GLOBAL_NAME可以随时更改。
SQL> select * from global_name;
SQL> alter database rename global_name to master.com;
当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16712909/viewspace-1023698/ ,如需转载,请注明出处,否则将追究法律责任。