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

Oracle表空间和数据文件管理

2012-07-03 09:47 393 查看
数据库模型

Database
Tablespace               Datafile
Segment
Extent
Oracle Block             OS block

创建表空间
SQL> create tablespace user_data
  2  datafile 'd:\userdata\userdata1.dbf' size 100m
  3  ;

表空间已创建。
SQL> select tablespace_name,logging,status from dba_tablespaces;

TABLESPACE_NAME                LOGGING   STATUS
------------------------------ --------- ---------
SYSTEM                         LOGGING   ONLINE
SYSAUX                         LOGGING   ONLINE
UNDOTBS1                       LOGGING   ONLINE
TEMP                           NOLOGGING ONLINE
USERS                          LOGGING   ONLINE
EXAMPLE                        NOLOGGING ONLINE
INDEX_TBS                      LOGGING   ONLINE
USER_DATA                      LOGGING   ONLINE

已选择8行。

创建本地表空间
加上
Extent management local
Uniform size 1m;

查看表空间的类型
SQL> select tablespace_name,contents from dba_tablespaces;

TABLESPACE_NAME                CONTENTS
------------------------------ ---------
SYSTEM                         PERMANENT
SYSAUX                         PERMANENT
UNDOTBS1                       UNDO
TEMP                           TEMPORARY
USERS                          PERMANENT
EXAMPLE                        PERMANENT
INDEX_TBS                      PERMANENT
USER_DATA                      PERMANENT

已选择8行。

创建临时表空间
SQL> show parameter temp;

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------------------
sec_max_failed_login_attempts        integer     10
SQL> create temporary tablespace user_temp
  2  tempfile 'd:\userdata\user_temp.dbf' size 20m
  3  extent management local
  4  uniform size 1m
  5  ;

表空间已创建。

切换表空间
SQL> alter database default temporary tablespace user_temp;

数据库已更改。

创建大文件表空间
SQL> create bigfile tablespace bigfiletbs
  2  datafile 'd:\userdata\bfile_tbs01.dbf'
  3  size 2g;

表空间已创建。

查看表空间的大小
SQL> run;
  1* select tablespace_name ,file_name,bytes/(1024*1024*1024)G from dba_data_fil
es

TABLESPACE_NAME                FILE_NAME
           G
------------------------------ -------------------------------------------------
- ----------
USERS                          D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
  .004882813
UNDOTBS1                       D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
    .2734375
SYSAUX                         D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
  .714477539
SYSTEM                         D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
  .673828125
EXAMPLE                        D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
   .09765625
INDEX_TBS                      D:\INDEX_TBS
   .09765625
USER_DATA                      D:\USERDATA\USERDATA1.DBF
   .09765625
BIGFILETBS                     D:\USERDATA\BFILE_TBS01.DBF
           2

已选择8行。

是表空间脱机联机

SQL> alter tablespace user_data offline;

表空间已更改。

SQL> alter tablespace user_data online;

表空间已更改。

设置表空间只读和可写
SQL> alter tablespace user_data read  only;

表空间已更改。

SQL> alter tablespace user_data read write;

表空间已更改。

修改表空间的大小

第一就是设置为自动扩展的模式
SQL> create tablespace manager_tbs1
  2  datafile 'd:\userdata\tbs1.dbf'
  3  size 100m
  4  autoextend on ;

表空间已创建。

增加数据文件

SQL> alter tablespace manager_tbs1
  2  add datafile 'd:\userdata\tbs2.dbf'
  3  size 20m;
修改数据文件大小
SQL> alter database
  2  datafile 'd:\userdata\tbs2.dbf' resize 100m;

数据库已更改。
删除表空间
SQL> drop tablespace manager_tbs1 including contents and datafiles;

表空间已删除。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