ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 安装目录空间不够处理

Oracle 安装目录空间不够处理

原创 Linux操作系统 作者:xz43 时间:2011-03-01 14:45:58 0 删除 编辑
    测试环境的Oracle数据库是以前同事安装的,整个oracle目录的空间不到10G,做个稍微大点数据量的测试,就会报空间不足,而且还是非归档模式下,打算启用归档模式做试验,所以得彻底解决一下空间不足的问题。
    处理办法也很简单,就是在其他目录下划一块空间,作为Oracle文件新的存放位置。看了看,就/var目录空间剩得多,不管了,就放这个下面了。
 
(1)root账户登录,创建目录。
# cd /var
# mkdir -p oracledata/orcl
# chown -R oracle:oinstall oracledata/
# chmod -R 775 oracledata/
(2)oracle账户登录,给需要空间的表空间增加文件。
SQL> alter tablespace TDD_DB add datafile '/var/oracledata/orcl/TED_DB' size 4096M autoextend on;
表空间已更改。
SQL>
(3)将归档日志移到新目录下。
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                         IS_
---------- ------- ------- ------------------------------ ---
         3         ONLINE  /oracle/database/orcl/redo03.log NO
         2         ONLINE  /oracle/database/orcl/redo02.log NO
         1         ONLINE  /oracle/database/orcl/redo01.log NO
SQL> alter database drop logfile group 3;
数据库已更改。
SQL> alter database add logfile group 3 ('/var/oracledata/orcl/redo03.log') size 128M reuse;
数据库已更改。
SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
第 1 行出现错误:
ORA-01623: 日志 2 是实例 orcl (线程 1) 的当前日志 - 无法删除
ORA-00312: 联机日志 2 线程 1: '/oracle/database/orcl/redo02.log'
 
表明当前正在写该日志文件,不允许删除,必须切换当前的日志文件。

SQL> alter database drop logfile group 1;
数据库已更改。
SQL> alter database add logfile group 1('/var/oracledata/orcl/redo01.log') size 128M reuse;
数据库已更改。
SQL> select * from v$Log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1          0  134217728          1 YES UNUSED                       0
         2          1       4176   52428800          1 NO  CURRENT              111594871 01-3月 -11
         3          1          0  134217728          1 YES UNUSED                       0
由此可知,日志2确实是 CURRENT  ,下面我们切换日志。
SQL> alter system switch logfile;
系统已更改。
SQL> select * from v$Log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1       4177  134217728          1 NO  CURRENT              111623103 01-3月 -11
         2          1       4176   52428800          1 NO  ACTIVE               111594871 01-3月 -11
         3          1          0  134217728          1 YES UNUSED                       0
SQL> alter database drop logfile group 2;
alter database drop logfile group 2
*
第 1 行出现错误:
ORA-01624: 日志 2 是紧急恢复实例 kms (线程 1) 所必需的
ORA-00312: 联机日志 2 线程 1: '/oracle/database/orcl/redo02.log'
 
及时把日志switch切换到1上面,可日志2还是ACTIVE,需要手动checkpoint。

SQL> alter system checkpoint;

系统已更改。
SQL> select * from v$Log;
    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
         1          1       4177  134217728          1 NO  CURRENT              111623103 01-3月 -11
         2          1       4176   52428800          1 NO  INACTIVE             111594871 01-3月 -11
         3          1          0  134217728          1 YES UNUSED                       0
SQL> alter database drop logfile group 2;
数据库已更改。
SQL> alter database add logfile group 2('/var/oracledata/orcl/redo02.log') size 128M reuse;
数据库已更改。
 
至此,日志已迁出默认目录,表空间也得到扩展。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9399028/viewspace-688183/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-11-16

  • 博文量
    420
  • 访问量
    1742164