解析Oracle数据库中配置文件
关键字: 数据库 oracle 配置
Oracle主要配置文件:
Profile 文件 ,oratab 文件 , 数据库实例初始化文件 initSID.ora, listener.ora 文件 , sqlnet.ora 文件 , tnsnames.ora 文件
Profile 文件 ,oratab 文件 , 数据库实例初始化文件 initSID.ora, listener.ora 文件 , sqlnet.ora 文件 , tnsnames.ora 文件
Oracle主要配置文件介绍
一、/etc/profile 文件
系统级的环境变量一般在
/etc/profile
文件中定义
在
CAMS
系统与数据库
,
相关的环境变量就定义在
/etc/profile
文件中
如下所示
:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_SID=cams
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICAN.ZHS16CGB231280
|
说明:
1、配置上述环境变量要注意定义的先后顺序如:
定义 ORACLE_HOME时用到了ORACLE_BASE,那么ORACLE_HOME的定义应该在ORACLE_BASE之后
2、使用中文版
CAMS 环境变量 NLS_LANG 的值应该设置为AMERICAN.ZHS16CGB231280 如上所示在使用英文版 CAMS时可以不设置 NLS_LANG 即去掉 export NLS_LANG=... ... 那一行,也可以设置 NLS_LANG 的值为 AMERICAN_AMERICA.US7ASCII
二、/etc/oratab 文件
/etc/oratab
文件描述目前系统中创建的数据库实例
以及是否通过
dbstart
和
dbshut
来控制该实例的启动与关闭
如下所示
忽略以
#
开头的注释部分
:
cams:/u01/app/oracle/product/8.1.7:Y
其中
cams
为实例
ID /u01/app/oracle/product/8.1.7
为
ORACLE_HOME
目录
Y
表示允许使用
dbstart
和
dbshut
启动和关闭该实例数据库如果设置为
N
表示不通过
dbstart
和
dbshut
启动和关闭实例数据库
CAMS
系统要求在安装完
ORACLE
后要求将该参数修改为
Y
以保证
ORACLE
数据库自启动和关闭
三、数据库实例初始化文件 initSID.ora
每个数据库实例都有一个初始化
参数文件
其缺省
存放的路径为
$ORACLE_BASE/admin//pfile
其名称为
init.ora
如
cams
实例
对
应
的
参
数
文
件
为
initcams.ora
缺
省
存
放
路
径
为
$ORACLE_BASE/admin/cams/pfile
即
/u01/app/oracle/admin/cams/pfile
但
在
CAMS
应
用
中
initcams.ora
的
存
放
路
径
为
/u02/app/oracle/admin/cams/pfile
这是基于数据与应用程序分开存放更好地保护数据考虑的
尤其在
CAMS
双机应用模式下
能够保证数据的一致性具体的修改操作可参考
Linux
与
Oracle
安装手册初始化参数文件是一个包含实例配置参数的文本文件
这些参数被设置为特定的值
用于初始化
Oracle
实例的多数内存和进程设置。
以下是一些主要参数的说明:
1
实例的数据库名称
db_name = "cams"
|
2
实例名称
instance_name = cams
|
3
数据库控制文件的名称和位置
control_files = ("/u02/app/oracle/oradata/cams/control01.ctl",
"/u02/app/oracle/oradata/cams/control02.ctl",
"/u02/app/oracle/oradata/cams/control03.ctl")
|
4
调度作业队列的
SNP
进程的数量以及
SNP
进程觉醒时间间隔秒
JOB_QUEUE_PROCESSES=2
JOB_QUEUE_INTERVAL=60
|
5
存储追踪和告警文件的路径
user_dump_dest
指定记录
Oracle
用户进程产生的追踪和告警信息的文件的存放路径
background_dump_dest
指定记录
Oracle
后台进程产生的追踪和告警信息的文件的存放路径
core_dump_dest
指定
Oracle
运行所产生的
coredump
信息的文件的存放路径
.
background_dump_dest = /u02/app/oracle/admin/cams/bdump
core_dump_dest = /u02/app/oracle/admin/cams/cdump
user_dump_dest = /u02/app/oracle/admin/cams/udump
|
6 UTL_FILE_DIR
参数
UTL_FILE_DIR = *
|
UTL_FILE_DIR
参数指定一个或多个目录用于
Oracle
应用的文件
I/O
如备份数据到文件
在
CAMS
系统中将该值设置为
*
表示可供
Oracle
应用进行文件
I/O
操作的目录为任意目录
因此
只要空间允许
可以将备份数据存放到任意目录下
四、监听配置文件listener.ora文件
为了使得外部进程
如
CAMS
后台程序
能够访问
Oracle
数据库
必须配置
Oracle
网络服务器环境
配置
Oracle
网络服务器环境是通过配置
listener.ora sqlnet.ora
和
tnsnames.ora
共三个文件来进行的
listener.ora
即监听配置文件
在本小节说明
另两个文件分别在随后的两个小节说明监听配置文件
listener.ora
的存放路径为
$ORACLE_HOME/network/admin
以下是一个示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pc149)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/9.2)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = appacf)
(ORACLE_HOME = /opt/oracle/product/9.2)
(SID_NAME = appacf)
)
(SID_DESC =
(GLOBAL_DBNAME = testrman)
(ORACLE_HOME = /opt/oracle/product/9.2)
(SID_NAME = testrman)
)
)
|
说明:
1 listener.ora
文件中定义一个监听器
其缺省的名称为
LISTENE
,这个监听器缺省以
tcp/ip
为协议地址且端口号为
1521
运行
在
CAMS
应用中监听文件定义的监听器就使用这个缺省名字
并且使用缺省的协议
tcp/ip
和缺省的端口号
1521
待配置好监听文件以及随后说明的
sqlnet.ora
和
tnsnames.ora
文件之后
就可以用以下命令将监听文件中定义的监听器启动
启动监听器的命令为:
$ lsnrctl start
|
停止监听器的命令为:
$ lsnrctl stop
|
监测监听器当前状态的命令为:
$ lsnrctl status
|
当
lsnrctl status
命令有如下输出结果
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 8.1.7.4.0 - Production
Start Date 17-JAN-2004 19:00:08
Uptime 31 days 15 hr. 27 min. 59 sec
|
就说明监听器正在运行
否则说明监听器已经停止了
CAMS
系统的后台程序的正常运行不仅依赖于数据库实例的运行
还依赖于这个数据库监听器的运行
假如监听器没有启动
即使数据库已经启动
CAMS
后台程序仍然不能正常工作。
2 (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
所示的一个
IPC
协议地址的监听
是为了外部进程调用用的
在数据库安装时自动设定,不需要改动。
3
在监听文件后部还有一个
SID_LIST_LISTENER
段
该段用于定义监听器的服务
即为哪些数据库实例提供监听服务
以
cams
实例为例
其对应的服务信息为:
(SID_DESC =
(GLOBAL_DBNAME = cams) #数据库名
(ORACLE_HOME = /u01/app/oracle/product/8.1.7)
(SID_NAME = cams) #数据库实例名
)
|
五、sqlnet.ora 文件
sqlnet.ora
文件的存放路径为
$ORACLE_HOME/network/admin
以下是一个示例
NAMES.DEFAULT_DOMAIN = localdomain
NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
|
说明
NAMES.DEFAULT_DOMAIN
指定网络域名
NAMES.DIRECTORY_PATH
指定当解析客户端连接标识符时命名方法
naming metthods
采用的优先顺序
从左至右递减
,
在
CAMS
应用中
,
这两个参数采用上述所示的系统缺省值
六、tnsnames.ora 文件
tnsnames.ora
文件的存放路径为
$ORACLE_HOME/network/admin
以下是一个示例:
OID.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oid)
)
)
CAMS.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
INST1_HTTP.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT =1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(divSENTATION = http://admin)
)
)
EXTPROC_CONNECTION_DATA.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc1)
(divSENTATION = RO)
)
)
|
说明:
tnsnames.ora
文件中定义一个或多个网络服务
net service cams
实例对应的网络服务为
CAMS.LOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhost.localdomain)
(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
|
注意
:
这里
ADDRESS
项包含三个子参数
PROTOCOL
:默认协议
TCP
HOST :ip
地址
PORT
:端口,默认
1521
CAMS.LOCALDOMAIN
为数据名
|
要确保在监听文件中也有对应的一个
ADDRESS
项也包含同样的三个子参数并且子参数的值对应都相等
另外
这里
SERVICE_NAME
的值必需确
保与监听文件中
SID_DESC
项下的
SID_NAME
参数的值相等。