3.临时表空间、undo表空间、逻辑备份恢复

一、临时表空间

常用场景:用户对大量数据进行排序

  用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久性数据。

临时表空间

临时表空间组:一组由临时表空间组成的组,临时表空间和临时表空间不能同名。临时表空间组不能显示地创建和删除,当第一个临时表空间分配给某个临时表空间组是,会自动创建临时表空间组,将临时表空间的最后一个临时表空间删除,会自动删除临时表空间组

--查看数据库中的表空间
select * from v$tablespace;

--查看临时文件
select * from v$tempfile;
select * from dba_temp_files;

--查看临时表空间组的信息
select * from dba_tablespace_groups;

--查看临时表空间信息
select * from dba_tablespaces;

--创建临时表空间,不属于组
create temporary tablespace temp2 tempfile  ‘E:\temp2a.dbf’ size 10m autoextend on;
--创建临时表空间,属于组 temp_grp
create temporary tablespace temp3 tempfile  ‘E:\temp3a.dbf’ size 10m autoextend on tablespace group temp_grp;

--将temp2加入 temp_grp组中
alter tablespace temp2 tablespace group temp_grp;
--将temp2移出 temp_grp组中
alter tablespace temp2 tablespace group ‘’;

--给temp2表空间添加一个临时文件
alter tablespace temp2 add tempfile ‘E:\temp2b.dbf’ size 10m autoextend on;

二、undo表空间

undo:撤销

  对于DML语句来说,只要修改了数据块,oracle数据库就会将修改前的数据保留下来,保存在undo segment里,而undo segment 则保存在undo报表空间里

 

undo的作用:提供一致性读,回滚事务、实例恢复

undo表空间:undo segment则保存在undo表空间里,数据库中可以同时存在多个undo表空间,但在一个时间点上,数据库只能使用一个undo表空间,如果将undo_tablespace参数设置为另外一个undo表空间的名字,则称为undo表空间的切换。

undo相关参数

1. undo_retention : 该参数以秒为单位,表示当事务提交或 回滚以后,该事物所使用的undo块里的数据需要保留多长时间,当保留的时间超过undo_retention 所指定的时间以后,该undo块才能够被其他事物覆盖。

2.retention_guarantee:当undo数据文件不能自动扩展,并且undo块不够时用,直接报错,而不是覆盖那些inactive而没有expired的undo块。

--查看系统中的undo表空间
select * from dba_tablespaces;

--查看undo表空间的管理方式:手工管理和自动管理
show parameter undo_management

--增加一个回滚表空间undo tablespace,叫 undotbs2 
--用来存放回滚段中的数据,记录数据改变的旧值,采用local方式管理存储
create undo tablespace undotbs2 datafile 'E:\undotbs2.dbf'  size 10m autoextend on;

--给回滚表空间undotbs2 增加一个数据文件
alter tablespace undotbs2 add datafile 'E:\undotbs2a.dbf'  size 10m ;

--查看默认的undo表空间
show parameter undo

--启动retention guarantee 并查看是否启动,再将其取消
alter tablespace undotbs1 retention guarantee;
select tablespace_name,retention from dba_tablespaces;
alter tablespace undotbs1 retention noguarantee;

--查看undo表空间的使用情况  v$undostat --每十分钟更新一次,记录undo表空间使用情况
desc  v$undostat
--
select * from v$undostat

 三、逻辑备份恢复

备份:数据库中数据的副本

1.oracle数据库的备份包括两种类型:

物理备份:对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份

逻辑备份:对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份

 

2.导致数据库操作中的故障四种类型:

①语句故障:在执行sql语句无效可导致语句故障

②用户进程故障:当用户程序出错而无法访问数据库时发生用户进程故障。

        导致用户进程故障的原因是异常断开连接或异常终止进程

③实例故障:当oracle 的数据库实例由于硬件或软件问题而无法继续运行时,就会发生实例故障

④介质故障:在数据库无法正确读取或写入某个数据库文件时,会发生故障

 

3.传统非导入导出

传统的导入导出程序  用于实施数据库的逻辑备份和恢复  是客户端工具

导出程序 将数据库中的对象定义的数据 备份到一个操作系统二进制文件中

导入程序 读取二进制导出文件并将对象和数据载入数据库中

4.调用导出和导入实用程序三种方法:

① 交互提示符:以交互的方式提示用户逐个输入参数的值

②命令行参数:在命令行指定执行程序的参数和参数值

③参数文件:允许用户 将运行参数和参数值存储在参数文件中,以便重复使用参数

 

posted @ 2020-08-11 17:35  孫sun  阅读(341)  评论(0编辑  收藏  举报