oracle实例名和服务名 oracle中全局数据库名和SID的区别?
oracle中全局数据库名和SID的区别?
全部展开
数据库名(DB_NAME)、实例名(Instance_name)和操作系统环境变量(ORACLE_SID)。
ORACLE7和8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。ORACLE8i和9i中出现了新的参数,即数据库域名(db_domain)、服务名(service_name)和操作系统环境变量(ORACLE_SID)。这些标识符存在于同一个数据库中,用于区分不同数据库的参数。
首先,什么是数据库名(db_name)
数据库名称是用于区分数据的内部标识符,是以二进制存储在数据库控制文件中的参数。安装或创建数据后,将不会对其进行修改。数据库安装完成后,该参数以下列格式写入数据库参数文件pfile:
[cod: 1 : 1 AAF 156970]
.........
Db_nameorcl #(不允许修改)
数据库域
instance_nameorcl
服务名称
控制文件(...............
.........
[/cod: 1 : 1 AAF 156970]
每个正在运行的ORACLE8i数据库都有一个数据库名(db_name)。如果在一个服务器程序中创建了两个数据库,则有两个数据库名称。其控制参数属于不同的pfile和控制相关数据库。
第二,什么是数据库实例名(instance_name)
数据库实例名用于与操作系统的连接和外部连接。为了在操作系统中与数据库进行交互,必须使用数据库实例名。例如,如果您想连接一个数据库服务器,您必须知道它的数据库实例名。只知道数据库名是没有用的。与数据库名称不同,实例名称可以在安装数据或创建数据库后修改。数据库安装完成后,实例名以下列格式写入数据库参数文件pfile:
[cod: 1 : 1 AAF 156970]
Db_nameorcl #(不允许修改)
数据库域
Instance_nameorcl #(可以修改,可以与db_name相同或不同)
服务名称
控制文件(...............
.........
[/cod: 1 : 1 AAF 156970]
数据库名和实例名之间的关系。
数据库名和实例名的关系一般是一一对应的。每个数据库名都有一个实例名。如果在一个服务器中创建了两个数据库,则有两个数据库名称和两个数据库实例名称。一个数据库由两个标识符决定,用户和实例被连接起来。
但是在8i和9i的并行服务器结构中,数据库和实例之间不是一一对应的关系,而是一对多的关系。(一个数据库对应多个实例,同时只能连接一个用户实例。当一个实例出现故障时,其他实例会自动确保数据库的安全运行。)
第三,操作系统环境变量(ORACLE_SID)
实际中,数据库实例名的描述有时使用实例名参数,有时使用ORACLE_SID参数。这两个都是数据库实例名。什么?;它们之间有什么区别?(经常困惑)
[cod: 1 : 1 AAF 156970]
(ORACLE_SID)
操作系统-Oracle数据库(实例名)。
[/cod: 1 : 1 AAF 156970]
上图显示了实例名instance_name和ORACLE_SID与数据库和操作系统之间的关系。虽然这里列出的两个参数是数据库实例名,但是instance_name参数是ORACLE数据库的一个参数,可以在参数文件中找到,而ORACLE_SID参数是一个操作系统环境变量。
操作系统环境变量ORACLE_SID用于与操作系统交互。也就是说,为了获得操作系统中的实例名,必须使用ORACLE_SID。该参数的使用方法与ORACLE_BASE、ORACLE_HOME等相同。数据库安装后,ORACLE_SID用于定义数据库参数文件的名称。比如:
$ ORACLE _ BASE/admin/DB _ NAME/pfile/init $ ORACL:
[cod: 1 : 1 AAF 156970]
导出ORACLE_SIDorcl
[/cod: 1 : 1 AAF 156970]
如果在同一台服务器上创建了多个数据库,则必须同时有多个数据库实例。此时,可以重复上述定义过程来选择不同的实例。
你仍然可以使用它
[cod: 1 : 1 AAF 156970]
[]$ .oraenv
[/cod: 1 : 1 AAF 156970]
通过操作系统切换不同的ORACL
oracle怎么查看网络服务名是什么?
1.可以通过netca网络配置助手查看。
2.在tnsnames.ora文件中,您还可以看到网络服务名。一般情况下,oracle的数据库名、实例名和网络服务名在创建时是一致的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。