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

本文详细介绍了如何在Oracle数据库中将系统在Noarchivelog和Archivelog模式之间进行切换,包括所需步骤和相关命令,如archive log list、alter database archivelog/noarchivelog、archive log start/stop等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--只有在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; #检察后台进程 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值