手工备份 恢复的方式
undo 表空间的扩展与收缩

 

手工备份和恢复

要备和恢复的是:份控制文件,数据文件和日志文件

恢复: 数据库数据损坏的情况下,使用备份将受损的恢复过来的过程。

控制文件

控制文件主要是在oracle启动的时候,启动到第二部mount的时候,会从控制文件中读取日志文件和数据文件的路径信息

控制文件所在目录:cd /oracde/app/oracle/oradata/TEST/control.ctl的胡文件。

oracle默认会创建三个控制文件,三个控制文件里边的内容完全是一模一样的,是二进制文件

包含   数据库名称与表示

       表空间名称

       数据文件与日志文件位置与名称

       归档日志文件信息

       备份信息 (RMAN)备份元数据信息

文件的存储位置

2012/12/07 d109作业

查看系统的控制文件:

select * from v$controlfile

2012/12/07 d109作业

查看系统的日志文件:

select * from v$logfile

 

2012/12/07 d109作业

查看系统的数据文件:

select * from v$dba_data_files;

 

 

2012/12/07 d109作业

然后在/home/oracle/下新建三个文件:

分别为控制文件的备份文件crl.bak

日志文件的备份文件log.bak

数据文件的备份文件data.dbf

 

2012/12/07 d109作业

进行备份文件:

首先关掉数据库:

2012/12/07 d109作业

开始备份文件

 

2012/12/07 d109作业

备份完成,查看备份的结果:

cd /home/oracle

 

2012/12/07 d109作业

查看是否备份过来了

2012/12/07 d109作业

备份全部完成。

恢复就是将备份的文件拷贝到要来的文件目录下。

2.备份表空间
表空间在oracle中只是个逻辑概念,备份表空间其实是备份表空间下的数据文件,我们要找到表空间下对应的数据文件,把数据文件备出来。注意表空间备份只适用于archivelog模式,备份表空间分为在表空间online备份和表空间offline备份,表空间脱机备份

SQL> select file_name from dba_data_files where tablespace_name='TEST1';
FILE_NAME
--------------------------------------------------------------------------------
/oracle/app/oradata/TEST/test1.dbf
SQL> alter tablespace test1 offline;
Tablespace altered.
SQL> ! cp /u01/test1.dbf /u01/backup
SQL> alter tablespace test1 online;
Tablespace altered.
这样表空间test1就备份完了,因为表空间offline后就不能访问数据文件了,而且system表空间和正在使用的undo表空间不能脱机,所以这种方法很少用。

 

undo  扩展和收缩

一.表空间的扩展有两种方式:

1.手动增大表空间

查看表空间

2012/12/07 d109作业

查看undo表空间。undo表空间的大小。

2012/12/07 d109作业

2012/12/07 d109作业

2012/12/07 d109作业

扩展undo表空间为100M。

2012/12/07 d109作业

收缩undo表空间为50M。

2012/12/07 d109作业


2.将表空间设置为自动扩展

undo 表空间每次自动扩展1M。

 

2012/12/07 d109作业

修改undo表空间为25M;

2012/12/07 d109作业

创建一表为t.插入一些数据,并删除。

2012/12/07 d109作业

再次查看undo表空间的大小为:

2012/12/07 d109作业

这就是undo表的自动扩展。