oracle-用户表空间操作

--查询用户表空间使用情况

SELECT TABLESPACE_NAME "表空间",
       To_char(Round(BYTES / 1024, 2), '99990.00')
       || ''           "实有",
       To_char(Round(FREE / 1024, 2), '99990.00')
       || 'G'          "现有",
       To_char(Round(( BYTES - FREE ) / 1024, 2), '99990.00')
       || 'G'          "使用",
       To_char(Round(10000 * USED / BYTES) / 100, '99990.00')
       || '%'          "比例"
FROM   (SELECT A.TABLESPACE_NAME                             TABLESPACE_NAME,
               Floor(A.BYTES / ( 1024 * 1024 ))              BYTES,
               Floor(B.FREE / ( 1024 * 1024 ))               FREE,
               Floor(( A.BYTES - B.FREE ) / ( 1024 * 1024 )) USED
        FROM   (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      BYTES
                FROM   DBA_DATA_FILES
                GROUP  BY TABLESPACE_NAME) A,
               (SELECT TABLESPACE_NAME TABLESPACE_NAME,
                       Sum(BYTES)      FREE
                FROM   DBA_FREE_SPACE
                GROUP  BY TABLESPACE_NAME) B
        WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME)
--WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称
ORDER  BY Floor(10000 * USED / BYTES) DESC;

--查询表空间的数据文件路径

 select t1.name,t2.name

         from v$tablespace t1,v$datafile t2

         where t1.ts# = t2.ts#;


--查询当前用户所属表空间
select username,default_tablespace from user_users;
        
--创建表空间
create tablespace SHJ datafile '/data/oracle/product/11.2.0/db_1oradataorclshj4.dbf' size 1024M --存储地址 初始大小1G
autoextend on next 10M maxsize 20480m   --每次扩展10M,最大20480m,无限制扩展用unlimited   

--创建临时表空间
CREATE TEMPORARY tablespace tempshj tempfile '${ORACLE_HOME}\oradata\orcl\temp_shj.bdf' size 100 m reuse autoextend ON NEXT 20 m maxsize unlimited;

--创建用户指定表空间
create user songhongjun identified by bagayalu default tablespace shj temporary tablespace tempshj;

--修改用户默认表空间
ALTER USER songhongjun DEFAULT TABLESPACE SHJ;
 
--修改表的默认表空间
ALTER TABLE songhongjun.t1 modify default attributes TABLESPACE  SHJ;

--表空间扩容
ALTER TABLESPACE SHJ2 ADD DATAFILE'/data/oracle/product/11.2.0/db_1oradataorclshj4.dbf' size 500m ;   --增加500兆

--表空间删除
删除USER。

DROP USER XX CASCADE

删除表空间。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

删除空的表空间,不包含物理文件。

DROP TABLESPACE tablespace_name;

删除空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING DATAFILES;

删除非空表空间,不包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING DATAFILES;

删除非空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;



posted @   RedArmy  阅读(113)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 百万级群聊的设计实践
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
点击右上角即可分享
微信分享提示