Oracle表空间不足,数据无法插入

问题:往数据库插入数据时报错,ORA-01653: unable to extend table VSW1908PDB_ADMIN.L2INTF_EVENT by 128 in tablespace SYSTEM
说明VSW1908PDB_ADMIN的表空间不足。

解决步骤

参考网上链接:参考链接
解决方法:设置该表空间为自动扩展,或对该表空间增加数据文件
1.在sqldeveloper中使用用户名:sys as sysdba;密码:Oracle12c以及VSW1908PDB_ADMIN用户的服务名进行登陆。
检查表空间是否不足

select max1.tablespace_name, Total_MB,MB_used ,MB_free,trunc(pct) "UsedPercent%",maxbytes as " MaxMBytes" ,pct_warn ,round(100*MB_used/maxbytes,4) as "growupPercent",
 (case   when ((MB_used/maxbytes)>0.9) then 'Almost Full'      else 'Will Auto Increase' end ) tablespaceIncrStat
from (select T.TABLESPACE_NAME as  tablespace_name,
sum(decode(d.MAXBYTES,0,d.bytes,d.maxbytes)/1024/1024) as maxbytes 
 from dba_tablespaces t, dba_data_files d where t.TABLESPACE_NAME=d.TABLESPACE_NAME group by T.TABLESPACE_NAME) max1,
 (select  tbs.tablespace_name,
        trunc(tot.bytes/1024/1024) Total_MB,
        trunc(tot.bytes/1024/1024-sum(nvl(fre.bytes,0))/1024/1024) MB_used,
        trunc(sum(nvl(fre.bytes,0))/1024/1024) MB_free,
        (1-sum(nvl(fre.bytes,0))/tot.bytes)*100 pct,
        decode(
            greatest((1-sum(nvl(fre.bytes,0))/tot.bytes)*100, 90),
            90, '', '*'
        ) pct_warn
from    dba_free_space fre,
        (select tablespace_name, sum(bytes) bytes
        from    dba_data_files
        group by tablespace_name) tot,
        dba_tablespaces tbs
where   tot.tablespace_name    = tbs.tablespace_name
and     fre.tablespace_name(+) = tbs.tablespace_name
group by tbs.tablespace_name, tot.bytes/1024/1024, tot.bytes) avail1 
where avail1.tablespace_name=max1.tablespace_name;

检查表空间是否自动递增

select tablespace_name,file_name,autoextensible from dba_data_files;

检查表空间对应的数据文件位置

select tablespace_name, file_id,file_name, 
round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

2.如果表空间大小充足(表空间没有利用到30G),没有设置自动递增,设置表空间自动递增

alter database datafile '数据文件路径' autoextend on next 100m maxsize 4000M;

3.如果表空间大小不够了(表空间利用到32G上限),添加数据文件

Alter tablespace 表空间名称 add datafile 'datafile路径/新dbf名字' size 20480M autoextend on next 500M maxsize UNLIMITED;

解释:

(1)、表空间名称:写入报错的表空间名称
( 2)、 ‘datafile路径/新dbf名字’ --存放数据库dbf文件的路径下,建个新的dbf,如已经存在的 /u01/app/oracle/oradata/user01.dbf,需要增加个新成员,新的路径就写成: /u01/app/oracle/oradata/user02.dbf
(3)、autoextend on next 500M maxsize UNLIMITED:下一次自动扩展500m,最大无-限制。

eg:alter tablespace SYSTEM add datafile 'C:\APP\ORADATA\ORCL\PDBSEED\O1_MF_SYSTEM_GO4S7H9H_20200513.DBF'size 1024M autoextend on next 500M maxsize UNLIMITED;

4.添加数据文件后,磁盘空间不足
扩展磁盘空间,可以使用电脑自带的磁盘管理工具也可以使用第三方工具。

问题

SQL DEVELOPER 里 SYSTEM不能以SYSDBA登录的问题
链接:SQL DEVELOPER 里 SYSTEM不能以SYSDBA登录的问题
1.在sqlplus中用sys as sysdba/Oracle12c登陆,登陆后修改sys密码:alter user sys identified by password;
然后在sqldeveloper中使用sys as sysdba/修改后密码,和服务名进行登陆即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值