第5章 存储管理(2)

2019-08-03 14:56

2.移动表空间

在Oracle中如果将表空间所对应的数据文件从一个目录移动到另外一个目录,使用OEM工具是无法完成的,只能使用命令的方式。

如果是系统表空间,如SYSTEM表空间,需依次执行下面的命令:

SQL> SHUTDOWN IMMEDIATE 数据库已经关闭。 已经卸载数据库。

ORACLE 例程已经关闭。 SQL>STARTUP MOUNT ORACLE 例程已经启动。

Total System Global Area 778387456 bytes Fixed Size 1374808 bytes Variable Size 486540712 bytes Database Buffers 285212672 bytes Redo Buffers 5259264 bytes 数据库装载完毕。

SQL> HOST COPY D:\\app\\Administrator\\oradata\\orcl\\system01.dbf D:\\app\\Administrator\\oradata\\system01.dbf 已复制 1 个文件。

SQL>ALTER DATABASE RENAME FILE

'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSTEM01.DBF' TO 'D:\\APP\\ADMINISTRATOR\\ORADATA\\SYSTEM01.DBF' ; 数据库已更改。

SQL>Alter Database Open; 数据库已更改。

此时,如果通过下面的命令查看SYSTEM表空间的存储路径,可以发现已经发生了更改。

SQL> SELECT NAME FROM V$DATAFILE; NAME

------------------------------------------------------------ D:\\APP\\ADMINISTRATOR\\ORADATA\\SYSTEM01.DBF

D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSAUX01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\UNDOTBS01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\EXAMPLE01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\XXGCX.DBF 已选择6行。

如果是非系统表空间,如XXGCX表空间,则无需关闭数据库,直接执行下面的命令即可以完成移动的操作。

SQL> ALTER TABLESPACE xxgcx OFFLINE; 表空间已更改。

SQL> HOST COPY D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\XXGCX.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\XXGCX.DBF SQL> ALTER TABLESPACE xxgcx RENAME DATAFILE

'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\XXGCX.DBF' to 'D:\\APP\\ADMINISTRATOR\\ORADATA \\XXGCX.DBF'; 表空间已更改。

SQL> ALTER TABLESPACE XXGCX ONLINE;

表空间已更改。

此时,查看查看XXGCX表空间的存储路径,可以发现已经发生了更改。

SQL> SELECT NAME FROM V$DATAFILE; NAME

------------------------------------------------------ D:\\APP\\ADMINISTRATOR\\ORADATA\\SYSTEM01.DBF

D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSAUX01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\UNDOTBS01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\EXAMPLE01.DBF D:\\APP\\ADMINISTRATOR\\ORADATA\\XXGCX.DBF 已选择6行。

3.删除表空间

当不再需要表空间时,可以从数据库中删除表空间以及内容。删除表空间的用户,必须具有DROP TABLESPACE系统权限。在Oracle Enterprise Manager工具中删除表空间,单击”删除”按钮,系统会显示警告信息,如图5-7所示。

图5-7 删除表空间的警告信息

如果用户确认要删除,在单击”是”按钮,Oracle系统将删除此表空间。 通过命令的方式也可以删除表空间和所对应的数据文件,如下面的语句。

SQL>DROP TABLESPACE XXGCX INCLUDING CONTENTS AND DATAFILES;

上面的语句在删除表空间时,同时删除表空间相对关的数据文件。如果希望保留该数据文件,则使用下面的语句。

SQL>DROP TABLESPACE XXGCX INCLUDING CONTENTS ;

如果删除的表空间不包含表、视图或者其他数据库对象时,则无需指定INCLUDING CONTENTS参数,即使用下面的语句。

SQL>DROP TABLESPACE XXGCX;

注意:如果删除的表空间非空,则必须使用包含including contents参数的drop tablespace语句,否则系统会提示出错。

5.1.3 非标准Oracle块大小的表空间

Oracle 11g在创建表空间时,如果没有指定BLOCKSIZE参数,则默认表空间使用DB_BLOCK_SIZE初始化参数指定的标准Oracle块大小。对于一些用来存储非结构化数据,如图片、文件等的表空间来说,使用标准Oracle块大小的表空间在存取数据的效率较低,可以使用较大的非标准Oracle块大小的表空间,则就需要创建非标准Oracle块小大的表空间。

在Oracle11g中创建非标准Oracle块大小的表空间,则需设定DB_nK_Cache_Size系列初始化参数,指定非标准Oracle块大小的所使用的缓冲区大小,否则无法创建非标准Oracle块大小的表空间。

下面的例子显示标准Oracle块大小为8KB,如果希望创建Oracle块大小为16KB的表空间,则必须首先设置DB_16K_CACHE_SIZE。

SQL> SHOW PARAMETER DB_16K_CACHE_SIZE NAME TYPE VALUE

------------------- ----------- ------------- db_16k_cache_size big integer 0

SQL> ALTER SYSTEM SET DB_16K_CACHE_SIZE=16k SCOPE=BOTH; 系统已更改。

