在Oracle数据库9i以后,默认情况下都采用spfile(一个二进制的文件),这个二进制的文件是由create spfile from pfile='init.ora'生成,此处的的init.ora可以是别的名称,也可以根据自己的需要使用.ora的文件路径。
参数查看:
Oracle实例生效的参数,可以在sqlplus命令模式下,用如下sql从v$parameter或者v$parameter2中查询得到:
select * from v$parameter a
where a.NAME='instance_name';
select * from v$parameter2 a
where a.NAME='instance_name';
这样系统的一些参数可以用alter system set parameter=value这样的命令来修改,但是一些参数使用这个命令还是不能修改,如参数optimizer_mode;所以还是只能采用修改配置文件的办法,然后重新启动数据库来实现,使新修改的参数生效.
由于需要在磁盘上创建文件,设计到os的权限问题,所以下面的操作必须在Oracle安装用户下进行,否则很容易出现一些权限错误。
第1步.从spfile生成pfile.ora
在sqlplus命令模式下,执行如下命令;
create pfile='chenl_pfile.ora' from spfile;
这时会在$ORACLE_HOME/dbs目录下生成一个chenl_pfile.ora文本文件
第2步.修改文本文件chenl_pfile.ora
使用vi等文本工具
第3步.停止数据库实例
在sqlplus命令模式下,执行shutdown immediate停止数据库实例
第4步.从pfile生成spfile
在sqlplus命令模式下,执行下面的命令;
create spfile from pfile='chenl_pfile.ora';
记住,该命令必须在数据库实例被关闭后才能正确执行
第5步.启动实例
在sqlplus命令模式下,执行startup,启动数据库实例;
这时,sqlplus命令模式下执行如下sql:
select * from v$parameter a
where a.NAME='optimizer_mode';