ORA01033.docx

上传人:b****3 文档编号:4628186 上传时间:2023-05-07 格式:DOCX 页数:18 大小:25.27KB
下载 相关 举报
ORA01033.docx_第1页
第1页 / 共18页
ORA01033.docx_第2页
第2页 / 共18页
ORA01033.docx_第3页
第3页 / 共18页
ORA01033.docx_第4页
第4页 / 共18页
ORA01033.docx_第5页
第5页 / 共18页
ORA01033.docx_第6页
第6页 / 共18页
ORA01033.docx_第7页
第7页 / 共18页
ORA01033.docx_第8页
第8页 / 共18页
ORA01033.docx_第9页
第9页 / 共18页
ORA01033.docx_第10页
第10页 / 共18页
ORA01033.docx_第11页
第11页 / 共18页
ORA01033.docx_第12页
第12页 / 共18页
ORA01033.docx_第13页
第13页 / 共18页
ORA01033.docx_第14页
第14页 / 共18页
ORA01033.docx_第15页
第15页 / 共18页
ORA01033.docx_第16页
第16页 / 共18页
ORA01033.docx_第17页
第17页 / 共18页
ORA01033.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ORA01033.docx

《ORA01033.docx》由会员分享,可在线阅读,更多相关《ORA01033.docx(18页珍藏版)》请在冰点文库上搜索。

ORA01033.docx

ORA01033

ORA-01033:

ORACLEinitializationorshutdowninpr

出现了ORA-01033:

ORACLEinitializationorshutdowninprogress

原因就是因为我把介质文件给删掉了

解决步骤:

以DBA(通常有好几个sys或system)用户sqlplus登录

请输入用户名:

 connectsystem/sysassysdba

如果上面登陆不了可以换作(

sqlplus/nolog

connectsys/passwordassysbda)

然后(卸载数据)输入:

SQL>shutdownnormal 

会出现:

ORA-01109:

数据库未打开

已经卸载数据库。

ORACLE例程已经关闭。

然后(装载数据)输入:

SQL>startupmount

ORACLE例程已经启动。

数据库装载完毕。

之后:

SQL>alterdatabaseopen;

第1行出现错误:

ORA-01157:

无法标识/锁定数据文件6-请参阅DBWR跟踪文件

ORA-01110:

数据文件6:

'D:

\ORACLE\PRODUCT\10.1.0\ORADATA\RAILWAY\2008_1.DAT'

SQL>alterdatabasecreatedatafile6;

数据库已更改。

SQL>alterdatabaseopen;

第1行出现错误:

ORA-01113:

文件6需要介质恢复

ORA-01110:

数据文件6:

'D:

\ORACLE\PRODUCT\10.1.0\ORADATA\RAILWAY\2008_1.DAT'

SQL>alterdatabasedatafile6offlinedrop;

数据库已更改。

继续

SQL>alterdatabaseopen;

如果出现以上错误,继续执行相关操作,上面的6要和create和drop对应。

如果

SQL>alterdatabaseopen;

出现了:

数据库已更改。

则成功了。

【转】oracle归档日志

2011-08-0214:

52

转载自maincoolbo

最终编辑wm2008xyz

归档日志(ArchiveLog)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库.

日志操作模式:

ARCHIVELOGNOARCHIVELOG

1,改变日志操作模式:

检查当前日志操作模式

SELECTlog_modefromv$database;

关闭数据库,然后装载数据库

SHUTDOWNIMMEDIATE

STARTUPMOUNT

改变日志操作模式,然后打开数据库

ALTERDATABASEARCHIVELOG;

ALTERDATABASEOPEN;

2,执行手工归档

从oracledatabase10g开始,当将日志操作模式转变未ARCHIVELOG模式时,oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTERDATABASEARCHIVELOGMANUAL.

需要注意,使用手工归档方式,数据库管理员必须手工执行归档命令.如果没有执行手工归档命令,日志组的原有内容将不能被覆盖.ALTERDATABASEARCHIVELOGMANUAL命令是为了与先前的版本兼容而保留的,.将来的oracle版本会淘汰该命令,使用手工归档方式是,数据库管理员可以执行以下命令归档重做日志:

ALTERSYSTEMARCHIVELOGALL;

3,配置归档进程

初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数:

ALTERSYSTEMSETLOG_ARCHIVE_MAX_PROCESSES=3;

