作者:雨竹清风
1.首先查询系统中的表空间所对应的数据文件和它们的大小。
SQL> desc dba_data_files;
名称 是否为空? 类型
------------------------------------- -------- --------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
SQL> col file_name for a40
SQL> col tablespace_name for a15
SQL> select file_id,file_name,tablespace_name,bytes/(1024*1024) MB
2 from dba_data_files;
FILE_ID FILE_NAME TABLESPACE_NAME MB
---------- ---------------------------------------- --------------- ----------
4 C:\DISK3\ORACLE\PRODUCT\10.2.0\ORADATA\O USERS 5
RCL\USERS01.DBF
3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SY SYSAUX 260
SAUX01.DBF
2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UN UNDOTBS1 35
DOTBS01.DBF
1 C:\DISK4\ORACLE\PRODUCT\10.2.0\ORADATA\O SYSTEM 480
RCL\SYSTEM01.DBF
FILE_ID FILE_NAME TABLESPACE_NAME MB
---------- ---------------------------------------- --------------- ----------
5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EX EXAMPLE 100
AMPLE01.DBF
6 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE XUANXUAN 100
\XUANXUAN.DBF
9 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE XUANXUAN 80
\XUANXUAN02.DBF
已选择7行。
2.查询是否是本地管理以及大小
SQL> desc dba_tablespaces;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
BLOCK_SIZE NOT NULL NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NOT NULL NUMBER
MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
MIN_EXTLEN NUMBER
STATUS VARCHAR2(9)
CONTENTS VARCHAR2(9)
LOGGING VARCHAR2(9)
FORCE_LOGGING VARCHAR2(3)
EXTENT_MANAGEMENT VARCHAR2(10)
ALLOCATION_TYPE VARCHAR2(9)
PLUGGED_IN VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)
DEF_TAB_COMPRESSION VARCHAR2(8)
RETENTION VARCHAR2(11)
BIGFILE VARCHAR2(3)
SQL> select tablespace_name,block_size,extent_management, SEGMENT_SPACE_MANAGEMENT, MIN_EXTLEN from dba_tablespaces;
TABLESPACE_NAME BLOCK_SIZE EXTENT_MAN SEGMEN MIN_EXTLEN
--------------- ---------- ---------- ------ ----------
SYSTEM 8192 LOCAL MANUAL 65536
UNDOTBS1 8192 LOCAL MANUAL 65536
SYSAUX 8192 LOCAL AUTO 65536
TEMP 8192 LOCAL MANUAL 1048576
USERS 8192 LOCAL AUTO 65536
EXAMPLE 8192 LOCAL AUTO 65536
XIXI_TEMP 8192 LOCAL MANUAL 2097152
XUANXUAN 8192 LOCAL AUTO 131072
已选择8行。
3.查询当前数据库中的每个临时文档所对应的数据文件信息
SQL> col FILE for a40
SQL> select f.file#,t.ts#,f.name "FILE",t.name "TABLESPACE_NAME"
2 from v$tempfile f,v$tablespace t
3 where f.ts# = t.ts#;
FILE# TS# FILE TABLESPACE_NAME
---------- ---------- ---------------------------------------- ---------------
1 3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TE TEMP
MP01.DBF
2 10 D:\ORACLE\PRODUCT\10.2.0\USER_TABLESPACE XIXI_TEMP
\XIXI_TEMP.DBF
4.创建表空间
1)数据表空间的创建
SQL> create tablespace China_data
2 datafile 'C:\disk1\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\China_data.dbf'
3 size 100 M
4 extent management local
5 uniform size 1 M;
表空间已创建。
2)索引表空间的创建
SQL> create tablespace China_index
2 datafile 'C:\disk2\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\China_index.dbf'
3 size 100 M
4 extent management local
5 uniform size 1 M;
表空间已创建。
3)还原表空间的创建
SQL> create undo tablespace China_undo
2 datafile 'C:\disk3\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\China_undo.dbf'
3 size 50 M
4 extent management local;
表空间已创建。
4)临时表空间的创建
SQL> create temporary tablespace China_temp
2 tempfile 'C:\disk4\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\China_temp.dbf'
3 size 50 M
4 extent management local
5 uniform size 2 M;
表空间已创建。
5.查询是否已经成功创建
SQL> col file_name for a40
SQL> col tablespace_name for a15
SQL> select file_id,file_name,tablespace_name,bytes/(1024*1024) MB
2 from dba_data_files
3 where tablespace_name like '%CHINA%';一定要大写,否则会出现未定行等错误
FILE_ID FILE_NAME TABLESPACE_NAME MB
---------- ---------------------------------------- --------------- ----------
7 C:\DISK1\ORACLE\PRODUCT\10.2.0\ORADATA\O CHINA_DATA 100
RCL\CHINA_DATA.DBF
8 C:\DISK2\ORACLE\PRODUCT\10.2.0\ORADATA\O CHINA_INDEX 100
RCL\CHINA_INDEX.DBF
10 C:\DISK3\ORACLE\PRODUCT\10.2.0\ORADATA\O CHINA_UNDO 50
RCL\CHINA_UNDO.DBF
6.查询临时表空间
SQL> select f.file#,t.ts#,f.name "FILE",t.name "tablespace_name"
2 from v$tempfile f,v$tablespace t
3 where f.ts# =t.ts#
4 and t.name like '%CHINA%';
FILE# TS# FILE tablespace_name
---------- ---------- ---------------------------------------- ---------------
3 16 C:\DISK4\ORACLE\PRODUCT\10.2.0\ORADATA\O CHINA_TEMP
RCL\CHINA_TEMP.DBF