Chinaunix首页 | 论坛 | 博客
  • 博客访问: 423282
  • 博文数量: 119
  • 博客积分: 5221
  • 博客等级: 大校
  • 技术积分: 972
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-04 08:57
文章分类

全部博文(119)

文章存档

2011年(13)

2010年(21)

2009年(19)

2008年(66)

我的朋友

分类: Oracle

2008-05-20 11:23:52

Oracle在9i之前初始化参数文件只有一种,那就是pfile,一般格式是init$ORACLE_SID.ora(这是一个文本文件,可以直接使用vi修改),9i版本的推出,增加了

spfile,spfile的命名格式一般为spfile$ORACLE_SID.ora(二进制文件,不能使用vi进行修改,甚至还需要strings命令才能查看内容)。引进spfile,是为了能

够动态修改oracle的参数(不必重启数据库,修改即生效)。所以在9i之后,oracle启动时,如果不指定参数文件,那么oracle会自动按照如下顺序搜索参数文件

:spfile-->pfile-->init.ora。如果三个文件都损坏或者找不到,那么oracle将报错,且无法启动。spfile的引进,的确给oracle dba们带来了很多方便,毕竟在

很多重要系统中是不允许轻易停库操作的。究竟哪些参数可以动态修改呢?我们可以查找数据字典$parameter得出。使用select name,issys_modifiable from

v$parameter;(注意:不同版本的oracle查到的结果会是不一样的)可以查出所有参数的信息,其中issys_modifiable一项说明是否可以动态修改,如果这个属性值为“immediate”,即可以动态生效,如果为“false

”,那么必须修改pfile,重启数据库了。
修改动态参数的一般方法是:
alter system set parameter_name=value scope=both|spfile;
修改静态参数的一般方法是:
在数据库启动时:SQL>create pfile from spfile;
关闭数据库:SQL>shutdown immediate
vi pfile
在文件中修改参数值
cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora
SQL>startup pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora'
正常启动后,创建spfile:SQL>create spfile from pfile;
下次启动的时候,直接用startup就可以读取到新spfile的参数值了。

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