DM8表空间管理

表空间介绍

DM 默认预定义 SYSTEM ROLL MAIN TEMP HMAIN 五个表空间。

SYSTEM

系统表空间,存放数据字典等信息(表、字段、视图等对象的定义、权限信
息等)

ROLL

回滚表空间,存放回滚页,数据库中的 DML 操作对应都会生成 redo undo
undo 信息放入 ROLL 表空间,用于保证数据的一致性。

MAIN

用户默认表空间,当创建用户时,如果为指定用户的默认表空间,则 MAIN
用户的默认表空间。

TEMP

临时表空间,存放临时表数据等、当大量的数据排序或创建索引等占用临时表
空间。 DM 中临时表空间相关参数:
SQL> select * from v$parameter t where name like '%TEMP%';

  • TEMP_PATH:临时表空间路径
  • TEMP_SIZE:临时表空间初始大小
  • TEMP_SPACE_LIMIT:临时表空间限制大小

需求1:扩充临时表空间大小为100M(然后重启数据库)

HMAIN

HUGE 表的默认表空间( HTS 表空间)

创建表空间

CREATE TABLESPACE < 表空间名 > < 数据文件子句 >[< 数据页缓冲池子句 >][< 存储加密子句 >][< 指定 DFS 副本子句 >][<HUGE 路径子句 >]
  • <数据文件子句> ::= DATAFILE <文件说明项>{,<文件说明项>}
    • <文件说明项> ::= <文件路径> [ MIRROR <文件路径>] SIZE <文件大小>[<自动扩展子句>]
      • <自动扩展子句> ::= AUTOEXTEND <ON [<每次扩展大小子句>][<最大大小子句>] |OFF>
        • <每次扩展大小子句> ::= NEXT <扩展大小>
        • <最大大小子句> ::= MAXSIZE <文件最大大小>
  • <数据页缓冲池子句> ::= CACHE = <缓冲池名>
  • <存储加密子句> ::= ENCRYPT WITH <加密算法> [BY <加密密码>]
  • <指定 DFS 副本子句> ::= [<指定副本数子句>][<副本策略子句>]
    • <指定副本数子句> ::= COPY <副本数>
    • <副本策略子句> ::= GREAT | MICRO
  • <HUGE 路径子句> ::= WITH HUGE PATH <HUGE 数据文件路径> [<副本策略子句>]

举例:

SQL> CREATE TABLESPACE tbs datafile 'tbs_01.DBF' size 32;

修改表空间

ALTER TABLESPACE < 表空间名 > [ONLINE OFFLINE CORRUPT|< 表空间重命名子句 > < 数据文件重命名子句>|< 增加数据文件子句 >|< 修改文件大小子句 >|< 修改文件自动扩展子句 >|< 数据页缓冲池子句>|<DSC 集群表空间负载均衡子句 >|< 增加 HUGE 路径子句 >]
  • <表空间重命名子句> ::= RENAME TO <表空间名>
  • <数据文件重命名子句>::= RENAME DATAFILE <文件路径>{,<文件路径>} TO <文件路径>{,< 文件路径>}
  • <增加数据文件子句> ::= ADD <数据文件子句>
    • <数据文件子句>见上一节表空间定义语句
  • <修改文件大小子句> ::= RESIZE DATAFILE <文件路径> TO <文件大小>
  • <修改文件自动扩展子句> ::= DATAFILE <文件路径>{,<文件路径>}[<自动扩展子句>]
    • <自动扩展子句> ::= 3.4.1 节说明
  • <数据页缓冲池子句> ::= CACHE = <缓冲池名>
  • <DSC 集群表空间负载均衡子句> ::= OPTIMIZE <DSC 集群节点号>
  • <增加 HUGE 路径子句> ::= ADD HUGE PATH <HUGE 数据文件路径> [<副本策略子句>]

举例:

例1将表空间 TS1 名字修改为 TS2
SQL> alter tablespace TS1 rename to TS2;
2 增加一个路径为 TS1_01.dbf ,大小为 128M 的数据文件到表空间 TS2
SQL> ALTER TABLESPACE TS2 add datafile 'TS1_01.dbf' SIZE 128;
操作已执行
已用时间: 18.568(毫秒). 执行号:2100.
3 修改表空间 TS2  中数据文件 TS1_01.dbf 的大小为 200M
SQL> ALTER TABLESPACE TS2 RESIZE DATAFILE 'TS1_01.dbf' to 200;
操作已执行
已用时间: 69.338(毫秒). 执行号:2200.
4 重命名表空间 TS2  的数据文件 TS1_01.dbf TS2_01.dbf
注:重命名表空间数据文件时,表空间必须处于OFFLINE状态
SQL> alter tablespace TS2 rename datafile 'TS1_01.dbf' to 'TS2_01.dbf';
alter tablespace TS2 rename datafile 'TS1_01.dbf' to 'TS2_01.dbf';
第1 行附近出现错误[-3407]:表空间[TS2]处于联机状态.
已用时间: 0.311(毫秒). 执行号:0.
SQL> alter tablespace TS2 offline;
操作已执行
已用时间: 24.043(毫秒). 执行号:2300.
SQL> alter tablespace TS2 rename datafile 'TS1_01.dbf' to 'TS2_01.dbf';
操作已执行
已用时间: 711.261(毫秒). 执行号:2301.
SQL> alter tablespace TS2 online;
操作已执行
已用时间: 24.983(毫秒). 执行号:2302.
SQL> 
5 修改表空间 TS2  的数据文件 TS2_01.dbf 自动扩展属性为每次扩展 10M ,最大文
件大小为 1G
disql V8
SQL> alter tablespace TS2 datafile 'TS2_01.dbf' autoextend on next 10 maxsize 10240;
操作已执行
已用时间: 38.780(毫秒). 执行号:2400.
SQL> 
6 修改表空间 TS2  缓冲池名字为 KEEP
SQL> alter tablespace TS2 cache="keep";     
alter tablespace TS2 cache="keep";
第1 行附近出现错误[-3421]:不能将用户表空间的cache修改为除NORMAL和KEEP以外的值.
已用时间: 0.707(毫秒). 执行号:0.
SQL> alter tablespace TS2 cache="KEEP";     
操作已执行
已用时间: 35.099(毫秒). 执行号:2500.
SQL> 
7 为表空间 TS2 添加 HUGE 数据文件路径
SQL> alter tablespace TS2 add huge path "/dm8_5236/DAMENG/HUGE2";    
alter tablespace TS2 add huge path "/dm8_5236/DAMENG/HUGE2";

alter tablespace TS2 add huge path "/dm8_5236/DAMENG/HUGE2";
                                                           *
第 1 行, 第 87 列["]附近出现错误[-2007]:
语法分析出错.
已用时间: 0.307(毫秒). 执行号:0.
SQL> alter tablespace TS2 add huge path '/dm8_5236/DAMENG/TS2/HUGE1';
操作已执行
已用时间: 42.942(毫秒). 执行号:2600.
SQL> 

删除表空间

DROP TABLESPACE [IF EXISTS] < 表空间名 >
举例:
1.删除表空间TS2
SQL> DROP TABLESPACE TS2;
操作已执行
已用时间: 145.521(毫秒). 执行号:2700.
SQL> 

查看表空间相关字典表和视图表

select * from dba_tablespaces;
select * from DBA_DATA_FILES;
select * from v$tablespace;
select * from v$datafile;
select * from DBA_FREE_SPACE; --数据文件剩余空间

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值