配置归档位置和文件格式

当数据库处于ARCHIVELOG模式时,如果进行日志切换,后台进程将自动生成归档日志,归档日志的默认位置为%oracle_home%rdbms,在oracledatabase10g中,归档日志的默认文件格式为ARC%S_%R.%T.为了改变归档日志的位置和名称格式,必须改变相应的初始化参数,

1,初始化参数LOG_ARCHIVE_FORMAT用于指定归档日志的文件名格式,设置该初始化参数时,可以指定以下匹配符:

%s:

日志序列号:

%S:

日志序列号(带有前导0)

%t:

重做线程编号.

%T:

重做线程编号(带有前导0)

%a:

活动ID号

%d:

数据库ID号

%rRESETLOGS的ID值.

从10g开始,配置归档日志文件格式时,必须带有%s,%t和%r匹配符,配置了归档文件格式后,必须重启数据库.

2,使用LOG_ARCHIVE_DEST配置归档位置

如果不使用备用数据库,只需要将归档日志存放到本地目录.配置本地归档位置可以使用初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST,其中,第一个参数用于设置第一个归档位置,第二个参数用于指定第二个归档位置.

ALTERSYSTEMSETlog_archive_dest='d:

demoarchive1';

ALTERSYSTEMSETlog_archive_duplex_dest='d:

demoarchive2';

3,使用LOG_ARCHIVE_DEST_n配置多个归档位置.

初始化参数LOG_ARCHIVE_DEST_n用于指定多个归档位置,该参数最多可以指定10个归档位置.通过使用初始化参数LOG_ARCHIVE_DEST_n,不仅可以配置本地归档位置,还可以配置远程归档位置.

如果既要在主节点上生成归档日志,又要将归档日志传递到备用节点,那么必须使用参数LOG_ARCHIVE_DEST_n.该参数与LOG_ARCHIVE_DEST具有如下区别;

初始化参数LOG_ARCHIVE_DEST_n可以配置本地归档位置和远程归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST只能配置本地归档位置.

初始化参数LOG_ARCHIVE_DEST_n可以配置多达10个归档位置,而初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST最多只能配置两个归档位置.

初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用.

因为初始化参数LOG_ARCHIVE_DEST_n不能与初始化参数LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST同时使用,所以必须禁用初始化参数LOG_ARCHVE_DEST和LOG_ARCHIVE_DUPLEX_DEST.当使用初始化参数LOG_ARCHIVE_DEST_n配置本地归档位置时,需要指定LOCALTION选项.当配置远程归档位置时,需要指定SERVICE选项.

示例如下:

ALTERSYSTEMSETlog_archive_duplex_dest='';

ALTERSYSTEMSETlog_archive_dest='';

ALTERSYSTEMSETlog_archive_dest_1='location=d:

demoarchive1';

ALTERSYSTEMSETlog_archive_dest_2='location=d:

demoarchive2';

ALTERSYSTEMSETlog_archive_dest_3='location=d:

demoarchive3';

ALTERSYSTEMSETlog_archive_dest_4='service=standby';

配置远程归档位置时,SERVICE选项需要指定远程数据库的网络服务名(在tnsnames.ora文件中配置)

4,使用LOG_ARCHIVE_DEST_n选项

使用初始化参数LOG_ARCHIVE_DEST_n配置归档位置时,可以在归档位置上指定OPTIONAL或MANDATORY选项.指定MANDATORY选项时,可以设置REOPEN属性.

OPTIONAL:

该选项是默认选项.使用该选项时,无论归档是否成功,都可以覆盖重做日志.

MANDATORY:

强制归档.使用该选项时,只有在归档成功之后,重做日志才能被覆盖.

REOPEN:

该属性用于指定重新归档的时间间隔,默认值为300秒,必须跟在MANDATORY后.

例:

Altersystemsetlog_archive_dest_1=’location=d:

demoarchive1mandatory’;

Altersystemsetlog_archive_dest_2=’location=d:

demoarchive2mandatoryreopen=500’;

Altersystemsetlog_archive_dest_3=’location=d:

demoarchive3optional’;

5,控制本地归档成功的最小个数.

使用初始化参数LOG_ARCHIVE_MIN_SUCCEED_DEST控制本地归档的最小成功个数

Altersystemsetlog_archive_min_succeed_dest=2;

