Linux上Oracle18C 系统表空间大小调整 adjust the system tablespace for oracle18c on linux

1. 测试过程中,发现  system tablespace is not enough, need to adjustment

 初步解决方案: 

查询一下 system tablespace的大小

SQL> select sum(bytes) from dba_free_space where tablespace_name='SYSTEM'; 

查询结果输出是bytes,我要切换为M,方便查看

SQL> select sum(bytes)/(1024*1024) as "size: M" from dba_free_space where tablespace_name='SYSTEM';

显示只有1.31M了

b. 我想直接扩大这个表空间文件,但是忘记这个系统表空间的文件地址,需要查询

SQL> select * from dba_data_files where tablespace_name='SYSTEM';

得到结果 /u01/app/oracle/oradata/ORCL18C/system01.dbf

c. 尝试直接扩展

SQL> alter database datafile '/u01/app/oracle/oradata/ORCL18C/system01.dbf' resize 500M;
alter database datafile '/u01/app/oracle/oradata/ORCL18C/system01.dbf' resize 500M
*
ERROR at line 1:
ORA-03297: file contains used data beyond requested RESIZE value - 第一次报错,因为resize的值过小,小于最原始的值,本来已经用过的 已经超过500M,设置为500M,可能会造成数据丢失,重新设置为2048M

SQL> alter database datafile '/u01/app/oracle/oradata/ORCL18C/system01.dbf' resize 2048M;

commit;

d. 验证一下 是否生效

SQL> select sum(bytes)/(1024*1024) as "size: M" from dba_free_space where tablespace_name='SYSTEM';  查询结果显示有 1159.3125, 由此可知,已经生效

猜你喜欢

转载自www.cnblogs.com/xiangjiaoai/p/9766811.html