当前位置: 首页 > news >正文

建筑网站上海设计制造有限公司

建筑网站上海,设计制造有限公司,免费做封面网站,搜索排名怎么做文章目录 前言一、大表数据附#xff1a;查询大表 二、解题思路1.导出排除大表的数据2.rowid切片导出大表数据Linux代码如下#xff08;示例#xff09;#xff1a;Windows代码如下#xff08;示例#xff09;#xff1a;手工执行代码如下#xff08;示例#xff09;查询大表 二、解题思路1.导出排除大表的数据2.rowid切片导出大表数据Linux代码如下示例Windows代码如下示例手工执行代码如下示例 3.rowid切片导入大表数据导入前准备linux代码如下示例windows代码如下示例 三、导出时业务卡顿如何停止 前言 Oracle在做数据迁移、还原测试库以及其他需要导出、导入数据的需求下我们常用到数据泵来进行数据的转移操作但往往很多事后我们要操作的库数据量都非常大且数据库中clob字段非常多就给我们导出带来了一些问题导出慢或者卡在那里很久不动等问题 有小伙伴可能会说你开并行不就行了吗事实上当你数据库中大对象数据量占用较大时候你会发现开并行没有任何用那么怎么解决这个问题呢那么思路是先排除大对象的表然后大表再通过rowid切片多个进程导出导入。 提示以下是本篇文章正文内容下面案例可供参考 一、大表数据 截图中可以看到此表占用446G数据量压缩完后大小为51G开了2个进程并行但没有效果最终执行了10小时时间是非常久的。 附查询大表 --查看大对象先排除导出然后再单独导出 SELECT owner,tablespace_name,case SEGMENT_typewhen LOBSEGMENT then(select table_name || . || column_namefrom dba_lobs twhere t.segment_name s.segment_name)elseSEGMENT_NAMEend as SEGMENT_NAME,BYTES / 1024 / 1024 MB,BYTES / 1024 / 1024 / 1024 GBFROM DBA_SEGMENTS sOrder By 4 Desc,3 asc;二、解题思路 1.导出排除大表的数据 命令参考: expdp system/oracleip:1521/sidname directorydatapump_dir parallel8 clusterN dumpfileexp_full0824_%U.dmp logfileexp_full_20230824.log schemasusrname COMPRESSIONALL excludestatistics excludeTABLE:\in\(\table_name\\)\这里可以看到排除大表后整体导出时间下降到了17分钟 2.rowid切片导出大表数据 rowid切片导出数据是从0开始我们需要知道rowid的分配来控制最终想执行的并行数。 Linux代码如下示例 #!/bin/bash chunk9 for ((i0;i8;i)); do expdp system/oracle TABLEStablename QUERYtablename:\where mod\(dbms_rowid.rowid_block_number\(rowid\)\, ${chunk}\) ${i}\ directoryDMP dumpfileTX_${i}.DMP logfileTX_${i}.log echo $i sleep 10 done Windows代码如下示例 echo off #这里可以带上IP地址、端口、sid set connStrsystem/oracleip:1521/sid_name #这里指的并行数 set chunk10 #sid_name set oracle_sidorcl #oracle_home路径注意bin后边的‘\’ set oracle_home_pathd:\oracle\product\10.2.0\db_1\bin\rem 格式FOR /L %variable IN (start,step,end) DO command [command-parameters] #10个并行0~9(开始标号、每次增加量、结束标号) for /l %%a in (0,1,9) do ( start /b %oracle_home_path%expdp %connStr% TABLEStable_name QUERYtable_name:\where mod\(dbms_rowid.rowid_block_number\(rowid\)\,%chunk%\) %%a\ directoryexpdpdump dumpfileTX_%%a.DMP logfileTX_%%a.log timeout 10 nul 2nul )手工执行代码如下示例 #如下打开三个窗口分别粘贴执行如果要开更多的进程需要更改3后后面的0~2 SQL create or replace directory dmp as D:\dump\; SQL grant read,write on directory dmp to public;expdp system/oracle tablestable_name QUERYtable_name:\where mod\(dbms_rowid.rowid_block_number\(rowid\)\,3\) 0\ directoryDMP dumpfilexxxx_0.dmp logfilexxxx_0.log expdp system/oracle tablestable_name QUERYtable_name:\where mod\(dbms_rowid.rowid_block_number\(rowid\)\,3\) 1\ directoryDMP dumpfilexxxx_1.dmp logfilexxxx_1.log expdp system/oracle tablestable_name QUERYtable_name:\where mod\(dbms_rowid.rowid_block_number\(rowid\)\,3\) 2\ directoryDMP dumpfilexxxx_2.dmp logfilexxxx_2.log )以上我拿一张14G数据表进行测试3个并行度执行实际4分半实际测试中切片导出数据也可以加压缩参数。 对比此张图可以看到我的切片测试已将导出实际提升了2倍左右如果并行度更高的话那么我们的整体时间会成倍降低。 3.rowid切片导入大表数据 导入前准备 在导入大表数据之前需要做的是 #确保大表所在的表空间存在 select table_name,tablespace from user_tables where table_nameTABLE_NAME;#创建用户以及表结构建议使用plsql查询 SELECT DBMS_METADATA.GET_DDL(TABLE,TABLE_NAME) from DUAL;linux代码如下示例 #!/bin/bash for ((i0;i8;i)); do #echo dumpfileTX_${i}.DMP impdp \/ as sysdba\ directoryimpdpdump dumpfileTX_${i}.DMP logfileimpdp_TX_${i}.log DATA_OPTIONSDISABLE_APPEND_HINT TRANSFORMDISABLE_ARCHIVE_LOGGING:Y CONTENTDATA_ONLY sleep 10 donewindows代码如下示例 echo offset connStrsystem/oracle set oracle_sidorcl set oracle_home_pathd:\oracle\product\10.2.0\db_1\bin\rem 格式FOR /L %variable IN (start,step,end) DO command [command-parameters]for /l %%a in (0,1,9) do ( rem 11g upper start /b %oracle_home_path%impdp %connStr% directoryimpdpdump dumpfileTX_%%a.DMP logfileimp_TX_%%a.log DATA_OPTIONSDISABLE_APPEND_HINT TRANSFORMDISABLE_ARCHIVE_LOGGING:Y CONTENTDATA_ONLYstart /b %oracle_home_path%impdp %connStr% directoryimpdpdump dumpfileTX_%%a.DMP logfileimp_TX_%%a.log CONTENTDATA_ONLY timeout 10 nul 2nul )测试表导入成功和切片导出的时间基本相同。 三、导出时业务卡顿如何停止 select s.inst_id,to_char(sysdate,YYYY-MM-DD HH24:MI:SS) DATE, s.program, s.sid, orakill orcl2 ||spid,kill -9 ||spid, s.status, s.username, d.job_name, p.spid, s.serial#, p.pid ,ALTER SYSTEM KILL SESSION ||||s.SID||,||s.SERIAL#||,||s.inst_id|||| IMMEDIATE; killsefrom gv$session s, gv$process p, dba_datapump_sessions d where p.addrs.paddr and s.saddrd.saddr and s.inst_idp.inst_id and s.inst_idd.inst_id; select orakill orcl ||spid ,ALTER SYSTEM KILL SESSION ||||t1.SID||,||t1.SERIAL#|||| IMMEDIATE; killse --,kill -9 ||spidfrom sys.gV_$PROCESS t,gv$session t1,dba_datapump_sessions d where t.addrt1.paddr and t1.saddrd.saddrand t1.TypeUSER and t1.username is not null;select drop table || owner_name || . || job_name || purge; from dba_datapump_jobs where state NOT RUNNING ;参考文献https://mp.weixin.qq.com/s/pKNe2EzpB_PM0itpa4jrdA
http://www.tj-hxxt.cn/news/138715.html

