linux下打开Oracle 11g数据库的闪回flashback
2013-12-04 16:13
561 查看
打开数据库flashback
1. 确认一个数据库是否打开了flashback,有两个简单的方法:
(1)直接查数据库
SQL> select name,log_mode,flashback_on from v$database;
NAME LOG_MODE FLASHBACK_ON
--------- ------------ ------------------
ORA11G ARCHIVELOG NO --> flashback未打开
(2)查看后台进程
Oracle@bmp1a:~> ps -ef | grep rvw |grep -v grep
oracle 9288 1 0 10:45 ? 00:00:00 ora_rvwr_ora11g --> flashback已经打开www.linuxidc.com
2. 如果数据库没有打开flashback,那么将flashback打开:
(1)确定flashback的存储路径
SQL> show parameter recovery
NAME TYPE VALUE
----------------------------- ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
recovery_parallelism integer 0
修改db_recovery_file_dest:
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;
alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
上面的错误,是因为在设置db_recovery_file_dest之前,一定要先设置db_recovery_file_dest_size,于是:
SQL>alter system set db_recovery_file_dest_size = 20G scope =both;
System altered.
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------- ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 20G
recovery_parallelism integer 0
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;
System altered.
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------- ----------- ------------------------------
db_recovery_file_dest string /home/oracle/flashback
db_recovery_file_dest_size big integer 20G
recovery_parallelism integer 0
(2)打开flashback
SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-38759: Database must be mounted by only one instance and not open.
上面的错误,是因为在打开数据库的flashback必须要mount状态下方可以,于是:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 5344731136 bytes
Fixed Size 2169104 bytes
Variable Size 2130708208 bytes
Database Buffers 3204448256 bytes
Redo Buffers 7405568 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> select name,log_mode,flashback_on from v$database;
NAME LOG_MODE FLASHBACK_ON
--------- ------------------ ------------
ORA11G ARCHIVELOG YES
1. 确认一个数据库是否打开了flashback,有两个简单的方法:
(1)直接查数据库
SQL> select name,log_mode,flashback_on from v$database;
NAME LOG_MODE FLASHBACK_ON
--------- ------------ ------------------
ORA11G ARCHIVELOG NO --> flashback未打开
(2)查看后台进程
Oracle@bmp1a:~> ps -ef | grep rvw |grep -v grep
oracle 9288 1 0 10:45 ? 00:00:00 ora_rvwr_ora11g --> flashback已经打开www.linuxidc.com
2. 如果数据库没有打开flashback,那么将flashback打开:
(1)确定flashback的存储路径
SQL> show parameter recovery
NAME TYPE VALUE
----------------------------- ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 0
recovery_parallelism integer 0
修改db_recovery_file_dest:
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;
alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-19802: cannot use DB_RECOVERY_FILE_DEST without DB_RECOVERY_FILE_DEST_SIZE
上面的错误,是因为在设置db_recovery_file_dest之前,一定要先设置db_recovery_file_dest_size,于是:
SQL>alter system set db_recovery_file_dest_size = 20G scope =both;
System altered.
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------- ----------- ------------------------------
db_recovery_file_dest string
db_recovery_file_dest_size big integer 20G
recovery_parallelism integer 0
SQL> alter system set db_recovery_file_dest = '/home/oracle/flashback' scope = both;
System altered.
SQL> show parameter recovery
NAME TYPE VALUE
------------------------------- ----------- ------------------------------
db_recovery_file_dest string /home/oracle/flashback
db_recovery_file_dest_size big integer 20G
recovery_parallelism integer 0
(2)打开flashback
SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-38759: Database must be mounted by only one instance and not open.
上面的错误,是因为在打开数据库的flashback必须要mount状态下方可以,于是:
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 5344731136 bytes
Fixed Size 2169104 bytes
Variable Size 2130708208 bytes
Database Buffers 3204448256 bytes
Redo Buffers 7405568 bytes
Database mounted.
SQL> alter database flashback on;
Database altered.
SQL> alter database open;
Database altered.
SQL> select name,log_mode,flashback_on from v$database;
NAME LOG_MODE FLASHBACK_ON
--------- ------------------ ------------
ORA11G ARCHIVELOG YES
相关文章推荐
- oracle 11g linux 建立表空间 用户 授权 数据库导入导出
- linux下安装Oracle 11g数据库详细教程
- 在Linux 上手工创建 oracle 11g R2 数据库
- VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库
- 12-Linux下Oracle 11g R2数据库安装
- linux下静默安装oracle 11g 数据库
- oracle 11g linux 建立表空间 用户 授权 数据库导入导出
- Linux下启动Oracle 11g数据库监听问题的解决
- Linux 安装 Oracle 11g——静默创建数据库(RAC)
- 在Linux(RedHat 4.8)命令行下安装Oracle 11g (11.2.0.1.0)数据库
- X86_64平台下Oracle 11g R2 X64 for Linux的软件安装、数据库安装、服务配置、数据库启动和停止、SQLPLus使用
- ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法
- ORACLE 11G-DATAGUARD使用snapshot特性打开数据库并恢复
- VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库
- linux下卸载oracle 11g单实例数据库
- linux操作oracle 11g数据库常见问题
- VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库
- linux 6.4平台利用rman迁移oracle 11g r2数据库
- linux下搭建oracle11G数据库
- 在 Linux 上安装 Oracle 数据库 11g