Oracle表空间创建、查询、增加容量

时间:2024-03-16 13:55:19
--查询表空间大小及用量
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; 


--创建表空间
create tablespace CYX
logging
DATAFILE 'D:\app\Clarence\oradata\orcl\CYX.DBF'
size 1500m       --指定大小
autoextend on    --自动扩展
next 100m maxsize 10000m     --每次增加100m,最大10000m
extent management local;

--创建用户并指定表空间
create user caiyixuan identified by 123456 DEFAULT TABLESPACE CYX;
alter user caiyixuan DEFAULT TABLESPACE CYX;

--删除表空间,需要先offline
alter TABLESPACE CYX offline;

drop TABLESPACE CYX including contents and datafiles;


--增加表空间大小的四种方法
--给表空间增加数据文件(常用)
               --表空间名             定义一个表空间的文件                      指定大小
ALTER TABLESPACE USERS ADD DATAFILE 'D:\app\Clarence\oradata\orcl\USER-PLUS.DBF' SIZE 4096M;

--Meathod2:新增数据文件,并且允许数据文件自动增长

ALTER TABLESPACE USERS ADD DATAFILE 'D:\app\Clarence\oradata\orcl\USER-PLUS.DBF' SIZE 50M AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

--Meathod3:允许已存在的数据文件自动增长

ALTER DATABASE DATAFILE 'D:\app\Clarence\oradata\orcl\USER-PLUS.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

--Meathod4:手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE 'D:\app\Clarence\oradata\orcl\USER-PLUS.DBF' RESIZE 100M;


Oracle表空间创建、查询、增加容量


--新建表及使用表空间
 create table CYX_TEST_TRADE_BILL
(
  ORDER_ID  VARCHAR2(100) not null, 
  LMERCH_NO VARCHAR2(50) ,  
  AMOUNT   NUMBER(30), 
  BUSI_SUB_TYPE VARCHAR2(50), 
  STATUS VARCHAR2(50),    
  TRANS_TIME   DATE,   
  CARD_TYPE VARCHAR2(50),  
  CARD_NO VARCHAR2(50) 
)
tablespace USERS
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
);