我正在熟悉备份/恢复过程。因此,我在 Windows 7 上安装了 Oracle 11.2 g 并开始尝试。最终我需要在另一台服务器上恢复数据库,但首先我想在本地尝试一下。
首先,在内置 ORCL db 上,我创建了表 Test1,插入了一条记录并通过 SQL Developer 和 sqlplus 查询对其进行了验证。
然后我按照以下步骤进行了备份:
SQL> shutdown immediate;
SQL> startup mount pfile='C:\app\Ilana\admin\ORCL\pfile\init.ora.52201722308
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:\backup\rman/full_%u_%s_%p';
RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
C:\backup\rman
它在例如File1
和中创建了 2 个文件File2
。我假设那File1
是数据文件,File2
那是控制文件。
然后我删除了表Test1
之后我按照以下步骤恢复了 ORCL:
1. SQL> Select Dbid from v$database ;
1802923837
set Dbid=1802923837;
2. SQL> shutdown immediate;
startup nomount pfile='C:\app\admin\orcl\pfile\init.ora.512...'
3. RMAN> connect target /
4. RESTORE CONTROLFILE FROM "\backup\rman/File2'
5. ALTER DATABASE MOUNT;
6. RESTORE DATABASE;
7. RECOVER DATABASE;
8. ALTER DATABASE OPEN RESETLOGS;
之后我检查了ORCLSQL 开发人员和sqlplus但我没有看到我的表 Test1
我的问题:
我做错了什么导致Test1没有恢复?
答案1
另一个论坛的某个人向我指出了这个问题。我的问题是我恢复了所有内容,即我进行了完全恢复,包括“表删除”。使用参数 SCN 后,我能够恢复“不完整”并获取我的表。