一、临时表空间
常用场景:用户对大量数据进行排序
用来存放用户的临时数据,临时数据就是在需要时被覆盖,关闭数据库后自动删除,其中不能存放永久性数据。
临时表空间
临时表空间组:一组由临时表空间组成的组,临时表空间和临时表空间不能同名。临时表空间组不能显示地创建和删除,当第一个临时表空间分配给某个临时表空间组是,会自动创建临时表空间组,将临时表空间的最后一个临时表空间删除,会自动删除临时表空间组
--查看数据库中的表空间 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: emp2a.dbf’ size 10m autoextend on; --创建临时表空间,属于组 temp_grp create temporary tablespace temp3 tempfile ‘E: emp3a.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: emp2b.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.调用导出和导入实用程序三种方法:
① 交互提示符:以交互的方式提示用户逐个输入参数的值
②命令行参数:在命令行指定执行程序的参数和参数值
③参数文件:允许用户 将运行参数和参数值存储在参数文件中,以便重复使用参数