首先用sys登录数据库,查看oracle是否开启归档模式(su - oracle切换用户,然后sqlplus / as sysdba进入sql模式)
输入archive log list来查看是否开启,如图说明不是归档模式
1)单机模式下:如果开启归档,请保证
log_archive_start=true --开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false。10g之后废除该参数,不需要设置。
log_archive_dest =<archivelog存放路径> ---归档日志存放路径
alter system set log_archive_dest_1="location=f:\disk5\offlinelog\mandatory" scope=spfile ---为了增加归档日志的冗余来保证其安全,可以通过修改参数文件中的log_archive_dest_n参数,其中n为1~10
log_archive_format ="CX%TS%S.ARC" ---归档日志文件名格式
alter system set log_archive_max_processes = 3 ---启动多个归档后台进程以避免由于ARCn进程跟不上LGWR而造成的数据库系统效率的下降。
注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动
1、开启归档:
a. 关闭数据库shutdown immediate
b. startup mount
c. alter database archivelog
d. alter database opne
2、关闭归档:
a. 关闭数据库shutdown immediate
b. startup mount
c. alter database noarchivelog
d. alter database open
归档信息可以通过如下语句查看
SQL>archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination E:oracleora92databasearchive
Oldest online log sequence 131
Next log sequence to archive 133
Current log sequence 133
2)RAC模式下:
1.关闭所有的instance
2.在节点1上设置以下参数,如果使用spfile就先生成pfile再修改
CLUSTER_DATABASE=FALSE.
log_archive_dest=<归档路径>
log_archive_start=true
log_archive_format=<归档文件格式>
3. 以exclusive模式启动数据库
SQL>startup mount exclusive pfile=‘xxxxxx’.
4. 启动归档模式
SQL>Alter database archivelog
5.打开数据库
SQL>alter database open
6.关闭数据库并修改初始化参数
SQL>shutdown immediate
CLUSTER_DATABASE=TRUE
7.启动所有的instance,记得先生成spfile
8.核对归档,模式是否启动
SQL>archive log list
======================
以下步骤在node1机器上 *** 作,node2保持down。在所有的 *** 作完成后再打开node2的数据库。。。
SQLPLUS>connect SYS/PASSWORD
SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE### 10gR2之后不用修改该参数
SQLPLUS>shutdown immediate
SQLPLUS>startup mount exclusive
SQLPLUS>alter database noarchivelog
SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE
SQLPLUS>shutdown immediate
SQLPLUS>STARTUP
非归档改为归档
SQLPLUS>connect SYS/PASSWORD
SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE
SQLPLUS>shutdown immediate
SQLPLUS>startup mount exclusive
SQLPLUS>alter database archivelog
SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE
SQLPLUS>shutdown immediate
SQLPLUS>STARTUP
====================
相关数据字典
V$ARCHIVED_LOG
V$ARCHIVE_DEST
V$LOG_HISTORY
V$DATABASE
查看oracle数据库是否为归档模式
SQL>select name,log_mode from V$database
NAME LOG_MODE
------------------ ------------------------
TEST NOARCHIVELOG
SQL>archive log list
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#检察后台进程
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)