小小的导出,没想到的意外-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3502691
  • 博文数量: 718
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 7790
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-07 08:51
个人简介

偶尔有空上来看看

文章分类

全部博文(718)

文章存档

2024年(4)

2023年(74)

2022年(134)

2021年(238)

2020年(115)

2019年(11)

2018年(9)

2017年(9)

2016年(17)

2015年(7)

2014年(4)

2013年(1)

2012年(11)

2011年(27)

2010年(35)

2009年(11)

2008年(11)

最近访客
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2020-11-24 19:32:56


本来导出数据不是大事,客户来电要求将a库数据导出,在b机创建实例,然后导入,登录数据库看看大小,有些小卡,没在意,查出大小17g,嗯,简单,查看可用的directory和磁盘空间,查看用户信息都正常,看了看cpu,有些忙呀,按说测试环境不应该这个样子。

导出看看
expdp \'/ as sysdba \' directory=data_pump_dir dumpfile=t_%u.dmp logfile=t_exp.log full=y
跑了一小时才500多m!

top看sys%很高,一堆oracle进程瞎忙,alert.log没有告警,后台不知干啥呢(应该看v$session)。

经沟通,启停一下数据库吧,很慢很慢的。

看来是不正常的

根据刚才看top时确认smon、dbwr、vktm进程忙,其实这时应该知道是什么原因了。

逐一解决它!

alter system set db_writer_processes=4 scope=spfile;  --加了这个重启库很快了
alter system set job_queue_processes=0;  --防止干扰,其实没用
alter system set filesystemio_options=setall scope=spfile;  --似乎有关,先改改
alter system set "_high_priority_processes"='lms*' scope=spfile; --肯定治理vktm高cpu
alter system set fast_start_parallel_rollback=false scope=spfile;  --并行恢复改为串行

重启数据库,会话里就不会看到很多并行恢复进程了。

查查回滚事务进度:

select  undoblockstotal "total", undoblocksdone "done", undoblockstotal-undoblocksdone  
   "todo",decode(cputime,0,'unknown',to_char(sysdate (((undoblockstotal-undoblocksdone)  
   / (undoblocksdone / cputime)) / 86400),'yyyy-mm-dd hh24:mi:ss'))  
   "est time to ok",to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') riqi
   from v$fast_start_transactions;

一开始预估到23点,又要加班?出去吃了个饭,回来再看,嗯19:30结束。

通过观察,回滚期间redo更新很频繁,看来把测试库的redo log文件大小从50m调大到500m,再多加几组很有必要呀。

2月6日补充:
上述评估回滚进度的方法可能不准确,参照官方文档,查看undo进度执行以下脚本:
set lines 120
col undo_segment format a25
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

select sysdate,b.name undo_segment, b.inst# instid, b.status$ status, a.ktuxeusn
xid_usn, a.ktuxeslt xid_slot, a.ktuxesqn xid_seq, a.ktuxesiz undoblocks
from x$ktuxe a, undo$ b
where a.ktuxesta = 'active'
-- and a.ktuxecfl like '�ad%'
and a.ktuxeusn = b.us#;

每隔 2 分钟,执行一次上述语句,看 undoblocks 这列的值是否在减少,降低为0,说明事务结束。

参考:script to monitor smon rollback progress [id 1352046.1]


阅读(1686) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图