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

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

 

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



在sqlplus中执行SQL语句:
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表空间另外新增一个数据文件。
  
Sql代码 复制代码 收藏代码
  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分配空间。
  
Sql代码 复制代码 收藏代码
  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;  

posted on 2013-09-08 21:50  艾思派客  阅读(2254)  评论(0编辑  收藏  举报

导航