oracle無法插入資料

2022-06-19 23:18:15 字數 1957 閱讀 2291

最近遇到乙個問題,本來插入資料好好的,突然都不能插入了。

報錯-------------------》ora-01653:表無法通過128(在表空間)擴充套件

原因是表滿了!!!

解決方案:

1. 首先查詢表空間使用情況,直接複製執行

select

upper

(f.tablespace_name) "表空間名",

d.tot_grootte_mb "表空間大小(m)",

d.tot_grootte_mb

-f.total_bytes "已使用空間(m)",

to_char(

round((d.tot_grootte_mb - f.total_bytes) / d.tot_grootte_mb *

100,2),'

990.99

') "使用比",

f.total_bytes "空閒空間(m)",

f.max_bytes "最大塊(m)"

結果可以看到使用比老高了!!

2. 如果使用比已經達99%,查詢一下表空間是否可以自動擴充套件(yes or no)

從上面看到都是yes,都是設定了自動擴充套件

3. 如果表空間不是自動擴充套件的,那麼請設定成自動,(你要修改的只有下面紅色的部分,改成上邊是no的filename)

alter

' autoextend on;

4. 如果表空間是自動擴充套件的,並且已經達到了上限,那麼就為表空間增加乙個資料檔案

其中設定的每個檔案初始分配空間為7g, autoextend on為自動增長大小,oracle單個檔案大小最大不超過32g.

sql指令碼如下:(我這裡增加兩個資料檔案,需要擴容的表空間是system)

參考:

oracle插入資料

插入資料的方法有多種,這裡簡單介紹三種 1.常規插入資料 select from emp 已scott.emp表為例 按照values插入資料 insert into emp empno,ename job,mgr,hiredate sal comm,deptno values 1122,steve...

Oracle loop迴圈無法插入資料

以下的測試基於scott使用者下的emp表 首先用while迴圈進行測試,向emp表插入999條資料 1 declare 2 i emp.empno type 1 3begin 4while i 1000 5loop 6insert into emp empno,ename,sal values i...

Oracle 插入大量資料

2.假如tab1表中的沒有資料的話 drop table tab1 create table tab1 as select from tab2 然後在建立索引 3.用hint 提示減少操作時間 4.採用不寫日誌及使用hint提示減少資料操作的時間。建議方案是先修改表為不寫日誌 sql alter t...