《课程笔记 | Oracle DBA武林秘籍》5- Oracle 参数文件使用大全
场景1:单实例(Linux/Unix)下,参数设置失败导致无法nomount
创建临时pfile,修改正确参数启动。
create pfile='/tmp/pfile_202010417.ora' from spfile;
场景2:单实例(Windows)下,参数设置失败导致无法nomount
由于Windows平台下,如果因为参数问题导致无法启动服务,使用SQLPLUS工具时,可能会遇到"ORA-12560: TNS: 协议适配器错误"错误。
在这种情况下,可以用记事本编辑一个pfilecjc.ora参数文件,包含如下两行:
SPFILE='/oracle/db/product/10.2.0/dbs/spfilecjc.ora' 参数名=‘参数值’
因为数据库在读取参数值时,如果设置了多个相同的参数,会以最后读取的参数值为准。
第一行指向 SPFILE,第二行修正了出错的参数,给一个正确的值。这个值在实例启动时会覆盖之前错误的设置,就可以使用这个文件启动数据库实例了。
场景3:11g RAC下,参数设置失败导致无法nomount
create pfile='/tmp/pfile_202010417.ora' from spfile='+CJC_DATA/XXX/spfilecjc.ora';
create spfile='+CJC_DATA' from pfile='/tmp/pfile_202010417.ora';
srvctl modify database -d cjcdb -p '+DATA/cjcdb/spfile/spfilecjcdb.ora'
场景4:reset参数
有的参数修改,在RAC架构下,需要两个节点同时重启生效,例如db_recovery_file_dest_size、_gc_undo_affinity、_gc_policy_time等;
有的参数可以分节点单独重启生效,例如process等;
在可以分节点重启生效的参数修改时,如果第一个节点参数设置有问题,重启节点1实例启动失败,这时可以在节点2手动将参数改回原来或正确的值,在启动节点1即可。
有时也可以重置spfile中设置的参数。
当我们想恢复某个参数为缺省值时,可以使用如下命令:
alter system reset parameter <scope=memory|spfile|both> sid=’sid|*’
相当于在spfile中删除此参数,再次启动实例时会以默认值启动。
场景5:参数文件丢失,且数据库在启动状态(from memory)
从 Oracle 11g 开始,为了增强参数文件的恢复,一个新的命令被引入用于从当前运行实例:
create <spfile|pfile> from memory;
这一增强简化了我们在某些条件下的参数文件恢复,感兴趣可以跟踪下递归命令。
SQL> alter session set sql_trace=true;
SQL> create spfile='/tmp/spfilecjc.ora' from memory;
场景6:参数文件丢失,且数据库在启动状态(v$parameter)
生成创建参数文件的文本
set linesize 120
set pagesize 1000
set heading off
set feedback off
spool /tmp/initcjc_tmp.ora
select '*.'||name||' = ' || value from v$parameter where isdefault = 'FALSE';
spool off
场景7:查询参数
--查看隐含参数
select a.ksppinm name, b.ksppstvl value, a.ksppdesc description
from x$ksppi a, x$ksppcv b
where a.indx = b.indx
and a.ksppinm like '_undo_autotune';
--查看是否是默认参数
select * from v$parameter where isdefault='TRUE';
--查看静态参数
set line 300
set pagesize 1000
col num for 999999
col name for a65
select num,name from v$parameter where ISSYS_MODIFIABLE='FALSE' ORDER by num;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




