存储的疑惑

今天接到维护人员的电话,说是要对数据库表空间进行扩充.

用oem 很长时间才能看到表空间的情况,eom客户端特别容易挂掉. 这个问题也困扰了我很久.

于是我建议用命令行的方式,并给了命令作为参考:

  建立表空间的语句如下:
CREATE TABLESPACE TMS2006_INDEX LOGGING DATAFILE '/dev/vgora/rlvora_4g_051' SIZE 4050M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;
CREATE TABLESPACE TMS2006_HOT   LOGGING DATAFILE '/dev/vgora/rlvora_4g_101' SIZE 4050M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO ;

LOGGING                         选项 记录操作日志,可以利用操作日志来恢复
EXTENT MANAGEMENT LOCAL         选项 区管理为本地化 即数据块的使用与否是在此文件的头部 用一串二进制位来标示数据块块的使用与否。
SEGMENT SPACE MANAGEMENT  AUTO  选项 段空间管理为自动

把后续的数据文件加入表空间 
ALTER TABLESPACE TMS2006_INDEX  ADD  DATAFILE '/dev/vgora/rlvora_4g_052' SIZE 4050M;
......
......
ALTER TABLESPACE TMS2006_INDEX  ADD  DATAFILE '/dev/vgora/rlvora_4g_065' SIZE 4050M;

把后续的数据文件加入表空间 
ALTER TABLESPACE TMS2006_HOT    ADD  DATAFILE '/dev/vgora/rlvora_4g_102' SIZE 4050M;
......
......
ALTER TABLESPACE TMS2006_HOT    ADD  DATAFILE '/dev/vgora/rlvora_4g_105' SIZE 4050M;

 

并且提醒他,那些文件设备用过,那些文件设备没有用过,必须搞清楚.因为碰到的系统,都是主机工程师

把存储都已经划分成裸设备,然后让数据库使用,结果维护人员因为维护日志,和文档记录不详细,会把

已经在用的裸设备 再 进行划分.这种情况,很容易出问题.

 

维护人员后来飞秋我说:

  我使用alter tablespace tmsztf0731space add datafile '/dev/rtmsztf-731IIII.dbf' size 1000M;命令扩展表空间就会出错。说磁盘空间已满

我郁闷了,于是问:

 windows? unix?

维护人员说:

应该是 unix 吧。

我说:

  把select * from v$datafile 的结果给我看看

/dev/rcwsystem

/dev/rcwundo_1

/dev/rcwsysaux

看到这个结果我就知道是 unix 了。

于是要了 root 和 ip 自己登上去看看。

 

过了一会维护人员又把平台的报错发给我:

  PSQLException:ORA-00604: 递归 SQL 级别 1 出现错误
ORA-01654: 索引 SYS.I_COL3 无法通过 1024 (在表空间 SYSTEM 中) 扩展
[ 详细信息请查看系统异常日志], kmdm2=, kmdm1=, q_dwdm=A5204, userid=T_F491582187
, qy=1, q_kmdm_d=, qyqjchoose=0, ztdm=A5204, k_sfmj=0, kmyetmptable=KMYETMPT_F49
1582187}{导航主题:}


我一看这个报错,直觉和经验告诉我,回收站没有及时清。

我们现在的软件系统设计有一个比较大的缺陷,后台数据库从9i迁移到10g以后,

对于 drop table 有了重大的改动,10g不再真正的删除表,而且转移到回收站

相应的资源还是占用的。而我们的系统里面在计算报表的时候会使用大量的临时表

这个临时表需要打上一个引号,因为不是oracle的真正的临时表。

而是在数据库里面 创建一张表,然后再drop掉。

现在无论我们开发人员和维护人员,对于此事都不清楚。

结果一查 回收站里面 16万张表, 最早的时间 是 2010年12月1日的。

 

上面平台的报错,就是回收站不清,导致系统表越来越大。最后把system表空间撑满了。

 

根据以上的检查,先治标,再治本

治标:

创建裸设备,分配权限给oracle,扩system表空间。

治本:

从开发入手,解决临时表的问题。

从维护入手,定期删除回收站。

治本,其实早就开始了,我们给维护提了很多次,要定期清回收站。但收效甚微,我估计现在还有很多

省的维护人员不知道此事。贵州今天就是这个状况。

 

现在开始治表:

先查看 目前磁盘的状况:

