Oracle 主要配置文件介绍
profile文件oratab 文件数据库实例初始化文件 initSIDora监听配置文件 sqlnetora 文件tnsnamesora 文件
Oracle 主要配置文件介绍
/etc/profile 文件
系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库
相关的环境变量就定义在/etc/profile 文件中 如下所示
export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_SID=cams
export ORACLE_TERM=vt
export ORA_NLS=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=AMERICANZHSCGB
& 说明
配置上述环境变量要注意定义的先后顺序 如 定义 ORACLE_HOME
时 用 到 了 ORACLE_BASE 那 么 ORACLE_HOME 的 定 义 应 该 在
ORACLE_BASE之后
在使用中文版 CAMS 时 环境变量 NLS_LANG 的值应该设置为
AMERICANZHSCGB 如上所示 在使用英文版 CAMS时 可
以不设置 NLS_LANG 即去掉 export NLS_LANG= 那一行 也可以
设置 NLS_LANG 的值为 AMERICAN_AMERICAUSASCII
/etc/oratab 文件
/etc/oratab 文件描述目前系统中创建的数据库实例 以及是否通过 dbstart 和
dbshut 来控制该实例的启动与关闭 如下所示 忽略以#开头的注释部分 :
cams:/u/app/oracle/product/:Y
其中 cams 为实例 ID /u/app/oracle/product/为 ORACLE_HOME目
录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库 如果设置为
N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在
安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动
和关闭
数据库实例初始化文件 initSIDora
每个数据库实例都有一个初始化 参数文件 其缺省 存放的路径为
$ORACLE_BASE/admin/<SID>/pfile 其名称为 init<SID>ora 如 cams 实
例 对 应 的 参 数 文 件 为 initcamsora 缺 省 存 放 路 径 为
$ORACLE_BASE/admin/cams/pfile 即/u/app/oracle/admin/cams/pfile
但 在 CAMS 应 用 中 initcamsora 的 存 放 路 径 为
/u/app/oracle/admin/cams/pfile 这是基于数据与应用程序分开存放更好地
保护数据考虑的 尤其在 CAMS 双机应用模式下 能够保证数据的一致性
具体的修改操作可参考 Linux与 Oracle 安装手册
初始化参数文件是一个包含实例配置参数的文本文件 这些参数被设置为特
定的值 用于初始化 Oracle 实例的多数内存和进程设置 以下是一些主要参
数的说明
实例的数据库名称
db_name = cams
实例名称
instance_name = cams
数据库控制文件的名称和位置
control_files = (/u/app/oracle/oradata/cams/controlctl
/u/app/oracle/oradata/cams/controlctl
/u/app/oracle/oradata/cams/controlctl)
调度作业队列的 SNP 进程的数量以及 SNP 进程觉醒时间间隔 秒
JOB_QUEUE_PROCESSES=
JOB_QUEUE_INTERVAL=
存储追蹤和告警文件的路径
user_dump_dest 指定记录 Oracle 用户进程产生的追蹤和告警信息的文件的
存放路径 background_dump_dest 指定记录 Oracle 后台进程产生的追蹤和
告警信息的文件的存放路径 core_dump_dest指定Oracle运行所产生的core
dump 信息的文件的存放路径
background_dump_dest = /u/app/oracle/admin/cams/bdump
core_dump_dest = /u/app/oracle/admin/cams/cdump
user_dump_dest = /u/app/oracle/admin/cams/udump
UTL_FILE_DIR 参数
UTL_FILE_DIR = *
UTL_FILE_DIR 参数指定一个或多个目录用于 Oracle 应用的文件 I/O 如备
份数据到文件 在 CAMS 系统中将该值设置为 * 表示可供 Oracle 应
用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数
据存放到任意目录下
监听配置文件
为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配
置 Oracle 网络服务器环境 配置 Oracle 网络服务器环境是通过配置
listenerora sqlnetora 和 tnsnamesora 共三个文件来进行的 listenerora
即监听配置文件 在本小节说明 另两个文件分别在随后的两个小节说明
监听配置文件 listenerora 的存放路径为 $ORACLE_HOME/network/admin
以下是一个示例
LISTENER = #监听器名称
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhostlocaldomain)
(PORT = ))
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhostlocaldomain)
(PORT = ))
)
)
SID_LIST_LISTENER = #命名规则 SID_LIST_+上面定义的监听器名称
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u/app/oracle/product/)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = cams)
(ORACLE_HOME = /u/app/oracle/product/)
(SID_NAME = cams)
)
(SID_DESC =
(GLOBAL_DBNAME = oid)
(ORACLE_HOME = /u/app/oracle/product/)
(SID_NAME = oid)
)
)
& 说明
listenerora 文件中定义一个监听器 其缺省的名称为 LISTENER这个监听器缺省以tcp/ip为协议地址且端口号为运行 在CAMS应用中监听文件定义的监听器就使用这个缺省名字并且使用缺省的协议 tcp/ip
和缺省的端口号 待配置好监听文件以及随后说明的 sqlnetora 和tnsnamesora 文件之后 就可以用以下命令将监听文件中定义的监听器启动起来
$ lsnrctl start
停止监听器的命令为
$ lsnrctl stop
监测监听器当前状态的命令为
$ lsnrctl status
当 lsnrctl status 命令有如下输出结果
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for Linux: Version Production
Start Date JAN ::
Uptime days hr min sec
就说明监听器正在运行否则说明监听器已经停止了CAMS 系统的后台程序的正常运行不仅依赖于数据库实例的运行还依赖于这个数据库监听器的运行假如监听器没有启动即使数据库已经启动CAMS 后台程序仍然不能正常工作
如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一个IPC 协议地址的监听是为了外部进程调用用的在数据库安装时自动设定不需要改动
在监听文件后部还有一个 SID_LIST_LISTENER 段该段用于定义监听器的服务即为哪些数据库实例提供监听服务以 cams 实例为例其对应的服务信息为
(SID_DESC =
(GLOBAL_DBNAME = cams) #数据库名
(ORACLE_HOME = /u/app/oracle/product/)
(SID_NAME = cams) #数据库实例名
)
sqlnetora 文件
sqlnetora 文件的存放路径为 $ORACLE_HOME/network/admin 以下是一
个示例
NAMESDEFAULT_DOMAIN = localdomain
NAMESDIRECTORY_PATH= (TNSNAMES ONAMES HOSTNAME)
& 说明
NAMESDEFAULT_DOMAIN 指定网络域名NAMESDIRECTORY_PATH指定当解析客户端连接标识符时命名方法naming metthods 采用的优先顺序从左至右递减在 CAMS 应用中这两个参数采用上述所示的系统缺省值
tnsnamesora 文件
tnsnamesora 文件的存放路径为 $ORACLE_HOME/network/admin 以下
是一个示例
OIDLOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhostlocaldomain)(PORT =
))
)
(CONNECT_DATA =
(SERVICE_NAME = oid)
)
)
CAMSLOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhostlocaldomain)(PORT =
))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
INST_HTTPLOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhostlocaldomain)(PORT =
))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION =//admin)
)
)
EXTPROC_CONNECTION_DATALOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
& 说明
tnsnamesora 文件中定义一个或多个网络服务 net servicecams 实例对应的网络服务为
CAMSLOCALDOMAIN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = localhostlocaldomain)
(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = cams)
)
)
注意 这里 ADDRESS项包含三个子参数
PROTOCOL 默认协议TCP
HOST :ip地址
PORT端口默认
CAMSLOCALDOMAIN为数据名
要确保在监听文件中也有对应的一个ADDRESS 项也包含同样的三个子参数并且子参数的值对应都相等 另外这里 SERVICE_NAME 的值必需确保与监听文件中某SID_DESC项下的SID_NAME参数的值相等