Oracle表空间操作详解

上传人:公**** 文档编号:561082520 上传时间:2023-09-26 格式:DOC 页数:25 大小:198KB
返回 下载 相关 举报
Oracle表空间操作详解_第1页
第1页 / 共25页
Oracle表空间操作详解_第2页
第2页 / 共25页
Oracle表空间操作详解_第3页
第3页 / 共25页
Oracle表空间操作详解_第4页
第4页 / 共25页
Oracle表空间操作详解_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《Oracle表空间操作详解》由会员分享,可在线阅读,更多相关《Oracle表空间操作详解(25页珍藏版)》请在金锄头文库上搜索。

1、Oracle表空间操作详解1. 创建表空间:createtablespacedatafile size autoexte nd onn ext maxsizemaxsize un limitedeg:createtablespace sales datafile c:1.txt size 10m autoexte nd on next 1m maxsize 100m2. 为表空间增加数据文件:altertablespacetablespace_ nameadd datafile filepath size autoexte nd onn ext maxsizefilemaxsize un li

2、mited;eg:altertablespace sales datafile c:2.txt size 10m autoextend on next 1m maxsize unlimited3调整表空间:alter database datafile filepath resize ;-重置表空间的大小eg:alter database datafile c:2.txt resize 10m在实际使用中我们经常会遇到oracle某个表空间占用了大量的空间而其中的数据量却只占用了少量空间, 此时我们可以用 ALTER DATABASE DATAFILE *.dbf RESIZE nnM 的命

3、令来收缩表空间,但在收缩的过程中会遇到ora-03297错误,表示在所定义的空间之后有数据存在,不能收缩,此时的解决办法有:(1).先估算该表空间内各个数据文件的空间使用情况:SQLselect file# ,n ame from v$datafile;SQLselect max(block_id) from dba_exte nts where file_id=11;MAX(BLOCK_ID)13657SQLshow parameter db_block_sizeNAME TYPE VALUEdb_block_size in teger 8192SQLselect 13657*8/1024

4、from dual;13657*8/1024106.695313这说明该文件中最大使用块位于106M与107M之间,SQL alter database datafile /ora_data/cni nsite/i nsitedev02.dbf resize 100M;alter database datafile /ora_data/cnin site/i nsitedev02.dbf resize 100M*ERROR at line 1:ORA-03297: file contains used data beyond requested RESIZE valueSQL alter da

5、tabase datafile /ora_data/cni nsite/i nsitedev02.dbf resize 107M;Database altered.(2).如果某些表占用了数据文件的最后一些块,则需要先将该表导出或移动到其他的表空间中,然后删除表,再进行收缩。不过如果是移动到其他的表空间,需要重建其索引。SQL alter table t_obj move tablespace t_tbs1;(2)删除某个表空间中的某个数据文件export 该表空间的内容:expdp 用户名 /密码 DUMPFILE=XXX.dmp tablespaces=xxx;1) shutdow n(a

6、bort)2) startup mount3) alter databasedatafile fullpath_of_removed_DF offline drop在非归档模式下,可以使用offline drop,在归档模式下,使用 offline这个命令的意思并不是从表空间将这个数据文件彻底删除,而是说将这个数据文件冻结”住:它的sen不在变化,不会再向它写入任何数据;但是原有存在这个文件中对象和数据还可 以继续使用。因此在使用这个命令后,通过修改控制文件将它删除,数据库在启动时就会报文件丢失的错误,并且会在数据字典中产生一个MISGXXXXX的纪录。因此,以一个数据文件是无法被直接从数据库

7、中删除掉的。刪除表格空間SQL DROP TABLESPACE users INCLUDING CONTENTS and datafiles;在drop users表空間時遇到如下錯誤:SQL DROP TABLESPACE users INCLUDING CONTENTS and datafiles;DROP TABLESPACE users INCLUDING CONTENTS and datafiles*ERROR 在行 1:ORA-12919:無法刪除預設永久表格空間原來在oraclelOg中,必須爲數據庫指定一個默認的永久表空間。而默認是users表空間,所以會出現上面的錯誤信息。把

