不少数据库小白刚入行确定会面临这几个问题:sql
数据库何时须要开启归档?何时不须要开启归档呢?数据库
归档好处多多,因此通常在生产环境上是要开启归档的。可是在什么环境下是不须要开启归档的呢?oracle
下面安老师结合本身数年的撸码经验,教你们两招轻松搞定这些问题!ide
RAC节点一 开启归档spa
一. 基本步骤code
1. 建立归档目录blog
2. RAC节点一 数据库实例启动到mount状态图片
3. 开启归档ci
4. 检查归档string
(敲黑板:如下代码都可左右滑动查看&复制粘贴)
1. 规划归档目录
[oracle@RACZJ-DB01 ~]$ cd /oracle/arch01/RACZJDB1
[oracle@RACZJ-DB01 RACZJDB1]$ export ORACLE_SID=RACZJDB1
2. 将RAC节点1数据库实例 RACZJDB1 启动到mount状态
[oracle@RACZJ-DB01 RACZJDB1]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Oct 5 11:46:57 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 603982928 bytes
Database Buffers 226492416 bytes
Redo Buffers 2371584 bytes
SQL> set lines 200
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string RACZJDB
db_unique_name string RACZJDB
global_names boolean FALSE
instance_name string RACZJDB1
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string RACZJDB.oracle.com, srvdb1, zjdb1
SQL> alter database mount;
Database altered.
3. 开启归档模式
SQL> alter database archivelog;
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 33
Next log sequence to archive 34
Current log sequence 34
4. 设置归档路径
SQL> alter system set log_archive_dest_1="LOCATION=/oracle/arch01/RACZJDB1" sid='RACZJDB1';
System altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/arch01/RACZJDB1
Oldest online log sequence 33
Next log sequence to archive 34
Current log sequence 34
5. 打开数据库
SQL> alter database open;
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/arch01/RACZJDB1
Oldest online log sequence 33
Next log sequence to archive 34
Current log sequence 34
6. 查看数据库状态
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
RACZJDB1 OPEN
7. 检查是否开启归档
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
8. 切归档并检查是否有归档
SQL> alter system switch logfile;
System altered.
SQL> !ls -l /oracle/arch01/RACZJDB1/*
-rw-r----- 1 oracle oinstall 3599872 Oct 5 12:09 /oracle/arch01/RACZJDB1/1_34_978812479.dbf
RAC节点二 开启归档
二. 基本步骤:
1. 建立归档目录
2. RAC节点二 数据库实例启动到mount状态
3. 开启归档
4. 检查归档
(敲黑板:如下代码都可左右滑动查看&复制粘贴)
1. 规划归档目录
[oracle@RACZJ-DB02.example.com ~]cd /oracle/arch02/RACZJDB2
2. 将RAC节点2数据库实例 RACZJDB2 启动到mount状态
[oracle@RACZJ-DB02.example.com]/oracle/arch02/RACZJDB2$sqlplus / as susdna
SQL*Plus: Release 11.2.0.4.0 Production on 星期五 10月 5 11:46:53 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 637537360 bytes
Database Buffers 192937984 bytes
Redo Buffers 2371584 bytes
SQL> set lines 200
SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
cell_offloadgroup_name string
db_file_name_convert string
db_name string RACZJDB
db_unique_name string RACZJDB
global_names boolean FALSE
instance_name string RACZJDB2
lock_name_space string
log_file_name_convert string
processor_group_name string
service_names string RACZJDB.oracle.com, srvdb2, zjdb2
SQL> alter database mount;
Database altered.
3. 开启归档模式
SQL> alter database archivelog;
Database altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 33
Next log sequence to archive 0
Current log sequence 34
4. 设置归档路径
SQL> alter system set log_archive_dest_1="LOCATION=/oracle/arch02/RACZJDB2" sid='RACZJDB2';
System altered.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /oracle/arch02/RACZJDB2
Oldest online log sequence 33
Next log sequence to archive 0
Current log sequence 34
5. 打开数据库
SQL> alter database open;
Database altered.
6. 查看数据库状态
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
RACZJDB2 OPEN
7. 检查是否开启归档
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
8. 切归档并检查是否有归档
SQL> alter system switch logfile;
System altered.
SQL> !ls -l /oracle/arch02/RACZJDB2/*
-rw-r----- 1 oracle oinstall 58368 10月 5 12:06 /oracle/arch02/RACZJDB2/2_35_978812479.dbf
总结
RAC数据库开启归档是一个一个节点分开进行的,第一个节点开启归档后,接着到第二个节点开启归档,这样是否是很方便呢?
那何时须要开启归档何时不须要开启归档呢?说一个重点哈,若是你的数据库是专门存储历史的数据,那是否是不须要开启归档呢?