查看oracle所有的表空间的使用情况:
方法一、
select dbf.tablespace_name,dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",
dfs.freeblocks "剩余块数",
(dfs.freespace / dbf.totalspace) * 100 "空闲比例"
from (select t.tablespace_name,
sum(t.bytes) / 1024 / 1024 totalspace,
sum(t.blocks) totalblocks
from dba_data_files t
group by t.tablespace_name) dbf,
(select tt.tablespace_name,
sum(tt.bytes) / 1024 / 1024 freespace,
sum(tt.blocks) freeblocks
from dba_free_space tt
group by tt.tablespace_name) dfs
where trim(dbf.tablespace_name) = trim(dfs.tablespace_name);
方法二、
SELECT Total.name "Tablespace Name",
Free_space, (total_space-Free_space) Used_space, total_space
FROM
(select tablespace_name, sum(bytes/1024/1024) Free_Space
from sys.dba_free_space
group by tablespace_name
) Free,
(select b.name, sum(bytes/1024/1024) TOTAL_SPACE
from sys.v_$datafile a, sys.v_$tablespace B
where a.ts# = b.ts#
group by b.name
) Total
WHERE Free.Tablespace_name = Total.name
查看表空间物理文件的名称及大小
select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;
创建表空间:
1、绝对路径:
--创建临时表空间
create temporary tablespace user_temp
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
--创建数据表空间
create tablespace test_data
logging
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
--创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
--给用户授予权限
grant connect,resource,dba to username;
2、相对路径:
create tablespace test
datafile '/oradata/oradata/oradb/test01.dbf' size 8M
autoextend on
next 5M
maxsize 10M;
create tablespace sales
datafile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize unlimited
--maxsize unlimited 是大小不受限制
create tablespace sales
datafile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize 1000M
extent management local uniform;
--unform表示区的大小相同,默认为1M
create tablespace sales
datafile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize 1000M
extent management local uniform size 500K;
--unform size 500K表示区的大小相同,为500K
create tablespace sales
datafile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize 1000M
extent management local autoallocate;
--autoallocate表示区的大小由随表的大小自动动态改变,大表使用大区小表使用小区
create tablespace sales
datafile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize 1000M
temporary;
--temporary创建字典管理临时表空间
create temporary tablespace sales
tempfile '/oradata/oradata/oradb/sales01.dbf' size 800M
autoextend on
next 50M
maxsize 1000M
--创建本地管理临时表空间,如果是临时表空间,所有语句中的datafile都换为tempfile
更改自动扩展属性:
1、取消自读扩容
alter database datafile
'/oradata/oradata/oradb/01.dbf'
autoextend off;
2、修改成自增长,扩大了最大容量
alter database datafile '/app/oracle/oradata/orcl/FESCO.dbf' autoextend on next 5M maxsize 500M;
改变表空间数据库文件大小
alter database datafile '/app/oracle/oradata/orcl/FESCO.dbf' resize 800M;
删除表空间:
drop tablespace tbp_name including contents and datafiles
查看表空间属于那个用户或者用户拥有那些表空间:
select tablespace_name, owner,sum(bytes) from dba_segments group by tablespace_name, owner order by owner;
查找用户拥有的临时表空间:
select username,temporary_tablespace from user_users where username='name(大写)';
表空间的相关操作
猜你喜欢
转载自jadethao.iteye.com/blog/1562825
今日推荐
周排行