在spfile中删除系统参数
2015-07-29 12:24
483 查看
一般想要不设置某个系统参数,会选择把系统参数设置为null值或空值,但是这样设置后,其实参数还是存在于spfile中的。当然,如果导出成pfile,再用pfile重起数据库后重新创建spfile显然是一个拿掉系统参数的办法。但我这里要介绍的是一种在线删除的办法。
以下这个数据库以前做过DG主库,先看一下spfile中的内容:
[oracle@ora11g~]$ cd /oracle/app/oracle/product/11.2.0/dbhome_1/dbs/
[oracle@ora11gdbs]$ strings spfileORA11G.ora
…略
*.db_name='ORA11G'
*.db_recovery_file_dest='/oracle/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.db_unique_name='ORA11G'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=ORA11GXDB)'
*.fal_client='ORA11G'
*.fal_server='RAC11G'
*.log
_archive_dest_1='LOCATION=/oracle/app/oradata/ORA11G/arch'
*.log_archive_dest_2='SERVICE=RAC11GVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=RAC11G'
*.memory_target=1920991232
*.open_cursors=300
*.processes=1500
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=1655
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
现在DG被我撤了,其中红颜色的参数我不想要了,那么先来试下设置为空值或null值:
SQL>alter system set fal_client='' scope=spfile;
Systemaltered.
SQL>alter system set fal_server=null scope=spfile;
Systemaltered.
检查下spfile发现还有记录
[oracle@ora11g~]$ strings spfileORA11G.ora
…略
*.fal_client=''
*.fal_server='NULL'
重启后用show parameter看也是如此
SQL>show parameter fal
NAME TYPE VALUE
----------------------------------------------- ------------------------------
fal_client string
fal_server string NULL
现在用alter system reset 命令删除spfile中的系统参数:
SQL>alter system reset fal_client scope=spfile;
Systemaltered.
SQL>alter system reset fal_server scope=spfile;
Systemaltered.
SQL>alter system reset log_archive_dest_2 scope=spfile;
Systemaltered.
SQL>alter system reset standby_file_management scope=spfile;
Systemaltered.
检查下spfile中的内容,这几个参数已经没有了。不过要误会,这里的删除只是在spfile中删除,用show parameter还是能看到的。
[oracle@ora11gdbs]$ strings spfileORA11G.ora
…略
*.db_name='ORA11G'
*.db_recovery_file_dest='/oracle/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.db_unique_name='ORA11G'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=ORA11GXDB)'
*.log_archive_dest_1='LOCATION=/oracle/app/oradata/ORA11G/arch'
*.memory_target=1920991232
*.open_cursors=300
*.processes=1500
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=1655
*.undo_tablespace='UNDOTBS1'
*.utl_file_dir='/oracle/expdp'
再说下alter system reset
这个命令只能删除spfile中的参数,如果spfile中没指定的参数,就会报参数找不到的错。对于不存在于spfile中的参数,只要置成空就可以了。
SQL>show parameter sort_area_size
NAME TYPE VALUE
----------------------------------------------- ------------------------------
sort_area_size integer 65536
SQL>alter system reset sort_area_size scope=spfile;
altersystem reset sort_area_size scope=spfile
*
ERROR at line 1:
ORA-32010: cannot find entry to delete in SPFILE
相关文章推荐
- Swift开发教程--如何对字符串进行md5加密
- Shell脚本查看apk签名信息
- hdu 2393(Higher Math)
- svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决
- Android Eclipse NoClassDefFoundError
- Virtual Friends(并查集+map)
- 解决This function or variable may be unsafe
- 去除inline-block元素间间距的N种方法
- myeclipse打开空间失败 servers不能查开
- ios 获取屏幕的属性和宽度
- sublime text 安装Package Control
- Ajax工作原理 -- 链接
- php基础知识
- leetcode-168-Excel Sheet Column Title
- poj 1273 裸 网络流 (dinic)
- 赵光建-昨晚梦见他了
- php实现XSS安全过滤的方法
- Linux 系统启动流程详解
- 图数据结构(期限、存储结构、遍历)
- 解决浏览器缓存