Oracle system表空间满的暂定解决方法

Oracle system表空间满的暂定解决方法

数据库用的是Oracle Express 10.2版本的。利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过程中我利用yxl在数据库中创建了7个Context或Ctxcat类型索引。开始利用这些索引进行查询的时候速度很慢,在控制台查看了一下,发现system表空间居然占了99.69%。下面是表空间占用情况的截图:

Oracle system表空间满的暂定解决方法

在sqlplus中执行SQL语句:

  1. select username,default_tablespace,temporary_tablespace from dba_users where username='YXL';
select username,default_tablespace,temporary_tablespace from dba_users where username='YXL';

执行结果:YXL  USERS  TEMP

未指定默认表空间而创建用户,则系统应该是指定其默认为system表空间的,这里不太清楚为什么USERS成了yxl的默认表空间。

最后,我找到system表空间满的暂定解决方法如下:
一、为system表空间另外新增一个数据文件。

  1. alter tablespace system add datafile 'D:\oracleXE\oradata\XE\system_01.dbf' resize 1024M;
alter tablespace system add datafile 'D:\oracleXE\oradata\XE\system_01.dbf' resize 1024M;

二、更改system表空间的数据文件SYSTEM.dbf分配空间。

  1. alter database datafile 'D:\oracleXE\oradata\XE\system_01.dbf' autoextend on;
  2. alter database datafile 'D:\oracleXE\oradata\XE\system_01.dbf' resize 1024M;
上一篇:Oracle 表空间不足引起的问题及解决方法


下一篇:ORACLE 表空间扩展方法