ORACLE 重要参数详解(初级)
1、GLOBAL NAMES----GLOBAL_NAMES参数(客户端)是限制客户端创建dblink时的名称是否需要与服务器端global_name(没有s)一致
global_name---为数据库对外服务名
当本地GLOBAL_NAMES参数设置为TRUE时,本地创建DBLINK时的名称必须与被连接库的GLOBAL_NAME一致。
如果在GLOBAL_NAMES设置为TRUE的情况下,如果要建多个数据库链接到同一个库,怎么办呢?
因为数据库链接的名称必须与目标库的GLOBAL_NAME相同。可以按如下的方法:
create database link dmdb@link1 connect to testidentified by test using 'dmdb';
create database link 被连接数据库global_name@标签1 connect to 用户名 identified by 密码 using '连接字符串(tnsname)';
2、各种name
1.db_name:
数据库名称,数据库创建好后不可以修改,除非使用nid(9i之后的版本)更改。但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名而造成管理上的混乱。这类似于互连网上的机器名的管理。我们将Db_name和Db_domain两个参数用’.’连接起来,表示一个数据库,并将该数据库的名称称为Global_name,即它扩展了Db_name。即GLOBAL_NAME=db_name.db_domain 。 DB_NAME概念相比于INSTANCE_NAME要重要的多,它决定实例将挂在的数据文件。它出现在数据文件,控制文件,日志文件中。在参数文件中也出现,且必须出现。这个参数涉及到系统的物理文件。
2.Db_domain:
定义一个数据库所在的域
3.Global_name:
对一个数据库(Oracle database)的唯一标识,oracle建议用此种方法命令数据库。该值是在创建数据库是决定的,缺省值为GLOBAL_NAME=db_name.db_domain。在以后对参数文件中Db_name与Db_domain参数的任何修改不影响Global_name的值,如果要修改Global_name,只能用 ALTER DATABASE RENAME GLOBAL_NAME TO <db_name.db_domain> 命令进行修改,然后修改相应参数。
4.oracle_sid:
数据库实例名称(操作系统中的环境变量参数)与instance_name必须一致,同一个db_name可以对应多个oracle_sid,数据库创建好后会自动在$ORACLE_HOME/dbs创建init+oracle_sid,orapw+oracle_id,spfile+oracle_sid这些文件. 5.service_name:
oracle对外提供的服务名,该名称对应tns文件中的service_name,一个数据库可以指定一个或多个service_name,在监听器启动后会列出这些service_name.
设置多个service_name命令如下:
alter system set service_name = name1,name2 scope=spfile; 但是在Oracle的并行环境中,一个数据库对应多个实例,这样就需要多个网络服务名,设置繁琐。为了方便并行环境中的设置,引进了Service_name参数,该参数对应一个数据库,而不是一个实例,而且该参数有许多其它的好处。该参数的缺省值为Db_name.Db_domain,即等于Global_name。一个数据库可以对应多个Service_name,以便实现更灵活的配置。该参数与SID没有直接关系,即不必Service name 必须与SID一样。
6.数据库:
一个Oracle数据库系统中可以同时安装几个数据库,每一个数据库对应一个唯
一的实例,但是OPS系统除外,可以多个实例同时对一个数据库操作,称为并行服务
器
7.GLOBAL_DBNAME:
listener配置的对外网络连接名
8.SID_NAME(listener.ora中):
指数据库的运行的实例名,应该是和instance_name一致
9.INSTANCE_NAME:
实例名称,这是Oracle实例的名字,用来区分不通的实例。在Oracle9i之前,该名字存储在两个地方:参数文件和数据库的内部试图(V$INSTANCE).
而在Oracle10g之后的版本中,该名字不再出现在参数文件中,而是动态从系统中获得,默认是取自ORACLE_SID。
INSTANCE_NAME的作用除了区别不同实例之外,在监听器动态注册时,还会用于向监听器注册。比如instance_name=kanon, 监听中将动态注册Instance "kanon",status READY信息。
版权声明:本文为博主原创文章,未经博主允许不得转载。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com