SQL> SHOW PARAMETER DB_16K_CACHE_SIZE NAME TYPE VALUE

------------------ ----------- ----------- db_16k_cache_size big integer 16M

SQL> CREATE TABLESPACE TS_FILE

DATAFILE 'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\TS_FILE.DBF' SIZE 100M BLOCKSIZE 16K; 表空间已创建。

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 ... ... ...

SQL> SELECT TABLESPACE_NAME,BLOCK_SIZE FROM DBA_TABLESPACES; TABLESPACE_NAME BLOCK_SIZE ---------------------- ------------- SYSTEM 8192 SYSAUX 8192 UNDOTBS1 8192 TEMP 8192 USERS 8192 EXAMPLE 8192 XXGCX 8192 TS_FILE 16384 已选择8行。

5.1.4 表空间的联机和脱机

表空间在联机状态下,用户可以访问表空间中的所有数据文件;表空间在脱机状态下,用户无法访问该表空间中的所有数据文件。在有些情况下,需要将表空间脱机来完成某些操作,如下面的一些情况。

(1)部分数据库不可用,而允许正常访问数据库的其他部分。 (2)执行表空间的备份,尽管表空间联机状态下也可以进行备份。 (3)使某个应用程序对应的表在更新或维护该应用程序时暂时不可用。 Oracle系统中的SYSTEM和SYSAUX表空间不能脱机,其余表空间都可以将数据文件脱机,来完成某些操作后,再将表空间联机。同时要求在将表空间联机时,这些数据文件必

须全部存在。

Oracle系统可以使用ALTER TABLESPACE语句来实现表空间的联机和脱机。如下面的语句将USERS表空间脱机。

SQL>ALTER TABLESPACE USERS OFFLINE;

要将表空间联机,使用下面的语句。

SQL> ALTER TABLESPACE USERS ONLINE;

注意:为了使用ALTER TABLESPACE语句将表空间联机或脱机,用户必须具有ALTER TABLESPACE或MANAGE TABLESPACE的系统权限。

在OEM工具中执行联机或脱机表空间的操作比较简单,在表空间界面中选择“操作”下拉列表框中的“脱机”或“联机”选项,单击“开始”按钮即可。其中脱机时一般选择“正常”的脱机模式,如图5-8所示。

图5-8 将表空间脱机的

5.1.5 与表空间相关的数据字典

Oracle11g系统中与表空间相关的主要数据字典请见表5-1。

表5-1 有关表空间的数据字典

名 称 DBA_TABLESPACES USER_TABLESPACES DBA_DATA_FILES DBA_TEMP_FILES DBA_USERS V$TABLESPACE V$DATAFILE V$TEMPFILE 所有表空间信息 当前用户可用的表空间信息 所有表空间和所对应的数据文件信息 所有临时表空间和所对应的临时文件信息 所有用户的默认表空间和临时表空间等信息 所有表空间的名称和数量以及是否大文件格式等信息 所有表空间对应的数据文件,包括名称、块大小、创建时间等信息 所有临时文件信息 说 明 下面以V$DATAFILE为例说明使用方法。 SQL> DESC V$DATAFILE;

名称 是否为空? 类型

--------------------------------- -------- ------------ FILE# NUMBER CREATION_CHANGE# NUMBER CREATION_TIME DATE TS# NUMBER RFILE# NUMBER

STATUS VARCHAR2(7)

ENABLED VARCHAR2(10) CHECKPOINT_CHANGE# NUMBER CHECKPOINT_TIME DATE UNRECOVERABLE_CHANGE# NUMBER UNRECOVERABLE_TIME DATE LAST_CHANGE# NUMBER LAST_TIME DATE OFFLINE_CHANGE# NUMBER ONLINE_CHANGE# NUMBER ONLINE_TIME DATE BYTES NUMBER BLOCKS NUMBER ...... ......

SQL> SELECT NAME,BLOCKS,BYTES FROM V$DATAFILE;

NAME BLOCKS BYTES ----------------------------------------------- ---------- --------- D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSTEM01.DBF 92160 754974720 D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\SYSAUX01.DBF 97280 796917760 D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\UNDOTBS01.DBF 13440 110100480 D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\USERS01.DBF 640 5242880 D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\EXAMPLE01.DBF 12800 104857600 D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\XXGCX.DBF 12800 104857600

已选择6行。

5.2 数据文件

数据文件是Oracle数据库存储所有数据库数据的物理文件。表空间的物理组成元素就是数据文件,一个表空间可以包含多个数据文件,并且每个数据文件只能属于一个表空间。对数据文件的管理包括创建数据文件、向表空间添加数据文件、改变数据文件的大小以及联机脱机等操作。

5.2.1 创建数据文件

在Oracle 11g中创建数据文件可以使用OEM工具来实现。创建数据文件的步骤如下。 首先,在OEM的主界面中的服务器选项卡的存储部分中选择“数据文件”,打开数据文件界面,如图5-9所示。此界面显示数据库中所有数据文件信息。

图5-9 数据文件界面


第5章 存储管理(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:心理健康与安全教育考试答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: