• Oracle解决ora-01653 无法通过1024扩展


    1.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;

    2.再查看表空间是否开启了自动扩展的功能 

    SELECT T.TABLESPACE_NAME,
    D.FILE_NAME,
    D.AUTOEXTENSIBLE,
    D.BYTES,
    D.MAXBYTES,
    D.STATUS
    FROM DBA_TABLESPACES T, DBA_DATA_FILES D
    WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
    ORDER BY TABLESPACE_NAME, FILE_NAME;

    从上表可以看出,所有的表空间都开启了自动扩展的功能,而且状态都是available的;

    综合上述检查结果,可断定遇到的问题是因为可能性1—表空间不足导致。解决办法也就是扩大表空间

    扩大表空间的四种方法: 
    1、增加数据文件 
    ALTER TABLESPACE ***_TRD ADD DATAFILE 
    ‘D:OraclePRODUCT10.2.0ORADATADBFILETRD_2.DBF’ SIZE 1024M;

    2、增加数据文件并允许自动增长 
    ALTER TABLESPACE ***_TRD ADD DATAFILE 
    ‘D:ORACLEPRODUCT10.2.0ORADATADBFILETRD_2.DBF’ SIZE 1024M AUTOEXTEND ON NEXT 8M MAXSIZE 10240M;

    3、允许已存在的数据文件自动增长 
    ALTER DATABASE DATAFILE ‘D:ORACLEPRODUCT10.2.0ORADATADBFILETRD.DBF’ 
    AUTOEXTEND ON NEXT 8M MAXSIZE 10240M;

    4、手工改变已存在数据文件的大小 
    ALTER DATABASE DATAFILE ‘D:ORACLEPRODUCT10.2.0ORADATADBFILETRD.DBF’ 
    RESIZE 10240M;

    实际解决过程中,我们使用的是方法2。

  • 相关阅读:
    ThreadLocal应用场景以及源码分析
    ThreadLocal使用,应用场景,源码实现,内存泄漏
    ThreadLocal
    JBOSS默认连接池配置
    项目经验——jboss 配置数据库连接池
    InitialContext与lookup
    从零开发分布式数据库中间件 二、构建MyBatis的读写分离数据库中间件
    从零开发分布式数据库中间件 一、读写分离的数据库中间件
    appium+python自动化42-微信公众号
    appium+python自动化41-切换webview时候报chromedriver版本问题
  • 原文地址:https://www.cnblogs.com/WAbby/p/6857531.html
Copyright © 2020-2023  润新知