6,使用初始化参数LOG_ARCHIVE_DEST_STATE_n控制归档位置的可用性.设置该参数为ENABLE(默认值),表示会激活相应的归档位置;设置该参数为DEFER,表示禁用相应归档位置.当归档日志所在磁盘损坏或填满时,DBA需要暂时禁用该归档位置.

Altersystemsetlog_archive_dest_state_3=defer;(禁用)

Altersystemsetlog_archive_dest_state_3=enable;(启用)

显示归档日志信息

1,使用ARCHIVELOGLIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.

2显示日志操作模式

SELECTname,log_modeFROMv$database;

3,显示归档日志信息.

Colnameformata46

Selectname,swquence#,first_change#FROMv$archived_log;

Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.

4、执行介质恢复时,需要使用归档日志文件,此四必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.

SELECTdestinationFROMv$archivedest;

5,显示日志历史信息

SELECT*FROMv$loghist;

THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.

6.显示归档进程信息.

进行日志切换时,ARCH进程会自动将重做日志内容复制到归档日志中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!

SELECT*FROMv$archive_processes;

Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:

活动,STOPPED:

未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状态

==========================================

用Oracle归档日志进行恢复的方法

用Oracle归档日志进行恢复的方法

联机重演日志没有丢失应使用完成恢复,如联机重演日志损坏,而又没有备份,就只能进行不完全恢复。

一、完全恢复:

1.使用命令“svrmgrl”调用行方式服务器管理;

2.输入命令“connectinternal”,然后输入命令“startupmount’;

3.输入命令“recoverdatabase;”

4.按下ENTER,接受默认值。

5.然后输入命令“alterdatabaseopen;”完成数据库恢复。

二、不完全恢复

警告:

应用不完成恢复前,必须将数据库做一次完全冷备份,因为应用不完全恢复后,联机重演日志将重置,以前的所有日志不可用。

如果恢复不成功,数据库就不能使用了。

再次强调,做完全冷备份后再应用不完全恢复。

1).基于变化的恢复(change-basedrecovery)

   要执行基于变化的恢复,需要知道丢失日志之前的系统写入归档重演日志的最大的变化号(SCN),然后可以启动恢复语句恢复数据库直到改变scn_number,其中比scn_number是写到已归档重演日志文件顺序号386的SCN(即,小于丢失日志顺序号387的SCN)。

可以从V$log_history视图中得到SCN信息。

selectfirst_change#fromv$log_historywheresequence#=387;

其中387为最后一个有效的日志文件号加1,该例是查找386.

知道了SCN后,使用下述步骤完成恢复

1.使用命令“svrmgrl”调用行方式服务器管理;

2.输入命令“connectinternal”,然后输入命令“startupmount’;

3.输入命令“recoverdatabaseuntilchange9999;”

4.在回答Oracle第一个归档重演日志建议信息时,输入“auto”,Oracle在找到第387号重演日志之前停止恢复。

5.用命令“alterdatabaseopenresetlogs;”打开数据库。

(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)

2).基于停止的恢复(cancel-basedrecovery)

1.使用命令“svrmgrl”调用行方式服务器管理;

2.输入命令“connectinternal”,然后输入命令“startupmount’;

3.输入命令“recoverdatabaseuntilcancel;”,Oracle提示需要的第一个归档重演日志文件名.按下ENTER键接受缺省文件名,并且—路ENTER直到询问顺序号387的日志。

输入“cancel”,停止恢复操作。

4.用命令“alterdatabaseopenresetlogs;”打开数据库。

(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)

3).基于时间的恢复(time-basedrecovery)

为使用基于时间的恢复,必须知道记录在V$log_history归档重演日志序号387(丢失重演日志)的时间,通过执行查询语句“selecttimefromv$log_historywheresequence#=387;”得到。

本例得到的时间是:

2002-06-2314:

42:

04

现在开始实施恢复。

1.使用命令“svrmgrl”调用行方式服务器管理;

2.输入命令“connectinternal”,然后输入命令“startupmount’;

3.输入命令“recoverdatabaseuntiltime'2002/06/2314:

42:

04';”,Oracle提示需要的第一个归档重演日志文件名,输入“auto”,Oracle恢复归档重演日志直到序号为387的日志,停止恢复操作。

4.用命令“alterdatabaseopenresetlogs;”打开数据库。

