Service Name和SID的区别
1、数据库名(db_name):数据库名是存储在控制文件中的数据库的名称。它代表的是数据库也就是所有构成数据库的物理文件的总称。要修改这个名称,只要重建控制文件就行了。
2、实例名:实例名指的是用于响应某个数据库操作的数据库管理系统的名称。它同时也叫sid。实例名是由初始化参数文件的参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。在windows平台下,则是注册表中oracle_sid值决定。
3、listener中的全局数据库名:这个名字是由listener.ora中GLOBAL_DBNAME参数决定的。这个名字代表的是客户端连接到数据库时,tnsnames.ora中service_name参数所对应的值。
4、db_domain顾名思义,它代表的是数据库所在系统的域名。在rac中这个参数在多个实例中必须被配置为一样。
5、全局数据库名(global_name):数据库的另一个名称。由global_name视图所显示。典型格式是数据库名+域名。但这里要注意的是这个名字是独立的。并不依赖于其它参数。另外要注意的一点是,当global_names参数设置为true的时候(默认是true),数据库通过库链(database link)引用其它数据库时,database的选项中必须填入对方数据库的全局数据库名。
6、连接字符串:用于在oracle的客户端唯一标识某个特定oracle服务器。连接字符串在tnsnames.ora中设置。通常情况下设置的信息包含主机名,实例名,侦听端口号。连接字符串的意义在于告诉客户端以什么样的方式连接到哪儿的oracle数据库管理系统。
L1 不是设置在listener.ora里的,要在tnsnames.ora里设置才行
alter system set local_listener='L1';
如果tnsnames.ora里没有设置 L1,就用
alter system set local_listerner='(ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1526))';
这两个是一个效果
如果改监听端口,需要改listener.ora,如果这文件不在或不改,就只能是1521
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test)(PORT = 1526))
)
改完这文件,还需要重新启动监听,且改完local_listener后才能动态注册到1526端口上
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!