相关文章:

  • linux ctlscript.sh wordpress广州全面优化各项防控措施
  • 做响应式网站字体需要响应么站长论坛 激活网站
  • 吉林做网站优化深圳建站费用
  • 网站设计展示优化关键词排名
  • 北京创意网站设计城乡住房和城乡建设部网站
  • 网站设计制作从哪wordpress 缓存 收录
  • 免费公司网站互联网公司名称
  • 东莞东城做网站公司潍坊网站建设服务商
  • 网站诊断案例wordpress 存储插件
  • 手机网站建设免费空间蒙文网站开发
  • 网站建设品牌排行榜在线头像制作免费软件
  • 网站经营性质wordpress seo免费主题
  • 响应式视频网站模板oneinstack wordpress
  • 网站建设毕业设计中期进度报告微信推送用哪个网站做
  • 中国大型网站免费设计室内装修app软件
  • 建立新网站要多少钱网站建设销售求职
  • 佛山响应式网站宁波seo网络推广软件系统
  • 中小企业网站seo网站开发 app
  • 做网站的创始人免费建自己域名的网站吗
  • 河南城市建设招标类网站网页设计
  • 百度云在线登录苏州百度关键词优化
  • 各省网站备案时长成都房建设部网站
  • 宁远做网站wordpress做一个视频网站吗
  • 做网站外包公司名称安徽圣力建设集团网站
  • 响应式网站底部怎么做装修设计公司有哪些
  • 苏州建设公司网站专业的vi设计企业
  • 上海网站原型设计网络服务模型
  • 网站建设和管理颁奖电子商务网站页面设计图片
  • api模式网站开发介绍花店网站建设
  • 网站流量统计分析谷歌seo难吗