SPFILE储存在服务端,它不能自行修改(从而克服了PFILE的一些安全性隐患),如果使用文本编辑器查看SPFILE会发现这是个二进制文件,需要使用SQL命令,由Oracle Server进行管理,使用SQL命令修改的值会永久的保存起来。Oracle的备份恢复工具RMAN可以备份SPFILE。[oracle@localhost ~]$ sqlplus/nolog SQL> conn / as sysdbaSQL> create spfile frompfile; [oracle@localhost dbs]$ llSQL> startup=============查看SPFILE=============由于SPFILE是个二进制文件,故不能使用文本编辑器查看,因此在Linux的命令行中使用strings命令来查看这个文件:[oracle@localhost dbs]$strings spfileorcl.ora | moreSPFILE不能使用文本编辑器手动修改,必须使用SQL命令来修改,其格式为:ALTER system set parameter=value 表示给某个参数加注释,便于以后查看表示等下次启动实例再生效手动修改了PFILE后,通常不能马上生效,必须等下次启动Instance才能生效;而SPFILE是Oracle内置的二进制文件,通过指定,就能够明确现在修改的参数值是作用于内存中让其马上生效,还是将其保存到磁盘上的SPFILE文件上,亦或是二者同时修改,默认情况下是二者同时修改,既作用于内存中立刻生效,也保存到磁盘文件上。通常情况下一个实例(Instance)对应一个数据库,但在RAC(大规模的集群数据库)环境中,通常是多个实例对应一个数据库,因此就需要指定的值来区分具体的实例。使用strings命令查看SPFILE,会发现很多文件前面都有一个*,它表示这个参数适用于所有的Instance;而没有带*号的,就需要指定SID,如orcl.__db_cache_size=96468992中,orcl就是SID。/*=========免费云主机域名=修改SPFILE实例演示============*/[oracle@localhost dbs]$strings spfileorcl.ora | less/*=== 现在来修改SPFILE的值 ===*/SQL> show parameter fast_SQL> alter system setfast_start_mttr_target=250; SQL> show parameter fast_ [oracle@localhost dbs]$strings spfileorcl.ora | more/*===========再来看加了scope的情况=============*/SQL> alter system setfast_start_mttr_target=260 scope=memory; SQL> show parameter fast_[oracle@localhost dbs]$strings spfileorcl.ora | more/*=================修改SPFILE时加注解==================*/SQL> alter system set fast_start_mttr_target=260comment=’hello Mickey!’; SQL> desc v$parameter;SQL> select name, value,update_comment[oracle@localhost dbs]$strings spfileorcl.ora | more有些参数必须延迟生效,这就需要在修改时加上deferred选项,在参数表v$parameter中ISINSTANCE_MODIFIABLE项中如果标注为deferred,就需要延迟生效SQL> col name format a20SQL> col issys_modifiableformat a20SQL> select name,issys_modifiable 更多ALERT 的使用细节,可以查看联机文档reference中有关ALTER SYSTEM的相关章节。如果不想要修改后的值,可以使用reset命令来恢复为缺省值SQL> show parameter undoSQL> alter system setundo_retention=800;SQL> show parameter undoSQL> alter system resetundo_retention sid=’*’; System altered.更多关于reset的细节,可以查询联机文档reference。可以用spfile来创建pfile:SQL> create pfile fromspfile; [oracle@localhost dbs]$ ll
相关推荐: oracle大数据量分批删除
免费云主机域名 很多时候,我们要清理一个大表的数据,比如几个亿,业务还不能停,还只能delete,这种情况下分批删除是个好办法。 清理表之后,重新收集下该表的统计信息 相关推荐: 数据库中tmstamp monitor的示例代码这篇文章主要介绍了数据库中tms…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。