(应用该命令前请确认已数据库已备份,如打开失败,日志将不可用)

提示:

使用基于时间的恢复,时间的格式是YYYY/MM/DDHH24:

MI:

SS,并且用单引号括起。

附:

如何启用Oracle的归档方式

1.参照以下内容编辑init.ora文件:

log_archive_start=true

log_archive_dest_1="LOCATION=D:

\Oracle\oradata\ORCL\archive"

og_archive_format=%%ORACLE_SID%%T%TS%S.ARC

2.关闭数据库

svrmgrl>connectinternal

svrmgrl>shutdownnormal

3.然后启动实例并安装该数据库,但不打开数据库。

svrmgrl>startupmount

4.接着,发布下列更改数据库的命令。

Svrmgrl>alterdatabasearchivelog;

5.现在,数据库已经更改为归档方式,您可以打开数据库。

svrmgrl>alterdatabaseopen;

提示:

也可以使用DBAstudio工具启用数据库的归档方式,操作很简单

=============================================================

ORACLE归档模式的设置

在ORACLE数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。

但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。

这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。

一、要使OARCLE数据库进行日志的自动归档,需要做两方面的事情;

1.是数据库日志模式的设置(可为ArchiveMode和NoArchiveMode);2.就是自动归档模式设置(Automaticarchival,可为Enabled和Disabled)。

二、如何查看数据库的现行日志和自动归档模式的设置

可用archiveloglist命令来查看。

运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境):

SQL>archiveloglist

DatabaselogmodeArchiveMode

AutomaticarchivalEnabled

Archivedestination/backup/archivelog

Oldestonlinelogsequence2131

Nextlogsequencetoarchive2133

Currentlogsequence2133

没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境):

SQL>archiveloglist

DatabaselogmodeNoArchiveMode

AutomaticarchivalDisabled

Archivedestination/u01/app/oracle/product/8.1.7/dbs/arch

Oldestonlinelogsequence194

Currentlogsequence196

三.数据库日志模式的设置

在创建数据库时,可以在CREATEDATABASE语句中指定数据库的日志模式。

假如没有指明,则缺省为NOARCHIVELOG模式。

由于如果在创建数据库时指明是ArchiveMode的话,会增加约20%的创建时间,而在以后启动INSTANCE时再设置的话,一般只用去几秒的时间,所以一般在创建数据库时是不设置为ARCHIVEMODE的。

将数据库的日志模式设置切换(ArchiveMode和NoArchiveMode之间的切换)的步骤和操作如下:

1.关闭运行的数据库实例

SQL>shutdown

在进行日志模式切换之前,必须将运行的数据库正常关闭。

2.备份数据库

该备份跟以后产生的日志一起用于将来的灾难恢复(很重要,如要改为归档日志模式,没有这个数据库备份,仅有日志文件是无法从该时间点恢复的)。

3.启动数据库实例到mount状态,但不要打开。

SQL>startupmount

4.切换数据库日志模式。

SQL>alterdatabasearchivelog;(设置数据库为归档日志模式)或

SQL>alterdatabasenoarchivelog;(设置数据库为非归档日志模式)

5.打开数据库

SQL>alterdatabaseopen;

6.确认数据库现在处于归档日志模式。

SQL>archiveloglist;

DatabaselogmodeArchiveMode

AutomaticarchivalEnabled

Archivedestinationforexample:

$ORACLE_HOME/dbs/arch

Oldeston-linelogsequence275

Nextlogsequence277

Currentlogsequence278

7.将这个时间点的redologs归档

SQL>archivelogall;

8.确认新产生的日志文件已在相应的归档目录下面。

四.自动归档模式设置(Automaticarchival,可为Enabled和Disabled)。

在该模式下,数据库启动一个arch进程,专门负责将redologs写到系统归档设备的相应目录下。

在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init*.ora文件中):

LOG_ARCHIVE_START=

LOG_ARCHIVE_DEST=

LOG_ARCHIVE_FORMAT=

LOG_ARCHIVE_START:

如要求自动归档的话,则设为TRUE,如要求为非自动归档的话,则设为FALSE

LOG_ARCHIVE_DEST:

该参数设定了archivelogs归档存放的路径。

LOG_ARCHIVE_FORMAT:

该参数设定了archivelogs的命名格式。

例如,如将格式设为:

arch%s.arc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2