oracle归档的方法

将经验记录下来既是帮助别人更是帮助自己

先手动建立归档目录,在调整oracle启动方式
  
  将oracle设为归档模式
  
  手工在主服务器创建归档目录
  
  $cd $ORACLE_BASE      #$ORACLE_BASE 所指向的目录是/opt/oracle/,可参看ORACLE用户环境变量的具体设置
  
  $mkdir -p oradata/orcl/archive  # orcl的目录名称根据数据库的SID号进行指定,其实这个目录可以任意指定
  
  $mkdir -p oradata/orcl/standbyarchive #如果主服务器有可能作为备用服务器,则建立该目录
  
  [oracle@testorcl]$ sqlplus /nolog
  
  SQL> conn / as sysdba;
  
  Connected.
  
  SQL> startup mount;
  
  SQL> alter database archivelog;
  
  SQL> archive log start;
  
  SQL> archive log list;
  
  SQL> alter database open;
  
  SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oracle/oradata/orcl/archive';   # /oracle/oradata/orcl/archive必须和前面mkdir -p oradata/szdb/archive操作建立的路径一模一样
  
  SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile;
  
  SQL> alter system set log_archive_start=true scope=spfile;
  
  重新启动数据库,使修改结果生效
  
  SQL> shutdown immediate;
  
  察看归档模式
  
  SQL> startup
  
  SQL> archive log list;
  
  Database log mode       Archive Mode
  
  Automatic archival       Enabled
  
  Archive destination      /oracle/oradata/orcl/archive
  
  Oldest online log sequence   565
  
  Next log sequence to archive  567
  
  Current log sequence      567
  
  以上alter system set操作会在数据库的spfile@sid.orainit@sid.ora文件中新增以下参数
  
  *.log_archive_dest_1='LOCATION=/oracle/oradata/orcl/archive'
  
  *.log_archive_format='%t_%s.dbf'
  
  *.log_archive_start=TRUE
  
  注意:*.log_archive_dest_1定义的文件夹必须是实际存在的,并且oracle用户是有写权限的
  
  注:@sid代表数据库的实际sid号,比如在这次实际操作中这两个文件名就是spfileorcl.ora、 initorcl.ora