Oracle 设置archivelog错误解决方案
在Oracle 数据库的实际应用中,开启archivelog模式是必不可少的,但是在设置archivelog的过程中,可能因为不小心出现错误,导致数据库无法启动,本案例就是一种情况。
误操作现象:
设置archivelog name格式时,将archivelog的命名格式设置为archive_%s_%t.arc,修改系统配置文件成功,重启数据库使设置生效。但是异常发生了,数据库无法启动。
出错原因:
设置archivelog name格式时,匹配符%s,%t,%r是必须的。
%s 日志序列号。
%t 重做线程编号。
%r RESETLOGS的ID值。
因为在设置的时候没有符合匹配符%s,%t,%r都存在的要求,所以在数据库启动,加载参数文件时,这条设置无法验证通过,导致数据库无法启动。
SQL> alter system set log_archive_format="archive_%s_%t.arc" scope=spfile; System altered. SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORA-19905: log_archive_format must contain %s, %t and %r
SQL> alter system set log_archive_format="robt_%s_%t_%r.arc" scope=spfile;
alter system set log_archive_format="robt_%s_%t_%r.arc" scope=spfile
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 153 Serial number: 7663
解决方案:
1.在spfile的同目录下,创建文件inite<instance name>.ora, 内容如下
根据spfile文件生成的。
*.audit_file_dest='D:\pp\oracle\admin\epicdb\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='F:\***\***\***\CONTROL01.CTL','D:\PP\ORACLE\FAST_RECOVERY_AREA\<instance name>\CONTROL02.CTL'
*.db_block_size=8192
*.db_domain=''
*.db_name='epicdb'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='d:\<instance name>\FRA'
*.diagnostic_dest='D:\pp\oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=epicdbXDB)'
*.job_queue_processes=1000
*.log_archive_dest_1='location=E:\<instance name>\archivelog'
*.log_archive_dest_10='location=use_db_recovery_file_dest'
*.log_archive_format='archive_%s_%t_%r.arc'在设置pfile的过程中修复archivelog设置
*.memory_target=854589440
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS3'
*.utl_file_dir='c:\logminer'
2. PL/SQL中执行
SQL>startup nomount pfile=‘<pfile所在的路径>\init<instance name>.ora’;
这里应该提示
ORACLE instance started.
3.通过pfile启动了数据库,通过pfile生成spfile
SQL> create spfile from pfile;
File created.
4.重启数据库
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
....
Database mounted.
Database opened.
总结:
找到问题出现的根本原因,是解决问题的要点。本案例的现象就是数据库无法加载spfile文件,导致无法正常启动,archivelog的设置错误是问题的导火索。先要让数据库启动才能重新设置archivelog,根据这个思路,重建pfile,在重建的过程中将archivelog的设置修改正确,启动数据库,根据pfile生成spfile,之后重启数据库。
Oracle 设置archivelog错误解决方案的更多相关文章
- 安装完oracle11g_2x64位数据库后使用PL Developer链接oracle报错“请确认是否安装了32位oracle和TNS错误”解决方案
解决使用PL Developer登录oracle报错没有配置TNS错误.首先安装好oracle11g数据库,安装PL developer32位 1,下载“instantclient-basic-win ...
- Oracle Ora 错误解决方案合集
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...
- Oracle 数据库基础 出现invalid username/password; logon denied错误解决方案
出现invalid username/password; logon denied错误解决方案 [win7或win8中 cmd要以管理员身份运行] 1.Dos下输入命令:sqlplus sys/安装时 ...
- Oracle 控制文件损坏解决方案
Oracle 控制文件损坏解决方案 故障一:丢失(损坏)一个控制文件 前台报错:ORA-00205:error in identifying control file,check alert log ...
- win7访问局域网总提示用户名密码错误解决方案
win7访问局域网总提示用户名密码错误解决方案 1.点击开始-在搜索栏输入:secpol.msc(或者直接按下win+r键,输入secpol.msc),打开本地安全策略. 2.找到“安全设置”的“本地 ...
- [Oracle]为何Archivelog 没有马上被删除
[Oracle]为何Archivelog 没有马上被删除 客户设置了 Archivelog 的 deletion policy 是 CONFIGURE ARCHIVELOG DELETION POLI ...
- jmeter发送json数据,报405、400错误解决方案
1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...
- php源码编译常见错误解决方案大全
php源码编译常见错误解决方案大全http://www.cnlvzi.com/index.php/Index/article/id/143 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息 ...
- oracle所有的乱码解决方案
oracle所有的乱码解决方案 是不是经常看见各式各样的乱码,看见头就大了,大家别怕,所有的问题都会有一个甚至不止一个的解决方案,有句名言说的好:万法不离其踪.网上大部分把工具的乱码和代码操作的乱码混 ...
随机推荐
- c#中总是提示“在代码运行时或者在禁用“只要一个进程中断,就中断所有进程”选项时,不允许进行更改。
但是根据它提示的修改方法,还是提示这个. “此选项可在“工具”->“选项”->“调试”中启用.” 根本不起作用,后来试着,要这样操作: 工具->选项->调试->编辑并继续 ...
- VC禁止在任务管理器中结束本进程
转自百度空间:http://hi.baidu.com/175943462/item/657905e13b73b70b8d3ea8bb 一提到进程保护特别是在Windows下,没有最安全,只有更安全.下 ...
- eMMC(KLM8G2FE3B)
Tiny4412原理图中,eMMC是169-PIN,资料中对应内存为16/32G:而用户手册上eMMC内存为4G,对应的是153-PIN? 原理图中上标注:KLM8G2FE3B-B001_1. ...
- java学习之多生产者和多消费者
在上一节当中我们说道了,java多线程当中单个消费者对应单个生产者的关系.这个时候有几个点需要注意一下,第一个就是把if判断flag的语句改成while这样能够避免,比如如果我们这个时候用if的话判断 ...
- 获取和设置select和checkbox的值
if ($("input[name = 'recpower']").prop("checked") == true) //获取checkbox值 { data. ...
- Ubuntu安装secureCRT
在使用secureCRT前确保主机的ssh服务是启动状态. 一.下载secureCRT包 site: https://www.vandyke.com/download/securecrt/downl ...
- zoj 1221 Risk Flory
博客开了快半年了- -学习编程也快1年半了,觉得空空的不太好看,刚好最近开始练习ACM了,就来做一个简单的ACM学习笔记吧,纪念的第一题zol 1221 Risk 风险游戏(个人觉得是这样翻- -翻译 ...
- 【好文转载c++】 sizeof 使用的经典总结
为了在人面前畅快的吹牛逼,你必须学会背后努力 -----张小二. 写在转载之前: sizeof到底是多少?本来我没有关注,只是有次室友问了我几个sizeof的问题,我被问住了,他当时问我了sizeo ...
- ArcEngine中使用上下左右键移动地图
转自愿文ArcEngine中使用上下左右键移动地图 因项目需要,需对mapcontrol控件响应上下左右键,从网上找的方法都一样,都值提到了需要设置axMapControl1的KeyIntercept ...
- xml增强学习笔记
2 Dom4j修改xml文档 2.1 写出内容到xml文档 XMLWriter writer = new XMLWriter(OutputStream, OutputForamt) wirter.wr ...