读书人

三、管理表空间和数据文件

发布时间: 2012-07-03 13:37:43 作者: rapoo

3、管理表空间和数据文件
一、表空间查询
1.在DBA_DATA_FILES数据字典中查询

CREATE [SMALLFILE/BIGFILE] --大文件或小文件表空间TABLESPACE tabspace_name   --名称DATAFILE '/OS_PATH/file_name' SIZE INTEGER [K/M] --设置物理路径和大小         REUSE   --如果文件存在,清除后重新建;否则直接建立         [,'/OS_PATH/file_name' SIZE INTEGER [K/M] REUSE][AUTOEXTEND [OFF/ON] NEXT INTEGER[K/M] --是否自动扩展,ON需要设置NEXT 大小[MAXSIZE[UNLIMITED /INTEGER [K/M]]]]  --最大表空间大小[MINIMUM EXTENT INTEGER[K/M]]   [DEFAULT STORAGE storage]    --指定以后要创建表,索引及簇的存储参数[ONLINE/OFFLINE]    [LOGGING/NOLOGGING]      --是否产生日志[PERMANENT/TEMPORARY]    --永久或临时 ,默认是永久表空间[EXTENT MANAGEMENT   --扩展段得管理      [DICTIONARY/LOCAL    --数据字典管理还是本地管理,建议本地管理 [AUTOALLOCATE|UNIFORM SIZE INTEGER[K/M]]]]--例子---------------------------create tablespace myspace datafile 'D:\ORACLE\ORADATA\C_DB\myspace01.DBF'size 256M reuseautoextend on next 20M maxsize unlimitedlogging onlinepermanent -- blocksize 16384 加上这句,表示建立非标准块的表空间extent management local autoallocatesegment space management auto;--上面的表空间建立中,有很多参数可以是系统默认的。--修改表空间大小的2种方法alter database datafile 'D:\ORACLE\ORADATA\C_DB\myspace01.DBF' resize 1G; alter tablespace myspace resize 10G;--改变表空间的读写状态--条件:表空间处于ONLINE,没有任何回滚段,(归档模式或数据发行中不能改为只读)alter tablespace myspace read only;alter tablespace myspace read write;--------------------------表空间的操作  --------------------------1.修改表空间的名字--先查询SELECT TABLESPACE_NAME ,FILE_NAME FROM DBA_DATA_FILES;ALTER TABLESPACE OLD_NAME TO NEW_NAME;--修改后,旧表空间存放的对象被自动的更名为新表空间--2.设置默认表空间alter database default tablespace myspace;select property_value from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';--3.删除表空间--语法-----------------------------------------DROP TABLESPACE TABLESPACE_NAME   --表空间名称[INCLUDING CONTENTS]              --删除表空间以及里面的数据 [CASCADE CONSTRAINS]              --删除相关的完整性约束(主键,索引等)[color=red]注:如果使用了分区【partition】的表空间,要先使用alter table ...remove partition将表空间的数据移到别的表空间去,然后才能drop[/color]drop tablespace my_tabs including contents cascade constraints;--4.新增数据文件到表空间alter tablespace my_tabs add datafile '/OS_PATH/xxx.dbf' size 300MB;--5.删除表空间中无数据的数据文件--在11gR2后才能删除数据文件alter tablespace my_tabs drop datafile '/OS_PATH/xxx.dbf' ;--6.在数据文件中设置自动扩展属性ALTER DATABASE/TABLESPACE [FILE_PATH]   --file_path表示路径+文件名AUTOEXTEND ON NEXT[INCREMENT_SIZE]      --自动扩展的大小MAXSIZE[MAX_SIZE/UNLIMITED]             --最大值或无限大小UNLIMITED--查询数据文件,并改为自动扩展SQL> select file_name ,tablespace_name,bytes/1024/1024 M,autoextensible from dba_data_files order by tablespace_name;FILE_NAME                                  TABLESPACE          M AUT------------------------------------------ ---------- ---------- ---D:\ORACLE\ORADATA\C_DB\CWMLITE01.DBF       CWMLITE            20 YESD:\ORACLE\ORADATA\C_DB\DRSYS01.DBF         DRSYS              20 YESD:\ORACLE\ORADATA\C_DB\EXAMPLE01.DBF       EXAMPLE       149.375 YESD:\ORACLE\ORADATA\C_DB\INDX01.DBF          INDX               25 YESD:\ORACLE\ORADATA\C_DB\ODM01.DBF           ODM                20 YESD:\ORACLE\ORADATA\C_DB\SYSTEM01.DBF        SYSTEM            400 YESD:\ORACLE\ORADATA\C_DB\TOOLS01.DBF         TOOLS              10 YESD:\ORACLE\ORADATA\C_DB\UNDOTBS01.DBF       UNDOTBS1          200 YESD:\ORACLE\ORADATA\C_DB\USERS01.DBF         USERS              25 YESD:\ORACLE\ORADATA\C_DB\my_tabs.DBF         MY_TABS        38.125 NOalter database datafile 'D:\ORACLE\ORADATA\C_DB\my_tabs.DBF'autoextend on next 200M maxsize 5000M;

读书人网 >其他数据库

热点推荐