‘壹’ oracle 数据库的配置文件有哪些
Oracle 主要配置文件: profile文件,oratab 文件,数据库实例初始化文件 initSID.ora,监听配置文件, sqlnet.ora 文件,tnsnames.ora 文件 1.2 Oracle 主要配置文件介绍 1.2.1 /etc/profile 文件 系统级的环境变量一般在/etc/profile 文件中定义 在 CAMS 系统 与数据库相关的环境变量就定义在/etc/profile 文件中 如下所示 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/proct/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 1.2.2 /etc/oratab 文件 /etc/oratab 文件描述目前系统中创建的数据库实例 以及是否通过 dbstart 和dbshut 来控制该实例的启动与关闭 如下所示 忽略以#开头的注释部分 : cams:/u01/app/oracle/proct/8.1.7:Y 其中cams 为实例 ID /u01/app/oracle/proct/8.1.7为 ORACLE_HOME目录 Y表示允许使用 dbstart和 dbshut 启动和关闭该实例数据库 如果设置为N 表示不通过 dbstart 和 dbshut 启动和关闭实例数据库 CAMS 系统要求在安装完 ORACLE 后要求将该参数修改为 Y 以保证 ORACLE 数据库自启动和关闭 1.2.3 数据库实例初始化文件 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_mp_dest 指定记录 Oracle 用户进程产生的追踪和告警信息的文件的存放路径 background_mp_dest 指定记录 Oracle 后台进程产生的追踪和告警信息的文件的存放路径 core_mp_dest指定Oracle运行所产生的coremp信息的文件的存放路径. background_mp_dest = /u02/app/oracle/admin/cams/bmp core_mp_dest = /u02/app/oracle/admin/cams/cmp user_mp_dest = /u02/app/oracle/admin/cams/ump 6 UTL_FILE_DIR 参数 UTL_FILE_DIR = * UTL_FILE_DIR 参数指定一个或多个目录用于 Oracle 应用的文件 I/O 如备份数据到文件 在 CAMS 系统中将该值设置为 * 表示可供 Oracle 应用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数据存放到任意目录下 1.2.4 监听配置文件 为了使得外部进程 如 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 = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 1521)) ) ) (DESCRIPTION = (PROTOCOL_STACK = (divSENTATION = GIOP) (SESSION = RAW) ) (ADDRESS = (PROTOCOL = TCP) (HOST = localhost.localdomain) (PORT = 2481)) ) ) SID_LIST_LISTENER = #命名规则 SID_LIST_+上面定义的监听器名称 (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc1) (ORACLE_HOME = /u01/app/oracle/proct/8.1.7) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = cams) (ORACLE_HOME = /u01/app/oracle/proct/8.1.7) (SID_NAME = cams) ) (SID_DESC = (GLOBAL_DBNAME = oid) (ORACLE_HOME = /u01/app/oracle/proct/8.1.7) (SID_NAME = oid) ) ) 说明 1 listener.ora 文件中定义一个监听器 其缺省的名称为 LISTENER这个监听器缺省以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 - Proction 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/proct/8.1.7) (SID_NAME = cams) #数据库实例名 ) 1.2.5 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 应用中, 这两个参数采用上述所示的系统缺省值 1.2.6 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参数的值相等