※天道酬勤※

§水至清则无鱼,人至察则无徒§
posts - 65, comments - 11, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

先手动建立归档目录,在调整 oracle 启动方式
  
  将 oracle 设为归档模式
  
  手工在主服务器创建归档目录
  
   $cd $ORACLE_BASE        #$ORACLE_BASE 所指向的目录是 /opt/oracle/ ,可参看 ORACLE 用户环境变量的具体设置
  
   $mkdir -p oradata/szdb/archive   # szdb 的目录名称根据数据库的 SID 号进行指定,其实这个目录可以任意指定
  
   $mkdir -p oradata/szdb/standbyarchive   # 如果主服务器有可能作为备用服务器,则建立该目录
  
   [oracle@cqcncdb szdb]$ 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/szdb/archive';    # /oracle/oradata/szdb/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/szdb/archive
  
   Oldest online log sequence    565
  
   Next log sequence to archive   567
  
   Current log sequence       567
  
  以上 alter system set 操作会在数据库的 spfile@sid.ora init@sid.ora 文件中新增以下参数
  
   *.log_archive_dest_1='LOCATION=/oracle/oradata/szdb/archive'
  
   *.log_archive_format='%t_%s.dbf'
  
   *.log_archive_start=TRUE
  
  注意: *.log_archive_dest_1 定义的文件夹必须是实际存在的,并且 oracle 用户是有写权限的
  
  注: @sid 代表数据库的实际 sid 号,比如在这次实际操作中这两个文件名就是 spfileszdb.ora initszdb.ora

 

6) 恢复:
SQL> SHUTDOWN ABORT
将备份的 undo01.dbf copy 回去
SQL> STARTUP MOUNT
SQL> recover database(
或者 recover datafile 19// 或者 recover'D:\ORACLE\ORADATA\test\UNDO01.DBF')
SQL> alter database open;

 

如果是先确定归档模式 , 可以先删除数据进行恢复 , alter database create datafile 'D:\ORACLE\ORADATA\ORA8I\TABLE_DATA.DBF'
否则 , 数据文件不可丢 .

只有注册用户登录后才能发表评论。