Oracle数据库系列 - Oracle 表空间管理

来源:互联网 发布:js 时间选择插件 编辑:程序博客网 时间:2024/05/29 02:37

创建表空间

    CREATE [ TEMPORARY | UNDO ] TALBESPACE tablespace_name    [       DATAFILE | TEMPFILE 'file_name' SIZE size K | M [ REUSE ]       [          AUTOEXTEND OFF | ON          [NEXT number K | M MAXSIZE UNLIMITED | number K | M ]       ]       [, ...]    ]     [ MININUM EXTENT number K | M]    [ BLOCKSIZE number K ]    [ ONLINE | OFFLINE ]    [ LOGGING | NOLOGGING ]    [ FORCE LOGGING ]    [ DEFAULT STORAGE storage ]    [ COMPRESS | NOCOMPRESS ]    [ PERMANENT | TEMPORARY ]    [       EXTENT MANAGEMENT DICTIONARY | LOCAL       [ AUTOALLOCATE | UNIFORM SIZE number K | M]    ]    [  SEGMENT SPACE MANAGERMENT AUTO | MUNUAL]

创建一个永久性表空间myspace,数据文件大小为20MB,自动增长,每次增长为5MB,最大可为100MB

   CREATE TABLESPACE myspace   DATAFILE 'myspace.dbf'   SIZE 20M   AUTOEXTEND ON NEXT 5M   MAXSIZE 100M;

查看创建的表空间的状态和属性

   SELECT tablespace_name, logging , allocation_type,   extent_management, segment_space_management   FROM dba_tablespaces   WHERE tablespace_name = 'MYSPACE';

表空间的属性

表空间的状态属性分为4个

  • 在线(ONLINE)
  • 离线(OFFLINE)
  • 只读(READONLY)
  • 读写(READWRITE)

    在线: 当表空间为在线状态时候,允许访问该表空间的数据。
    离线: 当表空间为离线状态时候,不允许访问该表空间中的数据, 创建表和读取表空间的表的数据都是不允许的
    只读: 当表空间为READ ONLY 时,只能访问表空间的数据,但是不能进行任何的修改和更新的操作。
    读写: 当表空间的状态为读写时候,可以对表空间进行正常的访问包括查询、更新和删除的操作。

修改表空间的状态

    语法: ALTER TABLESPACE tablespace_name [ONLINE | OFFLINE | READ ONLY | READWRITE] parameter;
修改表空间的状态为离线状态
   SELECT tablespace_name , status  FROM dba_tablespaces; //查看表空间   ALTER TABLESPACE myspace OFFLINE;    SELECT tablespace_name , status  FROM dba_tablespaces; //查看当前表空间的状态
修改表空间的状态为在线状态
    SELECT tablespace_name, status FROM dba_tablespaces;    ALTER TABLESPACE myspace ONLINE;    SELECT tablespace_name , status FROM dba_tablespaces; 
 修改表空间的状态为READ ONLY状态
    SELECT tablespace_name, status FROM dba_tablespaces;    ALTER TABLESPACE myspace READ ONLY;    SELECT tablespace_name , status FROM dba_tablespaces;

注意: 当将表空间的状态修改为READ ONLY 之前,需要注意如下事项:

1. 表空间必须处于ONLINE状态。2. 表空间不能包含任何事务的回退段。3. 表空间不能正处于在线数据库备份时期。          修改表空间的状态为READ WRITE状态
    SELECT tablespace_name, status FROM dba_tablespaces;    ALTER TABLESPACE myspace READ WRITE;    SELECT tablespace_name , status FROM dba_tablespaces;

注意: 当将表空间的状态修改为READ WRITE之前,需要保证表空间处于ONLINE状态。

0 0