1.目的
- 解决oracle数据库表结构空间不足,导致客户端或服务端程序无法连接数据库;
- 知悉 oralce提示ora-01691的查询分析语句及快速解决办法
2.解决办法
查询表结构容量空间以及扩大容量后进行查询验证
sql
select b.file_id,b.tablespace_name,b.file_name,b.bytes,(b.bytes-sum(nvl(a.bytes,0))),sum(nvl(a.bytes,0)),sum(nvl(a.bytes,0))/(b.bytes)*100
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_name,b.file_id,b.bytes
order by b.tablespace_name
做法1:删除占用大量数据的表资料(特别是图文),设置定时清理机制(特别是图文插入的数据)
做法2:扩大表空间容量,单个最大是32G,以防万一,故本文在上面增加USER01和USER02两个文件,++而下面语句是在再次增加【USER03】及【USER04】:20G+25G=45G++
sql
--01 实际数据库的名字,可以按照用户自定义的名字
--02 F:\APP\ADMINISTRATOR\ORADATA 先查实际的目录,放置在同一个目录下
--03 20G或25G 可以自己定义,小于32G即可,目前增加45G
--04 USERS03或USERS04 可以自己定义
ALTER TABLESPACE "USERS" ADD DATAFILE
'F:\APP\ADMINISTRATOR\ORADATA\实际数据库名\USERS03.DBF' SIZE 20G AUTOEXTEND ON NEXT
50M MAXSIZE UNLIMITED;
ALTER TABLESPACE "USERS" ADD DATAFILE
'F:\APP\ADMINISTRATOR\ORADATA\实际数据库名\USERS04.DBF' SIZE 25G AUTOEXTEND ON NEXT
50M MAXSIZE UNLIMITED;
综上:两个做法1+2结合是最佳作业方式哈(* ̄︶ ̄)