Oracle数据库的非归档模式迁移到归档模式

简介:

先观察当前的状态:

[root@o_target ~]# su - oracle    
[oracle@o_target ~]$ sqlplus / as sysdba    
    
SQL*Plus: Release 11.2.0.1.0 Production on Wed Mar 19 12:38:24 2014    
    
Copyright (c) 1982, 2009, Oracle.  All rights reserved.    
    
Connected to an idle instance.    
    
SQL> startup;    
ORACLE instance started.    
    
Total System Global Area 1023004672 bytes    
Fixed Size                  2219752 bytes    
Variable Size             624951576 bytes    
Database Buffers          390070272 bytes    
Redo Buffers                5763072 bytes    
Database mounted.    
Database opened.    
SQL> archive log list;    
Database log mode              No Archive Mode    
Automatic archival             Disabled    
Archive destination            USE_DB_RECOVERY_FILE_DEST    
Oldest online log sequence     4    
Current log sequence           6 

SQL>

发现是没有在 Archive模式下。

 

进行转换,发现必须对数据库在mount状态下进行操作。

   
SQL> alter database archivelog;    
alter database archivelog    
*    
ERROR at line 1:    
ORA-01126: database must be mounted in this instance and not open in any    
instance    

然后,进入mount状态,进行转换:

SQL> shutdown immediate;    
Database closed.    
Database dismounted.    
ORACLE instance shut down.    
SQL> startup mount;           
ORACLE instance started.    
    
Total System Global Area 1023004672 bytes    
Fixed Size                  2219752 bytes    
Variable Size             624951576 bytes    
Database Buffers          390070272 bytes    
Redo Buffers                5763072 bytes    
Database mounted.    
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     4    
Next log sequence to archive   6    
Current log sequence           6    
SQL>      

发现现在缺省使用的路径为 DB_RECOVERY_FILE_DEST,此路径是和Oracle的Flash_back_recovery 路径混杂在一起的,不太妥当。

参见:

http://jinyumantang110.blog.163.com/blog/static/5457915620107994131968/

http://anuj-singh.blogspot.jp/2011/10/oracle-archive-log-on.html

其提到:never use this area for archive log file , system will hang after destination full

 

先观察实际路径设置:

SQL> show parameter DB_RECOVERY_FILE_DEST;    
    
NAME                                 TYPE        VALUE    
------------------------------------ ----------- ------------------------------    
db_recovery_file_dest                string      /u01/app/oracle/flash_recovery    
                                                 _area    
db_recovery_file_dest_size           big integer 3882M    

 

尝试更改路径:

SQL> alter system set log_archive_dest = '/u01/app/arch' scope=both;    
alter system set log_archive_dest = '/u01/app/arch' scope=both    
*    
ERROR at line 1:    
ORA-02097: parameter cannot be modified because specified value is invalid    
ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or    
DB_RECOVERY_FILE_DEST    
   

需要把 USE_DB_RECOVERY_FILE_DEST变成空值:

SQL> alter system set DB_RECOVERY_FILE_DEST='';    
    
System altered.    
    
SQL> alter system set log_archive_dest =     
  2  '/u01/app/arch' scope=both;    
    
System altered.    
    
SQL>     
    
    
SQL> archive log list;    
Database log mode              Archive Mode    
Automatic archival             Enabled    
Archive destination            /u01/app/arch    
Oldest online log sequence     4    
Next log sequence to archive   6    
Current log sequence           6    
SQL>

 

看archive log 目录是否可以自动生成:

SQL> alter system switch logfile;    
alter system switch logfile    
*    
ERROR at line 1:    
ORA-01109: database not open    
    
    
SQL>     
    
    
    
    
SQL> alter database open;    
    
Database altered.    
    
SQL> alter system switch logfile;    
    
System altered.    
    
SQL>     
    
    
    
    
SQL> shutdown immediate;    
Database closed.    
Database dismounted.    
ORACLE instance shut down.    
SQL>     
    
   
SQL>     
SQL> startup;    
ORACLE instance started.    
    
Total System Global Area 1023004672 bytes    
Fixed Size                  2219752 bytes    
Variable Size             624951576 bytes    
Database Buffers          390070272 bytes    
Redo Buffers                5763072 bytes    
Database mounted.    
Database opened.    
SQL> archive log list;    
Database log mode              Archive Mode    
Automatic archival             Enabled    
Archive destination            /u01/app/arch    
Oldest online log sequence     5    
Next log sequence to archive   7    
Current log sequence           7   

    
SQL> !ls -lrt /u01/app    
total 836    
drwxrwx--- 5 oracle oinstall   4096 Mar 13 09:18 oraInventory    
drwxr-xr-x 9 oracle oinstall   4096 Mar 13 09:24 oracle    
-rw-r----- 1 oracle oinstall 840192 Mar 19 14:07 arch1_6_842088414.dbf    
    
SQL> !ls -lrt /u01/app/arch    
ls: /u01/app/arch: No such file or directory    
    
SQL>     
    
必须手动设置:

    
SQL> !ls -lrt /u01/app/arch    
ls: /u01/app/arch: No such file or directory    
    
SQL> !mkdir -p /u01/app/arch             
    
SQL> !ls -lrt /u01/app/arch    
total 0    
    
SQL> !ls -lrt /u01/app    
total 840    
drwxrwx--- 5 oracle oinstall   4096 Mar 13 09:18 oraInventory    
drwxr-xr-x 9 oracle oinstall   4096 Mar 13 09:24 oracle    
-rw-r----- 1 oracle oinstall 840192 Mar 19 14:07 arch1_6_842088414.dbf    
drwxr-xr-x 2 oracle oinstall   4096 Mar 19 14:11 arch    
 

SQL>





本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/p/3611641.html,如需转载请自行联系原作者

目录
相关文章
|
16天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
62 11
|
1月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
29天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
1月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
21天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
54 7
|
3天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
12 3
|
3天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
16 3
|
3天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
20 2
|
16天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
112 15

推荐镜像

更多