• oracle 表空间查看与删除


    --1、查看表空间的名称及大小 
    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; 
    --2、查看表空间物理文件的名称及大小 
    SELECT tablespace_name, 
    file_id, 
    file_name, 
    round(bytes / (1024 * 1024), 0) total_space 
    FROM dba_data_files 
    ORDER BY tablespace_name; 
    --3、查看回滚段名称及大小 
    SELECT segment_name, 
    tablespace_name, 
    r.status, 
    (initial_extent / 1024) initialextent, 
    (next_extent / 1024) nextextent, 
    max_extents, 
    v.curext curextent 
    FROM dba_rollback_segs r, v$rollstat v 
    WHERE r.segment_id = v.usn(+) 
    ORDER BY segment_name; 
    --4、查看控制文件 
    SELECT NAME FROM v$controlfile; 
    --5、查看日志文件 
    SELECT MEMBER FROM v$logfile; 
    --6、查看表空间的使用情况 
    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; 
    --7、查看数据库库对象 
    SELECT owner, object_type, status, COUNT(*) count# 
    FROM all_objects 
    GROUP BY owner, object_type, status; 
    --8、查看数据库的版本  
    SELECT version 
    FROM product_component_version 
    WHERE substr(product, 1, 6) = 'Oracle'; 
    --9、查看数据库的创建日期和归档方式 
    SELECT created, log_mode, log_mode FROM v$database; 
    --1G=1024MB 
    --1M=1024KB 
    --1K=1024Bytes 
    --1M=11048576Bytes 
    --1G=1024*11048576Bytes=11313741824Bytes 
    SELECT a.tablespace_name "表空间名", 
    total "表空间大小", 
    free "表空间剩余大小", 
    (total - free) "表空间使用大小", 
    total / (1024 * 1024 * 1024) "表空间大小(G)", 
    free / (1024 * 1024 * 1024) "表空间剩余大小(G)", 
    (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 
    round((total - free) / total, 4) * 100 "使用率 %" 
    FROM (SELECT tablespace_name, SUM(bytes) free 
    FROM dba_free_space 
    GROUP BY tablespace_name) a, 
    (SELECT tablespace_name, SUM(bytes) total 
    FROM dba_data_files 
    GROUP BY tablespace_name) b 
    WHERE a.tablespace_name = b.tablespace_name 

    oracle 删除表空间及数据文件方法

    --删除空的表空间,但是不包含物理文件
    drop tablespace tablespace_name;
    --删除非空表空间,但是不包含物理文件
    drop tablespace tablespace_name including contents;
    --删除空表空间,包含物理文件
    drop tablespace tablespace_name including datafiles;
    --删除非空表空间,包含物理文件
    drop tablespace tablespace_name including contents and datafiles;
    --如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
    drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

    以system用户登录,查找需要删除的用户:

    --查找用户
    select * from dba_users;
    --查找工作空间的路径
    select * from dba_data_files;
    --删除用户
    drop user 用户名称 cascade;
    --删除表空间
    drop tablespace 表空间名称 including contents and datafiles cascade constraint;

    例如:删除用户名成为ABC,表空间名称为ABC

    --删除用户,及级联关系也删除掉
    drop user ABC cascade;
    --删除表空间,及对应的表空间文件也删除掉
    drop tablespace ABC including contents and datafiles cascade constraint;

    删除无任何数据对象的表空间:
    首先使用PL/SQL界面化工具,或者使用oracle自带的SQL PLUS工具,连接需要删除的表空间的oracle数据局库。
    确认当前用户是否有删除表空间的权限,如果没有 drop tablespace,请先用更高级的用户(如sys)给予授权或者直接用更高级的用户。
    用drop tablespace xxx ,删除需要删除的表空间。
    删除有任何数据对象的表空间
    使用drop tablespace xxx including contents and datafiles;来删除表空间。
    注意事项:
    如果drop tablespace语句中含有datafiles,那datafiles之前必须有contents关键字,不然会提示ora-01911错误

    转载: https://www.cnblogs.com/Alanf/p/9485550.html

  • 相关阅读:
    Centos7下rc.local文件开机不执行…
    Centos7添加密码安全策略
    Java8 时间日期类操作
    XML配置spring session jdbc实现session共享
    Spring Boot 2.x以后static下面的静态资源被拦截
    外观模式
    组合设计模式
    Java线程池源码解析
    观察者模式
    Java使用POI解析Excel表格
  • 原文地址:https://www.cnblogs.com/brithToSpring/p/13203013.html
Copyright © 2020-2023  润新知