欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle中各种“name”

程序员文章站 2024-02-18 22:15:16
...

database name(数据库名):指的就是oracle数据库的名称,用来在一个域内唯一的标识一个数据库。数据库名由db_name初始化参数指定

(1)database name(数据库名):指的就是Oracle数据库的名称,用来在一个域内唯一的标识一个数据库。数据库名由db_name初始化参数指定。数据库名最多可达8个字符(文字数字字符,下划线,#,$)组成,必须和create database中的指定的名字相同。在有多个数据库存在时,数据库名应该和实例名一致,以免混淆实例与数据库的对应关系。在RAC环境下所有的实例中的数据库名必须相同,备用数据库与主数据库的数据库名也应该相同。

SQL> show parameter db_name

NAME TYPE VALUE

------------------------------------ ----------- --------

db_name string wilson

数据库名是:wilson

(2)instance name(实例名):oracle实例由SGA与oracle后台进程组成,实例名指的就是实例的名称。由初始化参数文件中的instance_name指定,唯一的标识实例。在单实例架构下,,实例名一般和数据库名相同,在RAC环境下多个实例对应一个数据库。实例名也就是我们经常提高的SID.


SQL> show parameter instance_name

NAME TYPE VALUE

------------------------------------ ----------- --------

instance_name string WILSON

实例名是:WILSON

(3)database domain(数据库域名):数据库域名就是网络域名。数据库创建以后,改变初始化参数db_domain的值不会影响到全局数据库名或者数据库链接名的解析。使用alter system 的方式是无法修改的。应该使用alter database修改,并且修改以后也不会反映在db_domian中,而是反映在global_name中。


SQL> show parameter db_domain

NAME TYPE VALUE

------------------------------------ ----------- --------

db_domain string

我没有设置数据库域名,因为我的数据库是本地学习测试用的。

(4)global database name(全局数据库名):唯一的标识一个数据库,以database_name.database_domain的格式。因为不在同一个域内的数据库库名可能相同,但是同一个域内的数据库库名不可能相同,所以可以通过database_name.database_domain的方式唯一的标识一个数据库。查看数据字典视图global_name确定全局数据库名。


SQL> select * from global_name;

GLOBAL_NAME

-----------------------------------

ORACL

(5)修改通过修改global_name的方式来修改db_domain


SQL> alter database rename global_name to wilson.dave.sun;

Database altered.


查看修改的情况


SQL> select * from global_name;

GLOBAL_NAME

-----------------------------------

wilson.dave.sun



SQL> show parameter db_domain

NAME TYPE VALUE

------------------------------------ ----------- -----------

db_domain string

虽然db_domain的值是空的,但是全局数据库名确实已经更改了。但是db_domain好像没有改掉。

(6)database service name(数据库服务名):对应客户端来说,数据库在逻辑上只是一个服务。一个数据库实例可以有多个数据库服务名,每个一个数据库服务名,为一组不同的客户端所使用。每个数据库服务名,也可以对应多个数据库实例。通过数据库服务名来标识每一个数据库,数据库服务名由初始化参数service_name确定。默认和全局数据库名相同~~~