# df -k
Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
/dev/hd4          2097152    982020   54%     3341     2% /
/dev/hd2          4194304   1467040   66%    48618    13% /usr
/dev/hd9var       2097152   1974176    6%     1116     1% /var
/dev/hd3          2097152   2043600    3%      741     1% /tmp
/dev/fwdump       1048576   1047948    1%        5     1% /var/adm/ras/platform
/dev/hd1          2097152   2096432    1%       18     1% /home
/proc                   -         -    -         -     -  /proc
/dev/hd10opt      2097152   1987844    6%     2748     1% /opt
/dev/fslv00       4194304    376492   92%     3866     5% /fix
/dev/oracle_lv    10485760   3603372   66%    37835     5% /oracle
/dev/fslv01      10485760   3849364   64%     6816     1% /oradata
/dev/fslv02      20971520  18374264   13%       67     1% /ora_arch

 

# lsvg
rootvg
oravg01
oravg02
oravg03
oravg04
oravg06
oravg07
oravg05

 

# lsvg -l rootvg
rootvg:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
hd5                 boot       1     1     1    closed/syncd  N/A
hd6                 paging     16    16    1    open/syncd    N/A
hd8                 jfs2log    1     1     1    open/syncd    N/A
hd4                 jfs2       8     8     1    open/syncd    /
hd2                 jfs2       16    16    1    open/syncd    /usr
hd9var              jfs2       8     8     1    open/syncd    /var
hd3                 jfs2       8     8     1    open/syncd    /tmp
hd1                 jfs2       8     8     1    open/syncd    /home
hd10opt             jfs2       8     8     1    open/syncd    /opt
fwdump              jfs2       4     4     1    open/syncd    /var/adm/ras/platform
lg_dumplv           sysdump    4     4     1    closed/syncd  N/A
fslv00              jfs2       16    16    1    open/syncd    /fix
oracle_lv           jfs2       40    40    1    open/syncd    /oracle
fslv01              jfs2       40    40    1    open/syncd    /oradata
fslv02              jfs2       80    80    1    open/syncd    /ora_arch

 

# lsvg -l oravg01
oravg01:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
cwredo_1            raw        4     4     1    open/syncd    N/A
cwredo_2            raw        4     4     1    open/syncd    N/A
cwredo_3            raw        4     4     1    closed/syncd  N/A
cwredo_4            raw        4     4     1    closed/syncd  N/A
cwredo_5            raw        4     4     1    closed/syncd  N/A
cwredo_6            raw        4     4     1    closed/syncd  N/A
cwconfile_1         raw        4     4     1    open/syncd    N/A
cwconfile_2         raw        4     4     1    open/syncd    N/A
cwconfile_3         raw        4     4     1    open/syncd    N/A
cwsystem            raw        16    16    1    open/syncd    N/A
cwundo_1            raw        32    32    1    open/syncd    N/A
cwundo_2            raw        32    32    1    closed/syncd  N/A
cwtemp              raw        32    32    1    open/syncd    N/A
cwindex             raw        4     4     1    closed/syncd  N/A
cwusers             raw        4     4     1    open/syncd    N/A
cwtools             raw        4     4     1    closed/syncd  N/A
cwdbspfile          raw        1     1     1    closed/syncd  N/A
cwdblvora01         raw        32    32    1    closed/syncd  N/A
cwdblvora02         raw        32    32    1    closed/syncd  N/A
cwdblvora03         raw        32    32    1    closed/syncd  N/A
cwdblvora04         raw        32    32    1    closed/syncd  N/A
cwsysaux            raw        32    32    1    open/syncd    N/A
cwflash             raw        16    16    1    closed/syncd  N/A
tmsztf0731          raw        40    40    1    open/syncd    N/A
tms2006             raw        40    40    1    open/syncd    N/A
tmsztfwf            raw        40    40    1    open/syncd    N/A
tms2006II           jfs        32    32    1    open/syncd    N/A
tms2006III          jfs        32    32    1    open/syncd    N/A
tms2006temp         jfs        32    32    1    open/syncd    N/A
tmsztf0731II        jfs        32    32    1    open/syncd    N/A
tmsztf-731III       jfs        32    32    1    open/syncd    N/A

 

看了以上的 存储划分,我又开始郁闷了。 raw也有,jfs 也有,jfs2 也有。

名称也没有统一命名。有的用了,有的没有用。唉,无语。

不说了,说什么都是浮云,干活。

 

lsvg -l jstrdmm_DATA02 
                     lvstat open/sync
lsvg jstrdmm_DATA02

建立裸设备类型的 的逻辑卷  40个lps 
mklv -y  ‘lvdata0331’  - t  ‘raw’ datavg09 40
mklv -y  ‘lvdata0331’  - t  ‘jfs2’ datavg09 40   九鼎推荐使用这种 类型的裸设备

lsvg
lsvg vgdata
lsvg -l vgdata

 

就这样吧。

维护水平要提高,维护人员的水平要提高,维护人员的工资水平要提高,客户满意度才会提高,公司的收入才能提高。

什么时候才能良性循环呢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值