接下来宝儿使用如例6-121的查询语句以获得当前数据库中所有表空间和它们所对应的操作系统文件,以及它们的大小。
例6-121
SQL> SELECT file_id, file_name, tablespace_name, 2 bytes/(1024*1024) MB 3 FROM dba_data_files;
FILE_ID FILE_NAME TABLESPACE_NAME MB ------- --------------------------------------------------- --------------- ------ 4 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\USERS01.DBF USERS 5 3 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\SYSAUX01.DBF SYSAUX 210 2 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\UNDOTBS01.DBF UNDOTBS1 25 1 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\SYSTEM01.DBF SYSTEM 450 5 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\EXAMPLE01.DBF EXAMPLE 150
之后,宝儿使用如例6-122的查询语句以获得当前数据库中每个表空间是数据字典管理的还是本地管理,以及它们的数据块大小等信息。
例6-122
SQL> SELECT tablespace_name, block_size, extent_managemen 2 segment_space_management, min_extlen 3 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 6 rows selected.
最后,宝儿使用如例6-123的查询语句以获得当前数据库中每个临时表空间和与之对应的临时数据文件的信息。
例6-123
SQL> SELECT f.file#, t.ts#, f.name \ 2 FROM v$tempfile f, v$tablespace t 3 WHERE f.ts# = t.ts#;
FILE# TS# File Tablespace ---------- ---------- -------------------------------------------------- ---------- 1 3 J:\\ORACLE\\PRODUCT\\10.1.0\\ORADATA\\MOON\\TEMP01.DBF TEMP
当宝儿获得了他所需要的全部信息之后,就使用了如例6-124,例6-125,例6-126,和例6-127的四个创建本地表空间的SQL语句开始创建所需的表空间。
例6-124
SQL> CREATE TABLESPACE pioneer_data
2 DATAFILE 'J:\\DISK2\\MOON\\pioneer_data.dbf' 3 SIZE 100 M
4 EXTENT MANAGEMENT LOCAL 5 UNIFORM SIZE 1M;
Tablespace created. 例6-125
SQL> CREATE TABLESPACE pioneer_indx
2 DATAFILE 'J:\\DISK4\\MOON\\pioneer_indx.dbf' 3 SIZE 100 M
4 EXTENT MANAGEMENT LOCAL 5 UNIFORM SIZE 1M;
Tablespace created.
例6-126
SQL> CREATE UNDO TABLESPACE pioneer_undo 2 DATAFILE 'J:\\DISK6\\MOON\\pioneer_undo.dbf 3 SIZE 50 M
4 EXTENT MANAGEMENT LOCAL;
Tablespace created. 例6-127
SQL> CREATE TEMPORARY TABLESPACE pioneer_temp 2 TEMPFILE 'J:\\DISK8\\MOON\\pioneer_temp.dbf' 3 SIZE 50 M
4 EXTENT MANAGEMENT LOCAL 5 UNIFORM SIZE 2 M;
Tablespace created.
当执行完最后一个创建临时表空间的命令之后,宝儿使用如例6-128的查询语句以获得刚刚所创建的表空间和它们所对应的操作系统文件,以及它们的大小的信息。
SQL> SELECT file_id, file_name, tablespace_name, 2 bytes/(1024*1024) MB 3 FROM dba_data_files
4 WHERE tablespace_name LIKE 'PION%';
FILE_ID FILE_NAME TABLESPACE_NAME MB ---------- ---------------------------------------- --------------- ------ 6 J:\\DISK2\\MOON\\PIONEER_DATA.DBF PIONEER_DATA 100 7 J:\\DISK4\\MOON\\PIONEER_INDX.DBF PIONEER_INDX 100 8 J:\\DISK6\\MOON\\PIONEER_UNDO.DBF PIONEER_UNDO 50
例6-128查询语句显示的结果表明:所创建的表空间和他们所对应的数据文件,以及其大小都准确无误。
接下来,宝儿使用了如例6-129的查询语句以获得刚刚创建的四个表空间是数据字典管理的还是本地管理,以及它们的数据块大小等信息。
例6-129
SQL> SELECT tablespace_name, block_size, extent_management, 2 segment_space_management, min_extlen, contents 3 FROM dba_tablespaces
4 WHERE tablespace_name LIKE 'P%';
TABLESPACE_NAME BLOCK_SIZE EXTENT_MAN SEGMEN MIN_EXTLEN CONTENTS --------------- ---------- ---------- ------ ---------- --------- PIONEER_DATA 8192 LOCAL MANUAL 1048576 PERMANENT PIONEER_INDX 8192 LOCAL MANUAL 1048576 PERMANENT PIONEER_TEMP 8192 LOCAL MANUAL 2097152 TEMPORARY PIONEER_UNDO 8192 LOCAL MANUAL 65536 UNDO
例6-129查询语句显示的结果表明:所创建的四个表空间都是本地管理的,数据块的大小都为8K,所有表空间中段的空间管理都是手动的,其中PIONEER_DATA和PIONEER_INDX为永久表空间,PIONEER_TEMP为临时表空间,PIONEER_UNDO为还原表空间。这些信息正是宝儿在创建这些表空间时定义的。
之后,宝儿使用了如例6-130的查询语句以获得刚刚创建的临时表空间和与之对应的临时数据文件的信息。
例6-130
SQL> SELECT f.file#, t.ts#, f.name \ 2 FROM v$tempfile f, v$tablespace t 3 WHERE f.ts# = t.ts# 4 AND t.name LIKE 'P%';
FILE# TS# File Tablespace ------ ---------- ---------------------------------------- -------------- 2 11 J:\\DISK8\\MOON\\PIONEER_TEMP.DBF PIONEER_TEMP
例6-130查询语句显示的结果表明:刚刚创建的临时表空间为PIONEER_TEMP,该临时表空间所对应的操作系统文件为J:\\DISK8\\MOON\\PIONEER_TEMP.DBF。这些信息也正是宝儿在创建这些表空间时定义的。
最后,宝儿还利用操作系统工具,如NT资源管理器来找到每一个与刚刚创建的表空间所对应的操作系统文件。如6-131。
例6-131
6.21 您应该掌握的内容
在学习下一章之前,请检查一下您是否已经掌握了以下的内容:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
Oracle引入逻辑结构的目的
Oracle物理结构和逻辑结构的区别 Oracle主要存储结构之间的关系 表空间的分类
数据字典管理的表空间的维护和管理 本地管理的表空间的维护和管理 还原表空间的维护和管理 临时表空间的维护和管理 默认临时表空间的设置与管理
表空间的联机与脱机状态之间的切换 表空间的只读与正常状态之间的切换 怎样改变表空间的存储设置 怎样重置表空间的大小
怎样移动可以脱机的数据文件 怎样移动不能脱机的数据文件
数据字典与本地管理的表空间之间的迁移 怎样删除表空间
怎样在删除表空间语句中使用INCLUDING CONTENTS AND DATAFILES子句 怎样利用 OMF来管理和维护表空间
相关推荐: