OCM考试经验---各种names、name参数

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 test identified 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_names = 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信息。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值