Chinaunix首页 | 论坛 | 博客
  • 博客访问: 788177
  • 博文数量: 434
  • 博客积分: 11187
  • 博客等级: 上将
  • 技术积分: 5221
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 01:00
文章分类

全部博文(434)

文章存档

2016年(2)

2013年(1)

2012年(115)

2011年(195)

2010年(32)

2009年(89)

分类: Oracle

2010-12-02 14:28:56

oracle数据库的两种初始化参数文件:
文件:initsid.ora  spfilesid.ora
路径:$ORACLE_HOME/dbs

纯文本参数文件和二进制参数文件的差别:
1.修改参数的方式不同:initsid.ora修改参数的时候直接编辑文件,再保存就可以了。spfilesid.ora必须使用命令更改。
2.优先级不同
3.是否动态存储修改的参数
4.存在的位置不同
      纯文本可以存在客户端
      二进制文件一定存在于server端
5.rman可以备份二进制参数文件,不能备份存文本参数文件。

验证数据库正在使用的参数类型:
select distinct ISSPECIFIED from v$spparameter;
如果含有true 就是使用二进制参数文件
如果只有false就是使用的纯参数文件


SQL> select ISSPECIFIED,count(*) from v$spparameter group by ISSPECIFIED;

ISSPEC   COUNT(*)
------ ----------
TRUE           23
FALSE         237
上面的查询表示有23个参数存在与二进制参数文件,237个参数为默认值。

两类参数文件的相互互换:
SQL>create pfile from spfile;
SQL>create spfile from pfile;
上面的命令在连接的sys就可以使用,而不必启动数据库。

参数文件的优先级:
spfilesid.ora
spfile.ora
initsid.ora

查询二进制参数文件的参数设置:
SQL> select name,value from v$spparameter where ISSPECIFIED='TRUE';

修改参数有三个选项:
SQL> show parameter pga_aggregate_target;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target                 big integer 77M

SQL> alter system set pga_aggregate_target=80m scope=memory;
System altered.
只修改内存的值,不改变参数文件的设置,下回再次启动数据库时值还是旧的,能修改的前提是该参数可以动态修改,如果是静态参数只能使用下面的方法。

SQL> alter system set pga_aggregate_target=85m scope=spfile;
System altered.
只修改二进制文件,而不修改内存,静态参数只能先改文件再重启数据库。

SQL> alter system set pga_aggregate_target=78m scope=both;
System altered.
同时修改二进制文件和内存,该参数必须是可以动态修改的。

SQL> alter system set pga_aggregate_target=77m;
System altered.
如果没有指明修改哪里,默认为参数文件和内存同时修改,默认是both。



阅读(823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~