Spfile & pfile 切换 ---- (顺便研究一下control file 的设置)
2011-04-12 14:28
399 查看
闲来无事,看了篇帖子,拿来试验下。废话少说开始:
1,spfile缺省目录:
--unix下:$oracle_home/dbs/
--NT下:%oracle_home%/database
2,spfile的搜索顺序:
1)spfile<oracle_sid>.ora,
2)spfile.ora,
3)init<oracle_sid>.ora,
创建了spfile,重新启动数据库,oracle会按顺序搜索以上目录,spfile就会自动生效。
3,在widows系统下,虽然创建数据库时,默认会将spfile创建到%oracle_home%/dbs/目录下,但这个目录不是缺省目录。如果spfile发生变化后,也不会再到此目录下查找了,还是会到spfile缺省目录下查找spfile。
(我就是被这一点给搞糊涂了,总以为oracle会到%oracle_home%/dbs/目录下去找spfile,所以将生成的spfile也放到此目录下了。然后删除pfile,启动DB时报错,找不到pfile……)
4,当我们用命令由spfile创建pfile,或者由pfile创建spfile时,新的文件也会生成到缺省目录下。
明确了以上问题,数据库使用pfile和spfile的转换也就很容易了。
1,如果当前使用的是spfile,使用命令创建pfile,然后删除或更名缺省目录下的spfile,然后重新启动,数据库就会默认使用pfile启动。
2,如果当前使用的是pfile,使用命令创建spfile,然后删除或更名缺省目录下的pfile,然后重新启动,数据库就会默认使用spfile启动。
验证由SPFILE - > PFILE
验证由PFILE 中更改CONTROL FILE 参数路径
验证由PFILE -> SPFILE
OK 验证完毕,喝杯茶休息下。
1,spfile缺省目录:
--unix下:$oracle_home/dbs/
--NT下:%oracle_home%/database
2,spfile的搜索顺序:
1)spfile<oracle_sid>.ora,
2)spfile.ora,
3)init<oracle_sid>.ora,
创建了spfile,重新启动数据库,oracle会按顺序搜索以上目录,spfile就会自动生效。
3,在widows系统下,虽然创建数据库时,默认会将spfile创建到%oracle_home%/dbs/目录下,但这个目录不是缺省目录。如果spfile发生变化后,也不会再到此目录下查找了,还是会到spfile缺省目录下查找spfile。
(我就是被这一点给搞糊涂了,总以为oracle会到%oracle_home%/dbs/目录下去找spfile,所以将生成的spfile也放到此目录下了。然后删除pfile,启动DB时报错,找不到pfile……)
4,当我们用命令由spfile创建pfile,或者由pfile创建spfile时,新的文件也会生成到缺省目录下。
明确了以上问题,数据库使用pfile和spfile的转换也就很容易了。
1,如果当前使用的是spfile,使用命令创建pfile,然后删除或更名缺省目录下的spfile,然后重新启动,数据库就会默认使用pfile启动。
2,如果当前使用的是pfile,使用命令创建spfile,然后删除或更名缺省目录下的pfile,然后重新启动,数据库就会默认使用spfile启动。
验证由SPFILE - > PFILE
$ sqlplus /nolog SQL*Plus: Release 9.2.0.5.0 - Production on Tue Apr 12 13:37:56 2011 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn sys/sys as sysdba Connected. SQL> show parameter spfile; //查看当前用的是spfile,如下 NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string ?/dbs/spfile@.ora SQL> shutdown abort; ORACLE instance shut down. $ pwd //验证路径 /home/ora_test/karldb/dbs $ ls initkarl.ora lkKARL spfilekarl.ora tmp initkarl.ora.bck orapwkarl spfilekarl.ora.bck $ rm spfilekarl.ora SQL> startup nomount; ORACLE instance started. Total System Global Area 320309728 bytes Fixed Size 731616 bytes Variable Size 285212672 bytes Database Buffers 33554432 bytes Redo Buffers 811008 bytes SQL> show parameter spfile; //发现已经没有VALUE,则当前使用PFILE NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ spfile string 验证成功!
验证由PFILE 中更改CONTROL FILE 参数路径
]$ ls initkarl.ora lkKARL spfilekarl.ora tmp initkarl.ora.bck orapwkarl spfilekarl.ora.bck $ rm spfilekarl.ora //删除SPFILE,然后重启DB,看使用的是什么 $ pwd /home/ora_test/karldb/dbs $ ls initkarl.ora lkKARL spfilekarl.ora.bck initkarl.ora.bck orapwkarl tmp SQL> startup nomount; ORACLE instance started. Total System Global Area 320309728 bytes Fixed Size 731616 bytes Variable Size 285212672 bytes Database Buffers 33554432 bytes Redo Buffers 811008 bytes SQL> show parameter spfile; //发现没有VALUE值,说明当前使用的是PFILE NAME TYPE ------------------------------------ --------------------------------- VALUE ------------------------------ spfile string SQL> alter database mount; //进一步验证。到MOUNT状态看controlFILE位置。 Database altered. SQL> select * from v$controlfile; STATUS ------- NAME -------------------------------------------------------------------------------- /home/ora_test/oradata/karl/control01.ctl /home/ora_test/oradata/karl/control02.ctl /home/ora_test/oradata/karl/control03.ctl //关闭DB,修改pfile 的control file 参数路径,重复以上步骤,看最后controlfile是否更改,进一步验证使用的是当前的pfile文件。 //添加control_files参数 新路径'/home/ora_test/oradata_bck/control.ctl.bck' //此时仍然没有SPIFLE SQL> startup mount; ORACLE instance started. Total System Global Area 320309728 bytes Fixed Size 731616 bytes Variable Size 285212672 bytes Database Buffers 33554432 bytes Redo Buffers 811008 bytes ORA-00214: controlfile '/home/ora_test/oradata/karl/control01.ctl' version 21373 inconsistent with file '/home/ora_test/oradata_bck/control.ctl.bck' version 21365 //不一致嘛。21373 inconsistent 重新一份就OK。 SQL> startup mount; ORACLE instance started. Total System Global Area 320309728 bytes Fixed Size 731616 bytes Variable Size 285212672 bytes Database Buffers 33554432 bytes Redo Buffers 811008 bytes Database mounted. //顺利到MOUNT状态。 SQL> select * from v$controlfile; STATUS ------- NAME -------------------------------------------------------------------------------- /home/ora_test/oradata/karl/control01.ctl /home/ora_test/oradata/karl/control02.ctl /home/ora_test/oradata/karl/control03.ctl STATUS ------- NAME -------------------------------------------------------------------------------- /home/ora_test/oradata_bck/control.ctl.bck //验证成功。
验证由PFILE -> SPFILE
SQL> startup nomount; ORACLE instance started. Total System Global Area 320309728 bytes Fixed Size 731616 bytes Variable Size 285212672 bytes Database Buffers 33554432 bytes Redo Buffers 811008 bytes SQL> create spfile from pfile; //创建SPFILE File created. $ ls initkarl.ora lkKARL spfilekarl.ora //发现产生SPFILE initkarl.ora.bck orapwkarl SQL> shutdown immediate; SQL> startup open; //重启嘛 ORACLE instance started. SQL> show parameter spfile; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ spfile string ?/dbs/spfile@.ora //切换SPIFLE成功 //验证内容 SQL> select * from v$controlfile; STATUS ------- NAME -------------------------------------------------------------------------------- /home/ora_test/oradata/karl/control01.ctl /home/ora_test/oradata/karl/control02.ctl /home/ora_test/oradata/karl/control03.ctl STATUS ------- NAME -------------------------------------------------------------------------------- /home/ora_test/oradata_bck/control.ctl.bck //有新添加的该文件路径,说明SPFILE已更新。
OK 验证完毕,喝杯茶休息下。
相关文章推荐
- file_get_contents & curl mark一下
- 当spfile、pfile以及init.ora文件丢失时,根据alert_log日志警告文件去创建spfile和pfile文件
- oracle spfile&pfile 的作用 .
- IE,FF客户端浏览器缓存机制 && 服务器设置的expires, Cache-Control,no-cache,no-store机制
- RMAN恢复报错: ORA-01103: database name 'POWERDES' in control file is not 'PDUNQ'
- controlfile 和spfile ,常见问题
- Ubuntu下的超级用户root密码设置 & 用户切换
- spfile与controlfile恢复的时候一点理解
- blackberry 模拟器 上网设置(Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file)
- JAVA学习课第五十三届 — IO流程(七)File打靶 & Properties设置
- 使用RMAN备份控制文件(control file)和系统参数文件(spfile)
- 关于CommunityServer2.1附件过大报错,即ASP.NET2.0中附件设置问题"Cannot Upload Large Files When You Use the HtmlInputFile Server Control"
- 一次控制文件参数设置错误导致的restore controlfile 失败。
- 研究好久了 学习 AMD设置双显卡切换的方法介绍
- UltraEdit的Tab键移动位数设置 && UE编辑十六进制(映像修改) && UE加进右键菜单 && UE切换自动换行 && UE高亮显示其他编程语言文本
- rman的随手涂鸦(控制文件controlfile和参数文件spfile的恢复)
- Correlation between MAXLOGHISTORY & CONTROL_FILE_RECORD_KEEP_TIME
- RMAN-06563: control file or SPFILE must be restored using FROM AUTOBACKUP
- vc++提示cannot open include file 'afxres.h'———VC安装设置问题
- Oracle&nbsp;参数文件&nbsp;spfile&nbsp;&nbsp;pfile