Oracle11G数据库关于spfile的小小改进


数据库环境:Oracle 11G

功能spfile的改进

在11G中,Oracle为保护spfile也做了一些小小的改进,例如,在运行时,spfile无法中被删除时,可以从memory中直接读出所有参数的值模拟spfile被删除

[Oracle@rac2 dbs]$ rm spfileorcl.ora

尝试修改参数,Oracle会报错
SQL> alter system set sga_max_size=317M scope=spfile;
alter system set sga_max_size=317M scope=spfile
*
ERROR at line 1:
ORA-01565: error in identifying file '/opt/u01/app/Oracle/11G/dbs/spfile.ora'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

使用以下命令创建一个新的spfile,但由于spfile正被Oracle使用,而运行时中Oracle并不实时

去监控spfile是否存在,因此需要为新的spfile指定一个新的名字。如spfile.ora

SQL> create spfile from memory;
create spfile from memory
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance
SQL> create spfile='/opt/u01/app/Oracle/11G/dbs/spfile.ora' from memory;
File created.

需要注意的是,这个命令读出的是当前内存中的值,当然也可以使用这个方式来,备份当前的spfile.可以看出Oracle越来越方便。

相关内容