您的位置:首頁技術文章
文章詳情頁

關于oracle數據庫表空間擴容的問題

瀏覽:106日期:2023-03-12 15:25:28
目錄
  • 1.查看表空間使用率
  • 2.擴容
    • 方法一:增大所需表空間大小
    • 方法二:增加數據文件個數
    • 方法三:設置表空間自動擴展
  • 3.遇到的錯誤
    • 總結

      1.查看表空間使用率

      SELECT  B.FILE_NAME 物理文件名,  B.TABLESPACE_NAME 表空間名稱,  B.BYTES/1024/1024 大小M,  (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M,  SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B.BYTES)*100,1,5) 使用率FROM DBA_FREE_SPACE A,DBA_DATA_FILES BWHERE A.FILE_ID=B.FILE_IDGROUP BY B.TABLESPACE_NAME,B.FILE_NAME,B.BYTESORDER BY B.TABLESPACE_NAME;

      2.擴容

      擴容有三種方式:

      方法一:增大所需表空間大小

      alter database datafile '表空間位置' resize 新的尺寸

      例如:

      alter database datafile "+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091" resize 5000M;

      注意:單個表空間最大為32G;

      對于oracle數據庫的表空間,除了用手動增加數據文件大小外,還可以增加數據文件數量等方式擴展表空間大小。

      方法二:增加數據文件個數

      alter tablespace 表空間名稱 add datafile '新的數據文件地址' size 數據文件大小

      例如:

      ALTER TABLESPACE "SYSAUX" ADD DATAFILE "+GBPORCL/GBPORCL/DATAFILE/sysaux.272.dbf"  SIZE 100M AUTOEXTEND ON  next 50M Maxsize UNLIMITED

      含義:初始分配100M,自增50M;

      方法三:設置表空間自動擴展

      alter database datafile '數據文件位置' autoextend on next 自動擴展大小 maxsize 最大擴展大小

      例如:

      alter database datafile "+GBPORCL/GBPORCL/DATAFILE/sysaux.262.1029000091" autoextend on next 500m maxsize 10000m;

      3.遇到的錯誤

      SQL 錯誤 [1276] [99999]: ORA-01276: 無法添加文件 +GBPORCL/GBPORCL/DATAFILE/sysaux.264.1029000091。

      相應文件具有一個 Oracle Managed Files 文件名。

      以為直接改個名字就可以,但是不可行,

      原因:這個表空間是通過OMF管理的,加數據文件的時候,不需要添加具體的路徑和文件名,直接添加并指定大小即可: alter tablespace SYSAUX add datafile size xxx;

      或者使用方法二

      總結

      以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

      標簽: Oracle
      国产综合久久一区二区三区