一、冷备份介绍:
1、优点:
2、缺点:
3、具体备份步骤如下:
SQL> select name from v$datafile;NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/system01.dbf
/u02/oradata/db01/undotbs01.dbf
/u02/oradata/db01/sysaux01.dbf
/u02/oradata/db01/users01.dbfSQL> select name from v$controlfile;NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/control01.ctl
/u02/oradata/db01/control02.ctl
/u02/oradata/db01/control03.ctl
/u01/app/oracle/bak/control04.ctl<2>以DBA用户或特权用户关闭数据库。SQL> conn /as sysdba;
Connected.
SQL> shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.<3>复制数据文件,复制时应该将文件复制到单独的一个硬盘或者磁盘上。控制文件是相互镜像的,因此只需复制一个控制文件即可。cp /u02/oradata/db01/*.dbf/u01/app/oracle/bak cp /u02/oradata/db01/*.ctl/u01/app/oracle/bak <4>启动例程打开数据库。SQL> conn / as sysdba;
Connected to an idle instance.
SQL> startup
ORACLE instance started.Total System Global Area285212672 bytes
Fixed Size1218992 bytes
Variable Size83887696 bytes
Database Buffers197132288 bytes
Redo Buffers2973696 bytes
Database mounted.
Database opened.
SQL>
二、热备份:
模式,就可以进行备份了,当执行备份时,只能在数据文件级或表空间进行。
1、优点:
<2>可达到秒级恢复(恢复到某一时间点上)。
<5>备份时数据库仍可用。
2、缺点:
3、设置初始归档模式:
设置归档模式数据库必须处在mount而非open状态下:
SQL> alter database open;Database altered.<5>将数据库设置成自动归档,使用以下命令:SQL> alter system set log_archive_start=true scope=spfile;System altered.<6>确定数据库处于归档模式下,并且设置自动存档:SQL> archive log list;
Database log modeArchive Mode
Automatic archivalEnabled
Archive destinationUSE_DB_RECOVERY_FILE_DEST
Oldest online log sequence1
Next log sequence to archive2
Current log sequence2 上面的Archive destination所定义的具体位置,可以查看$ORACLE_HOME/dbs/spfile.ora文件中的db_recovery_file_dest参数的值。
4、联机备份:
SQL> select file_name from dba_data_files where tablespace_name='USERS';FILE_NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/users01.dbf<2>设置表空间为备份模式,在复制表空间的数据文件之前必须将表空间设置成为备份模式:SQL> alter tablespace users begin backup;Tablespace altered.<3>复制users数据文件到备份目录:[oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak<4>复制后表空间就不需要设置成为备份模式了,因此可以将其返回正常模式:SQL>alter tablespace users end backup; Tablespace altered.
5、脱机备份:
SQL> select file_name from dba_data_files where tablespace_name='USERS';FILE_NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/users01.dbf<2>设置表空间为脱机状态,将表空间设置为脱机状态后用户将不能访问该表空间上的任何对象,因此也可以确保OFFLINE的表空间的数据文件不会发生改变。SQL> alter tablespace users offline;Tablespace altered.SQL> select tablespace_name,online_status from dba_data_files;TABLESPACE_NAMEONLINE_
------------------------------ -------
USERSOFFLINE
SYSAUXONLINE
UNDOTBS1ONLINE
SYSTEMSYSTEM <3>复制users数据文件到备份目录:[oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak<4>复制完后将表空间置于online状态:SQL> altertablespace users online; Tablespace altered.SQL> select tablespace_name,online_status from dba_data_files;TABLESPACE_NAMEONLINE_
------------------------------ -------
USERSONLINE
SYSAUXONLINE
UNDOTBS1ONLINE
SYSTEMSYSTEM