用户管理的备份!

 

注意:冷备份——可以备份ARCHIVELOG模式的数据库,也可以备份NOARCHIVELOG模式的数据库。热备份——只能备份ARCHIVELOG模式的数据库。换句话说,就是:ARCHIVELOG模式——可以冷备份,也可以热备份。NOARCHIVELOG模式——只能冷备份。

 

冷备份步骤:
1. 列出要备份的所有相关文件的最新列表。
2. 使用SHUTDOWN NORMAL、SHUTDOWN IMMEDIATE 或SHUTDOWN TRANSACTIONAL 命令关闭Oracle 例程。
3. 使用操作系统备份实用程序备份所有数据文件和控制文件。您还可以备份重做日志文件,尽管这不是必需的。您还应该备份参数文件和口令文件。
4. 重新启动Oracle 例程。

 

热备份步骤:
只要符合以下两个标准,您就可以在使用数据库的同时,执行表空间或各个数据文件的备份:• 数据库设置为ARCHIVELOG 模式。• 通过启用Oracle 自动归档(ARCn) 进程或手动归档重做日志文件,确保联机重做日志得到归档。
如何执行联机表空间备份:
1. 通过发出ALTER TABLESPACE...BEGIN BACKUP 命令,将数据文件或表空间设置为备份模式。这样可避免数据文件头中的序列号发生变化,以便恢复时可以从备份开始时间应用日志。即使数据文件处于备份模式,仍可用于正常事务处理。SQL> alter tablespace users begin backup SQL> ALTER DATABASE BEGIN BACKUP;
2. 使用操作系统备份实用程序将表空间中的所有数据文件复制到备份存储中。如果按顺序备份每个表空间,备份文件中的日志序列号可能不同。 cp /ORADATA/u03/users01.dbf /BACKUP/users01.dbf
3. 备份表空间的各数据文件后,发出下面的命令将它们设置为正常模式:SQL> alter tablespace users end backup SQL> ALTER DATABASE END BACKUP;
4. 归档尚未归档的重做日志,以便归档恢复表空间备份所需的重做日志,如下所示:SQL> alter system archive log current
对所有表空间重复这些步骤,包括SYSTEM 和还原段表空间。ALTER TABLESPACE BEGIN BACKUP 和ALTER TABLESPACE END BACKUP 命令之间的间隔时间应尽量缩短,因为修改后的块写入重做日志文件将导致生成更多的重做信息。因此建议您每次执行一个表空间的联机备份。

 

热备份实战:

1.确定要备份的表空间

SQL> select file_id,file_name,tablespace_name from dba_data_files where tablespace_name = 'USERS';

   FILE_ID FILE_NAME                                          TABLESPACE_NAME
---------- -------------------------------------------------- ------------------------------
         4 /u01/app/oracle/oradata/orcl/users01.dbf           USERS

SQL> select * from v$backup where file# = 4;

     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         4 NOT ACTIVE                  0

2.开始备份

SQL> alter tablespace users begin backup;

表空间已更改。

SQL> select * from v$backup where file# = 4;

     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         4 ACTIVE                 992599 07-10月-11

3.复制数据文件

SQL> ! cp /u01/app/oracle/oradata/orcl/users01.dbf /u01/app/oracle/backup/users01.dbf

4.结束备份

SQL> alter tablespace users end backup;

表空间已更改。

SQL> select * from v$backup where file# = 4;

     FILE# STATUS                CHANGE# TIME
---------- ------------------ ---------- --------------
         4 NOT ACTIVE             992599 07-10月-11


手动备份控制文件:

创建二进制映像:

SQL> alter database backup controlfile to '/u01/app/oracle/backup/control01.ctl';

数据库已更改。

创建文本跟踪文件:

SQL> alter database backup controlfile to trace as '/u01/app/oracle/backup/control01.sql';

数据库已更改。

这样就会生成创建控制文件的sql语句脚本,此脚本分为两部分,noresetlogs模式打开数据库和resetlogs模式打开数据库。

指定RESETLOGS会执行下列操作:归档当前的在线重做日志文件(如果能访问到的话),然后清空内容并将日志文件序号重置为1(如果在线重做日志文件不存在,则重建)。重置控制文件中关于在线日志文件的元数据。更新数据文件和在线重做日志文件中的RESETLOGS SCN和重置时间信息。NORESETLOGS选项则与其相反。

 

完全恢复与resetlogs

很多朋友经常会对完全恢复与resetlogs产生误解,以为使用resetlogs方式打开数据库就是不完全恢复,这种看法是不正确的。只要拥有当前的日志文件,那么就能够对数据库执行完全恢复,而是否需要使用resetlogs方式打开,则取决于是否使用的备份的控制文件。如果使用的备份的控制文件则需要使用resetlogs方式打开数据库;如果拥有当前的控制文件或者通过重建控制文件来恢复,就不需要通过resetlogs方式开口数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值