8、默認的永久表空間改爲system表空間就可以了:SQL alter database default tablespace system;4) SQL alter databaseope n5) 重建被drop掉的表空间,再import前面备份的表空间impdp 用户名 /密码 DUMPFILE=XXX.dmp tablespaces=xxx;4.关闭表空间的自动扩展属性:alter database datafile filepath autoextend offeg:alter database datafile c:2.txt autoexte nd off5打开表空间的自动扩展属性:a

9、lter database datafile filepath autoextend on eg:alter database datafile c:2.txt autoexte nd on6. 使表空间脱机:altertablespacetablespace_ name offline7. 使表空间联机:altertablespacetablespace_ name on li ne8. 设置表空间为只读:altertablespacetablespace_ name read only9. 设置表空间为读写:altertablespacetablespace_ name read writ

10、e11. 删除表空间:droptablespacetablespace_ name12. 删除表空间的同时,删除数据文件droptablespacetablespace_ name in cludi ng contents and datefiles13. 查看每个表空间占用空间的大小:selecttablespace_ name,sum(bytes)/1024/1024 from dba_segme nts group bytablespace_ name10.oracle中如何移动控制文件,数据文件,日志文件oracle9i/10G-xG 中移动控制文件,数据文件,日志文件ORACLE数据

11、库由数据文件,控制文件和联机日志文件三种文件组成。windows 环境中用: host copy 或 host move 其它均相同。以下是unix或linux环境中,一. 移动数据文件:ALTER TABLESPACE 方法(联机状态):用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。$ sqlplus /as sysdba#把需要移动的数据文件对应的表空间offli neSQL alter tablespaceipas_acct_data offline#把数据文件cp到想要放的目录下。SQL !mv /opt/oracle/wacosd

12、ata/ipas_acct_data001.dbf/opt/oracle/nm s/oradata/ipas_acct_data001.dbf#修改表空间中数据库文件的位置。SQL alter tablespaceipas_acct_data ren ame datafile7opt/oracle/wacosdata/ipas_acct_data001.dbf to/opt/oracle/nm s/oradata/ipas_acct_data001.dbf#把表空间online。SQL alter tablespaceipas_acct_data on li ne#查看修改结果。SQL sel

13、ect file_ name from dba_data_files where tablespace_ name =IPAS_ACCT_DATA:ALTER DATABASE 方法(脱机状态):用此方法,可以移动任何表空间的数据文件。$ sqlplus /as sysdbaSQL shutdow n immediateSQL !mv /opt/oracle/oradata/wacos002.dbf /ora10g/oradata/wacos002.dbfSQL startup mountSQL alter database ren ame file 7opt/oracle/oradata/w

14、acos002.dbf to 7ora10g/oradata/wacos002.dbf;SQL alter database ope n;SQL set head offSQL SELECT file_ name from dba_data_files where tablespace_ name = WACOS:二. 移动控制文件:$ sqlplus /as sysdba#我是用的spfile启动的,spfile文件不能修改,所以要做这一步。SQL create pfile from spfile#关闭数据库。SQL shutdow n immediate#cp控制文件到目标位置。SQLcp

15、 /opt/oracle/oradata/c on trol* /opt/oracle/oratest/修改$ORACLE_HOME/dbs/init$ORACLE_SID.ora文件中的控制文件的位置。#启动数据库指定参数文件。SQL startup pfile=/opt/oracle/product/9.2.0.4/dbs/i nit$ORACLE_SID.ora#下次启动数据库是直接就可以用 startup启动了。SQL create spfile from pfile;三. 移动重做日志文件:$ sqlplus /as sysdba#关闭数据库。SQL shutdow n immediate#cp日志文件到目标位置。SQL !cp /opt/or

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号