1. 概述
1) 与实例相关的文件包括:
参数文件(parameter file):告诉oracle实例在哪里可以找到控制文件,并且指定某些初始化参数(这些参数定义了某种内存结构有多大等设置)。
跟踪文件(trace file):一个服务器进程对某种异常错误条件做出响应时创建的诊断文件。
警告文件(alert file):与跟踪文件类似,但包含“期望”事件的有关信息,并通过一个集中式文件(其中包括多个数据库事件)警告DBA。
2) 与数据库相关的文件包括:
数据文件(data file):包括数据表、索引和所有其他段。
临时文件(temp file):用于完成基于磁盘的排序和临时存储。
控制文件(control file):指出数据文件、临时文件和重做日志文件在哪里,并指出与文件状态有关的其他元数据。
重做日志文件(redo log file):事务日志。
密码文件(password file):用于对通过网络完成管理活动的用户进行认证。
修改跟踪文件、闪回日志文件、转储文件、数据泵文件、平面文件。
2. 参数文件
1) 参数文件有很多种,如客户工作站上的tnsnames.ora文件(用于查找网络上的一个服务器),服务器上的listener.ora文件(用于启动网络监听器)等等,但最重要的参数文件是数据库的参数文件:初始文件(init file)或init.ora文件;服务器参数文件(server parameter file)或简称为SPFILE。
2) 数据库参数实际上就是一个"键/值"对。要得到一个实例参数的当前值,可以查询视图V$PARAMETER或使用SHOW PARAMETER命令。
例: SELECT value FROM v$parameter
WHERE name = 'pga_aggregate_target';
或 SHOW PARAMETER pga_agg --该命令会自动完成通配(如在pga_agg的两端自动加上%,变为%pga_agg%)
3) 遗留的init.ora参数文件
1. 参数文件不必放在特定的位置上,启动一个实例时,可以在启动命令上使用pfile=filename选项。
2. ALTER SYSTEM命令改变SGA组建的大小时,并不会作为一个永久修改反映到init.ora文件中,如果希望是永久的,则必须确保可能用于启动数据库的所有的init.ora参数文件都得到手动地更新。
3. 遗留的参数文件不一定位于数据库服务器上,init.ora参数文件必须放在启动数据库的客户机上(这会导致这些参数文件大面积繁殖)。
4) 服务器参数文件(SPFILE)
1. 相比于init.ora文件,具有如下优点:
1. 可以杜绝参数文件的繁殖(SPFILE总是存储在数据库服务器上,必须存在于服务器主机本身,不能放在客户机上。)
2. 无需在数据库之外使用文本编辑器手动地维护参数文件(实际上是不能手动的维护),ALTER SYSTEM命令可以直接将值写入SPFILE。管理员不必再手动地查找和维护所有参数文件。
2. 转换为SPFILE
假设使用一个init.ora参数文件,且该文件确实在服务器的默认位置上,则可使用CREATE SPFILE命令将其转换为SPFILE,并重启服务器就行了。
例: CREATE spfile FROM pfile;
startup force;
注:在集群环境中,为了从使用各个PFILE转换为所有实例都共享一个公共的SPFILE,需要把各个PFILE合并为一个特定格式的PFILE文件,格式为:集群中所有实例共享的参数设置都以*开头,单个实例特有的参数设置都以实例名(ORACLE_SID)为前缀。
3. 设置SPFILE的参数值
1. SPFILE是二进制文件,不能用文本编辑器编辑。
2. 使用ALTER SYSTEM命令修改,语法如下:
Alter system set parameter=value
注: 1. comment='text'是一个可选注释,该注释会出现在V$PARAMETER视图的UPDATE_COMMENT字段中。
2. deferred指定系统修改是否只对以后的会话生效(对当前建立的会话无效,包括执行此修改的会话)。默认情况下,ALTER SYSTEM命令会立即生效,但有些参数不能立即修改,只能为新建立的会话修改这些参数。
3. SCOPE=MEMORY|SPFILE|BOTH指示了参数设置的作用域:SCOPE=MEMORY只在实例中修改,数据库重启后不再保存(下一次重启数据库时,设置还是修改前的样子);SCOPE=SPFILE只修改SPFILE中的值,数据库重启并再次处理SPFILE之前,这个修改不会生效;SCOPE=BOTH是指内存和SPFILE都会完成修改,这个修改将反映在当前实例中,下一次重启时,这个修改也会生效。(使用SPFILE时默认的作用域,若使用init.ora参数文件,默认则为SCOPE=MEMORY,这也是唯一合法值)。sid='sid | *'主要用于集群环境,默认为sid=’*'。
4. 取消SPFILE中的值设置
Alter system reset parameter sid='sid | *'
注:sid=部分不再可选,在非RAC环境中,可以为这个子句指定sid='*'。
5. 从SPFILE创建PFILE
例:create pfile='init_orcl.org' from spfile;
6. 如果SPFILE丢失了,可以从数据库的警告日志恢复参数文件的信息。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17014649/viewspace-605088/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17014649/viewspace-605088/