使用system用户登陆oracle 的sqlplus
sqlplus "system/oracle" as sysdba
首先检查oracle 是否已经开启 Archive logging
archive log list;
如果显示以下错误,则证明没有开启
ORA-01031: insufficient privileges
用户可以使用以下命令查看oracle 是否已经开启了 自动归档模式
select name,log_mode from v$database;
LOG_MODE 显示 NOARCHIVELOG 则代表没有开启
开启 Archive logging ,需要先停止数据库,执行以下命令
shutdown immediate;
然后将数据库启动到 mount 状态
startup mount
更改归档模式,启动 日志自动归档
ALTER DATABASE ARCHIVELOG;
以下一篇博客对oracle 启动和停止数据库的状态介绍得非常清楚,大家可以参考一下
http://blog.csdn.net/lutinghuan/article/details/7484062
这个使用如果用户想了解日志归档是否真的已经开启,以及查看归档日志存储在什么路径,可以再次执行
archive log list
例如作者机器就是显示
Database log mode Archive Mode Automatic archival Enabled Archive destination /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch Oldest online log sequence 51 Next log sequence to archive 53 Current log sequence 53
如果用户希望修改归档日志的存储路径,可以执行以下命令
alter system set log_archive_dest=‘用户希望的路径,但是需要oracle程序可以读写‘
修改好之后,就是重新打开oracle 的 database
alter database open
在shell中用户需要先创建好日志归档目录,例如作者的归档目录为 /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch,则该目录需要预先创建
mkdir -p /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch
测试归档
alter system switch logfile
然后用户可以在 /home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/arch 目录下看到新的归档日志。
用户也可以使用sql 命令查看归档情况,但是作者没有仔细查看这个输出
select * from v$archived_log
到这里,oracle 如何开启日志自动归档的方法就介绍完毕了。
参考博客:
http://blog.csdn.net/warren_zqw/article/details/52894586
http://guojuanjun.blog.51cto.com/277646/295454/