Oracle系统默认临时表空间以及redo日志文件问题处理(一)

2015-07-16 12:07:38 · 作者: · 浏览: 8

解决的过程:尝试起库,发现报错,说/shared_data 共享内存空间不足什么的,导致无法审计,直接想到去清理空间,


[oracle@rac1 trace]$ df -Th? ? ? ? ? ? ? ? ? ?
文件系统? ? ? 类型? ? 容量? 已用 可用 已用% 挂载点
/dev/sda2? ? ext3? ? 142G? 135G? ? 0 100% /
?/dev/sda6? ? ext3? ? 66G? 48G? 16G? 76% /data
?/dev/sda3? ? ext3? ? 48G? 17G? 29G? 37% /software
?/dev/sda1? ? ext3? ? 190M? 14M? 167M? 8% /boot
?tmpfs? ? ? ? tmpfs? ? 16G? ? 0? 16G? 0% /dev/shm
?/dev/mapper/mpath2
? ? ? ? ? ? ? ext3? ? 2.0T? 1.2T? 764G? 61% /backup
?/dev/mapper/oraclep1
? ? ? ? ? ? ? ext3? 1008G? 686G? 272G? 72% /software/oradata01
rac1:/shared_grid
? ? ? ? ? ? ? ? nfs? ? 142G? 135G? ? 0 100% /software/app/11.2.0/grid
?rac1:/shared_home
? ? ? ? ? ? ? ? nfs? ? 142G? 135G? ? 0 100% /software/app/oracle/product/11.2.0/db_1
?rac1:/shared_config
? ? ? ? ? ? ? ? nfs? ? 142G? 135G? ? 0 100% /software/shared_config
?rac1:/shared_data
? ? ? ? ? ? ? ? nfs? ? 142G? 135G? ? 0 100% /software/oradata
?none? ? ? ? tmpfs? ? 16G? 128K? 16G? 1% /var/lib/xenstored



很显然 挂在点 /? 空间被沾满,红色部分,很显然,有可能可以清理的只有? /software/oradata ,以所以在这个路径下找占用空间比较大的文件,


[oracle@rac1 JLPROJCT]$ pwd
?/shared_data/JLPROJCT


[oracle@rac1 JLPROJCT]$ ll
总计 79771028
?-rw-r----- 1 oracle oinstall? ? 25706496 05-28 22:13 control01.ctl
?-rw-r----- 1 oracle oinstall? ? ? ? 1536 04-02 13:55 orapwJLPROJCT
?-rw-r----- 1 oracle oinstall? 2097152512 05-27 21:52 redo01A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-27 21:48 redo02A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 17:47 redo03A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 17:47 redo04A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 22:13 redo05A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 22:12 redo06A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 17:47 redo07A.log
?-rw-r----- 1 oracle oinstall? 2097152512 05-28 17:47 redo08A.log
?-rw-r----- 1 oracle oinstall? ? ? ? 5632 05-27 19:37 spfileJLPROJCT.ora
?-rw-r----- 1 oracle oinstall? 3330285568 05-28 22:12 sysaux01.dbf
?-rw-r----- 1 oracle oinstall 13532930048 05-28 22:12 system01.dbf
?-rw-r----- 1 oracle oinstall 34358697984 05-28 11:24 temp01.dbf
?-rw-r----- 1 oracle oinstall? 8017420288 05-28 22:13 undotbs01.dbf
?-rw-r----- 1 oracle oinstall? 6121594880 05-28 22:11 undotbs02.dbf
?-rw-r----- 1 oracle oinstall? 104865792 05-28 17:48 users01.dbf


发现redo的命名规范(有A ),显然是其中的一部分成员,根据redo成员镜像的关系,想到了把这八个成员移动到别的位置(其实不应该这样,应该移动临时文件,因为即便丢失了所有的临时表空间,只要不是数据库当中用到了order by、子查询、group by、distinct等需要消耗临时表空间的语句(而且要比较大才行,小的话就直接用pga的SORT_AREA区了),那么也不会对业务造成错误导致中断,发现问题之后只需要新建一个临时表空间就可以了。你要是了解备份恢复的话,实际上在进行备份的时候临时表空间都不会进行备份,而只是有一个创建临时表空间的语句而已)


腾出空间之后,数据库终于算是起来了。


但是这显然是不行的,移动位置,相当于物理层面删掉了日志组的成员,这样每个组就只有一个成员了,非常危险.此时在数据库里查看时,被移动的文件的状态变成了invalid,


SQL> select? GROUP#,STATUS? ,? from v$logfile;


?



? ? GROUP#? ? ? STATUS? ? ? ? ? ? ? ? ? ? ? MEMBER


---------- -------


? ? ? ? 2? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo02A.log? ? ? ? ? ? ? ? ?


? ? ? ? 1? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo01A.log


? ? ? ? 3? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo03A.log


? ? ? ? 1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /software/oradata01/JLPROJCT/redo01B.log


? ? ? ? 5? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /software/oradata01/JLPROJCT/redo05B.log


? ? ? ? 6? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo06A.log


? ? ? ? 8? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo08A.log


? ? ? ? 7? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/oradata/JLPROJCT/redo07A.log


? ? ? ? 4? ? ? ? ? ? ? invalied? ? ? ? ? ? ? ? ? ? ? /software/orada