您的位置:首页 > 数据库 > Oracle

oracle数据文件查询修改总结

2014-03-04 16:59 253 查看
一. 数据文件的查询方式

1. 数据文件

SELECT * FROM V$DATAFILE;

2. 临时文件

SELECT * FROM V$TEMPFILE;

3.日志文件

SELECT * FROM V$LOGFILE;

二. 数据文件的修改

主要总结几个常用的数据文件修改方式,也是经常遇到需要修改的数据文件。

在实际工作过程中,如果有巨量的排序、对比等操作,都会造成 TEMP UNDO两个表空间的迅速增长, 但是Oracle又采用的是贪心策略,即占有了的空间,他就不再释放,所以,一段时间之后,就需要释放重建这2个表空间。

1.
TEMP表空间的修改

方法一:对于临时表空间,可以用resize

修改其空间,但是前提是其中没有数据或不是正在使用;

SQL> ALTER database TEMPFILE '/u01/app/oracle/database/oradata/Bondex/temp01.dbf' resize 100M

ALTER database TEMPFILE '/u01/app/oracle/database/oradata/Bondex/temp01.dbf ' resize 100M

ORA-03297: file contains used data beyond requested RESIZE value

出现这样的提示,说明该表空间里还有数据不能立即resize.只能等到其中没有数据才可以 resize了

方法二:对于其中有数据的表空间,则可以采取替换的方法:

SQL> create temporary tablespace TEMP1 tempfile '/u01/app/oracle/oradata/BXG/temp02.dbf' size 200M;

Tablespace created.

SQL> alter database default temporary tablespace TEMP1;

Database altered.

SQL> drop tablespace TEMP including contents and datafiles;

Tablespace dropped.

新建后的表空间因为没有数据,就可以再resize了

SQL> alter database tempfile '/u01/app/oracle/oradata/BXG/temp02.dbf' resize 100M;

Database altered.

2. UNDO表空间的修改

再看UNDO表空间,UNDO表空间就没有resize了,直接重建1创建新的undo表空间

SQL> CREATE UNDO TABLESPACE undotbs DATAFILE ‘/oracle/app/oracle/oradata/ora10g/undo01.dbf‘ SIZE 100M

Tablespace created.

2。切换UNDO表空间为新的UNDO表空间

alter system set undo_tablespace=undotbs scope=both;

或者修改init文件,重启数据库

3 删除原来的undo表空间

SQL> drop tablespace undotbs1 including contents;

Tablespace dropped
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: