zoukankan      html  css  js  c++  java
  • 十八、oracle查看、扩展表空间及linux服务器硬盘容量大小查看

    /*备注:
    表空间是数据库的逻辑组成部分
    从物理上将:数据库数据存放在数据文件中
    从逻辑上将:数据库则是存放在表空间中
    表空间由一个或是多个数据文件组成
    */

    --1.查看用户下面的所有的表
    SELECT * FROM USER_TABLES;
    SELECT * FROM DBA_TABLES WHERE OWNER = 'COMM_USER';

    --1.1查看表所在的表空间

    select TABLE_NAME,TABLESPACE_NAME from dba_tables t where t.table_name='DM_LIST';
    --1.2查看用户所属的表空间
    SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'COMM_USER';

    --1.3.查看所有的表空间

    SELECT * FROM DBA_TABLESPACES;
    SELECT * FROM V$TABLESPACE;

    --1.3查看默认的表空间

    select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';

    --1.4创建索引到指定表空间

    create index IDX_DM_FINISHTIME_ORGANID on DM_COMM_PREM_LIST (FINISH_TIME,ORGAN_ID) tablespace TBS_DW_DATA;

    --1.5查看表空间下有多少用户,tablespace_name表空间 的名字一定要大写
    SELECT DISTINCT S.OWNER
    FROM   DBA_SEGMENTS S
    WHERE  S.TABLESPACE_NAME = 'TBS_COMM_DATA';


    --1.6所有表空间的使用情况
    SELECT --B.file_name "文件名",
           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,
                 --  file_name,
                   SUM(BYTES) TOTAL
            FROM   DBA_DATA_FILES
            GROUP  BY TABLESPACE_NAME/*,file_name*/) B
    WHERE  A.TABLESPACE_NAME = B.TABLESPACE_NAME;

    --2、linux中查看服务器硬盘的使用情况
    df -k   以KB为单位显示磁盘使用量和占用率
    df -m   以M为单位显示磁盘使用量和占用率



    --3、给表空间新增数据文件并设置30G大小  在命令窗口中执行,数据文件的大小最大不能超过32G,

    否则会报错:ORA-01144: 文件大小 (13107200 块) 超出 4194303 块的最大数
    方法1)给白空间增加数据文件
    SQL> alter tablespace AUDIT add datafile '/pi/app/oracle/oradata/enterprise_tbs05.dbf' size 30G;
    alter tablespace 表空间名 add datafile '数据文件存放路径' size 数据文件大小;

    方法2)手动增加数据文件尺寸
    SQL>ALTER DATABASE AUDIT '/oracle/oradata/db/GAME.dbf' RESIZE 4000M;

    方法3)设定数据文件自动扩展
    SQL> ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'  AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;
    执行完上述1、2、3.1)步骤之后:DBA_DATA_FILES中新增的数据文件的bytes的值要比maxbytes的值要大的原因?    
            原因:当一个datafile 手工resize到一个大于maxsize(maxbytes)的值之后,DBA_DATA_FILES中bytes的值要比maxbytes的值要大。
    当该datafile被设置为autoextend on之后,dba_data_files中的maxbytes 值被自动结算为一个非零值。dba_data_files中的bytes是该datafile的当前的大小(以bytes为单位)


    不常用查询:
    1)查看oracle数据库库对象
    SELECT owner, object_type, status, COUNT(*) count# FROM all_objects  GROUP BY owner, object_type, status;

    2)查看oracle数据库的版本 
    SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle';

    3)查看oracle数据库的创建日期和归档方式
    SELECT created, log_mode FROM v$database;

    4)查看oracle控制文件目录
    SELECT NAME FROM v$controlfile;

    5)查看oracle日志文件目录
    SELECT MEMBER FROM v$logfile;  

    参看博文:

    http://www.cnblogs.com/qintangtao/archive/2012/11/04/2753549.html
    http://blog.csdn.net/msdnchina/article/details/48178719

    临时表空间不足报错: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段 如何解决

    https://blog.csdn.net/huaishu/article/details/16981147

    细水长流,打磨濡染,渐趋极致,才是一个人最好的状态。
  • 相关阅读:
    java在线学习-mybatis的缓存类及作用
    java架构师学习路线-MyBatis中的一些概念
    java架构师学习路线-Mybatis中单例模式的介绍
    java架构师学习路线-Mybatis中Builder模式的介绍
    竞赛图中三元环的期望个数
    求一个点前面第一个大于等于当前值的位置
    CF623D Birthday
    联赛模拟测试33
    网络流
    联赛模拟测试32
  • 原文地址:https://www.cnblogs.com/jiarui-zjb/p/7602245.html
Copyright © 2011-2022 走看看