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

Oracle管理与维护.配置文件的简要分析

程序员文章站 2022-05-30 15:15:21
...

db_name(创建参数)是Oracle数据库(Oracle database)的唯一标识。这个方法对于单机数据库是足够的,但是随着分布式数据库(由多个数

一、Oracle的一些疑难概念

Oracle配置文件众多,欲理清思路,须要区别如下一些容易混淆的概念。

db_name(创建参数)是Oracle数据库(Oracle database)的唯一标识。这个方法对于单机数据库是足够的,但是随着分布式数据库(由多个数据库构成的)的发展,各个数据库可能存在重名,这样造成了管理上的混乱。

于是引入db_domain参数,,这样数据库标识由db_name和db_domain两个参数共同决定,避免了因为数据库重名而造成的混乱。这类似于互连网上机器名的管理。我们用db_name.db_domain 表示一个数据库,这个名称称为global_name,扩展了db_name。

select * from v$parameter where name like '%db_name%';
db_name参数创建数据库后很难更改,须要重建控制文件等。


db_domain(初始化参数)

定义数据库所在的域,这个域与我们常说的互联网域和服务器域没有什么关系,只是为了更好的
管理分布式数据库。

select * from v$parameter where name like '%domain%';
db_domain可以通过alter system进行修改。
alter system set db_domain = 'liwei.com' scope=spfile;


global_name

Oracle建议用此方法命令数据库。缺省值为db_name.db_domain。创建数据库后修改参数文件中
db_domain不会影响global_name的值,可以用alter database rename global_name to db_domain>进行修改,然后修改相应db_name和db_domain参数。

select * from global_name;
alter database rename global_name to TEST.LIWEI.COM;


sid(Oracle System Identifier) = instance_name (初始化参数)

Oracle使用sid(Oracle System Identifier)标识数据库一个实例。sid也是Oracle与外部交互的实例
标识。dbca创建数据库时,首先须要指定global_name与sid。我们看下面的文件列表:
[oracle@liwei dbs]$ ll
total 52
-rw-rw---- 1 oracle oradba 1544 May 2 02:32 hc_temp.dat
-rw-rw---- 1 oracle oradba 1544 May 1 12:40 hc_test.dat
-rw-r----- 1 oracle oradba 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oradba 8385 Sep 11 1998 init.ora
-rw-r--r-- 1 oracle oradba 848 May 2 02:30 inittest.ora
-rw-rw---- 1 oracle oradba 24 May 1 12:40 lkTEST
-rw-r----- 1 oracle oradba 1536 May 1 19:38 orapwtest
-rw-r----- 1 oracle oradba 2560 May 2 02:37 spfiletest.ora
显然Oracle实例相关配置文件都是使用sid进行文件命名。tnsnames.ora里可以使用( CONNECT_DATA =
(SID = test) )进行连接数据库。sid值即为v$parameter中的instance_name。

select * from v$parameter where name like 'instance%';
alter system set instance_name='testins' scope=spfile;

注意:修改instance_name后,tnsnames.ora的SID名称也须要与之对应。

Oracle管理与维护.配置文件的简要分析