Oracle扩容表空间大小

今天需要把数据导到表里,结果导了大半天后报错了: oracle ora-01652无法通过128(在表空间xxx中),绝对是来搞我心态的,原来是表空间满了。

知道原因就好办了

1 . 登陆system用户,给需要扩容表空间的用户授权(我这里给root用户授权)

grant dba to root;

授权后会出现success表示授权成功,不授权的话查询有些表,会报错表不存在

2 . 登陆需要操作的用户,查看当前用户表空间名default_tablespace

select * from user_users;

记住这个USERS

3 . 查看表空间文件位置

Select * FROM DBA_DATA_FILES;

这里两个都是

4 . 查看表空间大小

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;

这个就是我们的表空间的大小

接下来我用两种不同的办法给它扩容

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

alter database datafile '表空间的路径,第三步查出来的那' resize 改变后的大小

示例:

alter database datafile 'C:\ORACLE\ORADATA\ORCL\USERS02.DBF' resize 3G

这样就可以成功修改到我们想要的大小了

修改前是2494,修改后在查询就变大了

方法二: 新增数据文件

alter tablespace 表空间名
add datafile '存放路径'
size 大小 autoextend on next 50M maxsize unlimited;

示例

alter tablespace USERS
add datafile 'C:\ORACLE\ORADATA\ORCL\USERS03.DBF'
size 1024M autoextend on next 50M maxsize unlimited;

这样与方法一不同就是它会新建一个文件,执行代码后我们再执行一下第三步,查看,会发现多了一个文件,在文件夹中也能找到它,到这里就成功扩容了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值