数据库中的参数文件通常称为“初始文件”,记录了存储数据库的参数设置。如果没有参数文件便无法启动一个
Oracle
数据库,所以参数文件相当重要。
参数文件可以分为两类:
init.ora
和
SPFILE
1.
Init.ora
参数文件从结构来讲是一个相当简单的文件,这是一系列可变的键
/
值对。
以下便是一个简单的
init.ora
文件示例:
Db_name = “ora9ir 2”
Db_block_size = 8192
Control_files = (“D:\oradata\control01.ctl”,”D:\oradata\control02.ctl”)
键值对的查询方法:
1、
select value from v$parameter where name=’pga_aggregate_target’;
2、
show parameter pga_agg; //
此命令可以默认使用通配符,简省了输入。
参数文件的命名规则:
init%oracle_sid%.ora
参数文件所在的默认目录:
..\database\...
如果要想修改数据库系统信息成为默认值必须对
init.ora
文件进行手动更新(一般远程操作服务器时参数文件会留在本地,一定要将参数文件放到服务器上去才能生效。)
虽然通过这样的手动更新可以对参数文件进行维护,但是如果有多人同时修改或者使用
OEM
(
Oracle
企业管理器)之类的工具还会再增加一个参数文件,这就会使情况更加混乱,虽然可以用“管理服务器”这样的机器来统一集中,但是有的时候从数据库服务器上的
SQL*Plus
发出启动命令,就会有多个参数文件,一个在管理服务器上,一个在数据库服务器上。二者都互相不同步。于是就会出现自已修改的一些参数“不见了”,但不久后又会出现的事情。由此便又引出了服务器参数文件(
SPFILE
),如今这可以作为得到数据库参数设置的惟一信息来源。
SPFILE
的优点:
1、
杜绝参数文件的繁殖(他只能放在服务器上)
2、
无需在数据库之外使用文本编辑器手动维护参数文件(事实上也不能这样做,因为
SPFILE
用的是二进制形式存储信息),我们可以通过
alter system
命令来对此进行修改。
init.ora
向
SPFILE
的转换:
先确定
init.ora
文件位置放对,然后执行命令:
create spfile from pfile
再重启服务器实例(
startup force
)即可
,
然后便可通过命令查看
SPFILE
文件了。(
show parameter spfile
)
SPFILE
文件的修改:
Alter system set parameter = value <deferred> <scope = memory|spfile|both> <sid = ‘sid | *’>
Memory
:只在实例中修改,数据库重启后将不再保留。
SPFILE
:只修改
SPFILE
中的值,重启前不会生效。
BOTH
:(默认值)显然指的是以上两者兼顾的功能。
Comment
:指定何时以及为什么执行某个修改(即是添加备注)。
Ex:
Alter system set pga_aggregate_target= 1024M comment =’changed 01-Jul-2007 as per recommon dation of yofee’;
查看:
Select value,update_comment from v$parameter where name=’pga_aggregate_target’;
取消
SPFILE
中的值设置方法:
Alter system reset sort_area_size scope=spfile sid=’*’; //
此时的
sid=’*’
是必写的。
SPFILE
文件的查看:
Create pfile = ‘/tmp/pfile.tst’ from spfile;
修正被破坏的
spfile
文件:
用
strings
命令提取出所有设置:
Strings spfile $oracle_sid.ora