您的位置:首页 > 数据库 > Oracle

ORACLE在Noarchivelog和archivelog之间切换的一点实践

2013-08-12 12:02 471 查看
--只有在mount状态下才可以在archivelog和noarchivelog之间切换

--在init.ora中指定了log_archive_start为true后重启DB后仍会保持为自动归档方式

--只有在archivelog模式和自动归档方式同时存在时才可以生成归档日志文件。

--自动归档方式可以在DB处于打开状态时用{archvie log start|stop}任意改变。

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

----------------------------------------------------------

--step by step

----------------------------------------------------------

1.conn / as sysdba

2.archive log list; --查看archive状态(noarchivelog and stop archive)

3.shutdown immediate;

4.modify init.ora --修改init.ora

--log_archive_start = true

--log_archive_dest_1 = "location=C:oracleoradatauwszmesarchive"

--log_archive_format = %%ORACLE_SID%%T%TS%S.ARC

5.startup mount;

6.archive log list; --查看archive状态(noarchivelog and start archive)

7.alter database archivelog;

8.archive log list; --查看archive状态(archivelog and start archive)

9.alter system switch logfile; --对日志文件做切换归档

a.host dir C:oracleoradatauwszmesarchive --查看归档目录下是否有归档文件生成

b.alter system switch logfile; --再次做切换并查看归档文件是否生成

c.host dir C:oracleoradatauwszmesarchive

d.shutdown immediate;

e.startup --重启一次DB查看归档状态是否有做永久改变

f.archive log list; --查看archive为(archivelog mode and start auto archive)

g.host dir C:oracleoradatauwszmesarchive

h.alter system switch logfile; --再次检查是否可以正常归档

i.host dir C:oracleoradatauwszmesarchive

j.shutdown immediate; --再次shutdown DB为从archivelog到noarchivelog做准备

k.startup mount;

l.archive log list; --当前为archivelog mode and start auto archive

m.alter database noarchivelog; --从archivelog修改为noarchivelog

n.alter database open; --打开DB

o.archive log list; --当前为noarchivelog模式自动归档为启动状态

p.alter system switch logfile; --手工切换日志(不会生成归档日志文件)

q.host dir C:oracleoradatauwszmesarchive

r.startup force --强迫重新启动DB

s.archive log list; --此时DB仍然处于noarchivelog模式下自动归档为启动

t.archive log stop; --改变自动归档为停止状态

u.archive log list;

v.archvie log start; --用archive log start|stop来切换自动归档方式

w.archive log list; --此时为(noarchivelog mode,start auto archive)

x.--end the lab----

----操作步骤见图文:





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

查看oracle数据库是否为归档模式

SQL> select name,log_mode from V$database;

NAME LOG_MODE

------------------ ------------------------

TEST NOARCHIVELOG

SQL> archive log list (此句要在SQLPLUS里才可以执行)

Database log mode No Archive Mode

Automatic archival Disabled

Archive destination USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence 80157

Current log sequence 80163

编辑本段配置数据库的归档模式

1.改变非归档模式到归档模式:   

1)SQL> conn / as sysdba (以DBA身份连接数据库)   

2)SQL> shutdown immediate;(立即关闭数据库)   

3)SQL> startup mount (启动实例并加载数据库,但不打开)   

4)SQL> alter database archivelog; (更改数据库为归档模式)   

5)SQL> alter database open; (打开数据库)   

6)SQL> alter system archive log start; (启用自动归档)   

7)SQL> exit (退出)   

做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!

2.改变归档模式到非归档模式:   

1)SQL>SHUTDOWN NORMAL/IMMEDIATE;   

2)SQL>STARTUP MOUNT;   

3)SQL>ALTER DATABASE NOARCHIVELOG;   

4)SQL>ALTER DATABASE OPEN;

3.归档相关命令

archive log stop;

archive log start;

archive log list;

show parameters;

show parameters log_archive_start;

show parameters log_archive_max_process; #归档进程数

alter system set log_archive_max_process=5; #将归档进程数改为5

select * from v$bgprocess; #检察后台进程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: