`
wm920
  • 浏览: 77481 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle数据库常见真实问题处理步骤(三)

阅读更多
6 在VM维护的裸设备上添加表空间的过程


创建裸设备,大小是2G
#/usr/sbin/vxassist -g datadg make vol183 2G
修改指定裸设备的权限
#vxedit -g datadg set user=oracle group=oinstall mode=600 vol182
创建连接
#ln -s /dev/vx/rdsk/datadg/vol182 pre_ln2_182.dbf
添加到指定的表空间,例如UNDOTBS1
SQL> alter tablespace UNDOTBS1 
  2  add datafile ’/usr5/linkdata/pre/pre_ln2_182.dbf’ size 2000M;


  7 在SUN DiskSuit维护的裸设备上添加表空间的过程


1,创建裸设备 
metainit -s cqcdg d6049 -p /dev/did/rdsk/d4s0 2g 
2,创建连接文件 
ln -s /dev/md/cqcdg/rdsk/d6049 pre_ln2_63.dbf 
3,修改权限 
chown oracle:dba pre_ln2_63.dbf 
4,添加表空间 
alter tablespace PERFDBS add datafile ’/usr5/linkdata/pre/pre_ln2_63.dbf’ SIZE 2000M;

  8 在Oracle数据库中从文件系统迁移到裸设备的处理过程

  故障现象:

  C网数据库/文件系统空间使用率突然达到99%,检查发现原来是因为本地维护给数据库添加了数据文件,但是该数据文件添加到文件系统上导致根文件系统使用率突然增大。
将文件系统上的数据文件迁移到裸设备,裸设备在文件系统上只存在一个链接,几乎不占空间。
处理步骤:

  1) 检查发现C网已没有已建好的可用裸设备,有一个建好的30G的裸设备没有使用,首先需要添加适合适用的裸设备。

  2) 删除这个没有使用的30G的soft partition:

  metaclear -s cqcdg -r d6042

  3) 在删除的空间上建立一个2G的裸设备:

  metainit -s cqcdg d6044 -p /dev/did/rdsk/d4s0 2g:

  4) 在文件系统上建立到裸设备的链接

  ln -s /dev/md/cqcdg/rdsk/d6044 pre_ln2_57.dbf

  5) 更改链接文件的所有者

  chown oracle:dba pre_ln2_57.dbf

  6) 以sysdba身份登录并关闭数据库

  sqlplus “/as sysdba”
  SQL>shutdown immediate

  7) 将文件系统文件上的数据导到裸设备文件上

  dd if=/usr5/linkdata/sys/pre_ln2_61.dbf of=/usr5/linkdata/pre/pre_ln2_57.
  dbf bs=134217728

  if 文件系统文件名
  of 新建裸设备链接名
  bs dd时的blocksize,单位为byte,如果不设此项,dd的速度非常慢

  8) 启动数据库到mount状态

  SQL>startup mount

  9) 更改数据文件名

SQL>alter DATABASE rename FILE ’/usr5/linkdata/sys/pre_ln2_61.dbf’ TO ’/usr5/linkdata/pre/pre_ln2_57.dbf’;

  10) 打开数据库

  SQL〉alter database open;

  11) 验证更改

  9 解决在Oracle Open状态下shutdown immediate不能关闭数据库问题
故障现象:

  XX网数据库使用shutdown immediate不能关闭,日志中不断输出以下内容:



Shutting down instance: further logons disabled
Shutting down instance (immediate)
License high water mark = 215
All dispatchers and shared servers shutdown
Fri Aug 12 21:52:34 2005
alter DATABASE CLOSE NORMAL
Fri Aug 12 21:52:38 2005
Thread 1 advanced to log sequence 69953
  Current log# 2 seq# 69953 mem# 0: /ora_sys/cqgdb/redo02.log
Thread 1 advanced to log sequence 69954
  Current log# 4 seq# 69954 mem# 0: /ora_sys/cqgdb/redo04.log
... ... ..
  Current log# 3 seq# 69966 mem# 0: /ora_sys/cqgdb/redo03.log
Thread 1 advanced to log sequence 69967
  Current log# 1 seq# 69967 mem# 0: /ora_sys/cqgdb/redo01.log

  解决办法:

  Oracle工程师首先怀疑是临时表空间空间不足导致,经检查临时表空间没有空间不足的情况,仔细观察日志发现重做日志文件不断切换,分析应该是有较多的事务没有完成提交或者有较多没有提交的事务完成回滚。现在面临的问题是我们没有很多时间去等待所有的事务去完成回滚或提交。解决问题的思路就是如何尽快结束这些事务的回滚或提交。

  1) 查看spfile文件中是否有fast_start_parallel_rollback参数的设置,检查结果G网数据库没有设置该参数。如果没有显式设置,则该参数的默认值为low。修改该参数值为false
  2) 将数据库启动到nomount状态:startup nomount
  3) 修改改参数值:alter system set fast_start_parallel_rollback = FALSE scope=spfile
  4) shutdown immediate关闭数据库
  5) startup启动
  6) 查看该参数是否生效:show parameter fast_start_parallel_rollback
  7) 等待一段时间
  8) shutdown immediate数据库可以关闭
分析:FAST_START_PARALLEL_ROLLBACK是用来控制事务并行回滚最大进程数的参数。该参数有三个可设值,low,high,false。当设置为false时并行回滚被禁止,由于禁止了并行回滚,在数据库关闭时,需要回滚的事务将被取消。

      来源:IT168    作者:李连国 
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Oracle数据库常见真实问题处理步骤

    火龙果软件工程技术中心 1解决Oracle9.2.0.6版本数据库由于ORA-07445宕机问题故障现象:XX网数据库宕机,查看日志发现以下内容:WedJun 820:24:172005Errorsinfile/u02/app/oracle/admin/unicom/udump/unicom_ora_...

    从一个“普通”的Oracle DBA(Oracle数据库管理员)转变为Oracle Applications DBA(Oracle应用程序数据库管理员)

    Oracle Applications DBA(Oracle应用程序数据库管理员)比“普通”的Oracle DBA(Oracle数据库管理员)门槛高了很了很多,不仅要有处理数据库问题的能力,还需要了解整个应用程序的构架,从大处着眼,整体考虑问题...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。  JARED STILL 从1994年就开始使用...

    asp.net知识库

    Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的几点经验! 自动代码生成器 关于能...

    SQL培训第一期

    伪列不是表的真实列,但是你可以象使用真实列一样使用伪列,常用伪列:rowid行的绝对物理编号,每一行是唯一的。rownum序号,返回查询结果的每行序号。系统时间sysdate,返回系统当前时间。 2.1.4.2 伪表 select * ...

    ssh(structs,spring,hibernate)框架中的上传下载

    3在Spring中使用org.springframework.jdbc.support.lob.OracleLobHandler处理Oracle数据库的Blob类型字段。  通过这样的设置和配置,我们就可以象持久化表的一般字段类型一样处理Blob字段了。  以上是Spring+...

    JAVA面试题最全集

    9.Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。 10.找出下列代码可能存在的错误,并说明原因: 二、JSP&Servlet技术 1.描述JSP和Servlet的区别、共同点、各自应用的范围 2.在Web开发中...

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

Global site tag (gtag.js) - Google Analytics