Oracle表空间的一些操作

来源:互联网 发布:div加载完成后执行js 编辑:程序博客网 时间:2024/05/29 09:22
--查看表空间
select USERNAME,DEFAULT_TABLESPACE FROM DBA_USERS CREATE  USER MG Identified by mg123;grant create session to MG; grant RESOURCE ,CONNECT TO MG;

--创建自定义表空间
CREATE TABLESPACE MG1_TS --表空间名称DATAFILE  'D:\TableSpace\MG1.DBF' --创建数据文件地址SIZE 100M --指定初始的数据文件大小,也就是表空间大小AUTOEXTEND on next 32M  MAXSIZE UNLIMITED --大小自动扩展 ,没有最大限制LOGGING --表示在创建表空间时 生成日志记录EXTENT MANAGEMENT LOCAL  --表示创建的表空间采用"本地化"管理SEGMENT SPACE MANAGEMENT AUTO --管理方式为自动
--查看用户对应的默认表空间
select USERNAME,DEFAULT_TABLESPACE FROM DBA_USERS u where u.username='MG'
--修改数据库默认表空间
alter DATABASE DEFAULT TABLESPACE USERS;
--修改用户MG默认表空间
alter user MG DEFAULT TABLESPACE MG_TS;

--注意事项
alter DATABASE DEFAULT TABLESPACE USERS;

--查看表空间名称和大小查询方式
select d.tablespace_name,round(sum(bytes/(1024*1024)),0) "ts_size(M)"  from dba_data_files dGROUP by d.tablespace_name

--修改数据库表空间大小
ALTER database DATAFILE 'D:\TableSpace\MG.DBF'RESIZE 50M;

--给表空间添加数据文件
alter TABLESPACE MG_TSadd DATAFILE 'D:\TableSpace\MG2.DBF'--添加的数据文件size 30MAUTOEXTEND ON next 10MMAXSIZE 1024M;--最大扩展到1024M
--删除数据文件
alter TABLESPACE MG_TSDROP DATAFILE 'D:\TableSpace\MG2.DBF'


--查看表空间剩余大小
select t.tablespace_name,round(sum(bytes/(1024*1024)),0) totalspace ,sum(t.blocks) totalblocks from dba_data_files tgroup by t.tablespace_nameselect tt.tablespace_name,round(sum(bytes/(1024*1024)),0) totalspace ,sum(tt.blocks) from dba_free_space ttgroup by tt.tablespace_name50-49=1 M6400- 6272 =

--删除表空间
users  system   Sysaux UNDO --等表空间不可以删除的
--定义的表空间可删除(如果不是默认表空间) 数据库默认的表空间也不可删除

DROP tablespace MG1_TS;


--如果表空间里面包含了表 数据文件


DROP tablespace MG_TS including  contents and DATAFILES;