Oracle11g 创建表空间、查看表空间以及扩展表空间

 1、创建表空间

CREATE TABLESPACE DB_DATA
         LOGGING
         DATAFILE 'D:app/Administrator/oradata/NewDB/DB_DATA.DBF'
         SIZE 32M
         AUTOEXTEND ON
         NEXT 32M MAXSIZE UNLIMITED
         EXTENT MANAGEMENT LOCAL;

2、查看表空间的名称及大小

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0)
ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name
= d.tablespace_name
GROUP BY t.tablespace_name;

3、查看表空间物理文件的名称、路径及大小

SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024
* 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;

4、查看表空间的使用情况

SELECT SUM(bytes) / (1024 * 1024) AS
free_space, tablespace_name
FROM dba_free_space
GROUP BY
tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes
used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes *
100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b,
sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND
a.tablespace_name = c.tablespace_name;

5、扩展表空间

创建单个文件不能超过32GB的表空间

① 如果你创建的表空间超过32GB,可以把这个表空间存储为多个数据文件(个数不限制只要硬盘空间够大),每个文件不大于32GB。

alter tablespace USERS add datafile 'D:app/Administrator/oradata/NewDB/user_2.dbf' size 30000M;

USERS为表空间名称,user_2.dbf为数据文件;一个表空间可以对应多个数据文件,每个文件不大于32GB。

② 如果想让表空间自增长执行下面语句即可,自增长单个数据文件大小上限也是32G,个人觉得自增长的好处在创建的时候等待时间不需要很长,而且在不确定存储数据占用大小的情况下不会浪费存储空间,实际生产环境还是以需求为准吧。

alter tablespace USERS add datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORC\user_2.dbf' size 1000M  autoextend on next 100M;

 

    原文作者:DeanLeung
    原文地址: https://blog.csdn.net/pixel123/article/details/86598290
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