oracle并发执行max,跪求大量并发执行insert into select语句的方案
现在有数十万张表要从A库通过insert into tablename select * from tablename@dblink的方式导入到B库中。
B机上80个cpu,160G内存。希望能够大量并发执行。怎么写脚本呢?
谁有这方面的经验,麻烦指点一下。谢谢。
下面是我的脚本:
#!/usr/bin/sh
#最大进程数
v_max_session="310"
#进程计数器,用来计算当前正在执行的进程数量
v_session_counter=0
v_pipe_name=""
v_log_name=""
v_table_owner=""
v_table_name=""
v_part_name=""
v_param_file="list_table.txt"
f_insert_data()
{
sqlplus -s ${v_dest_tns} << EOF
set timing on time on autocommit on
prompt truncate table ...
declare
v_sql varchar2(300);
begin
begin
v_sql :='truncate table ${v_table_owner}.${v_table_name} reuse storage';
execute immediate v_sql;
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'truncate successfull',v_sql);
commit;
exception when others then
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'fail successfull',v_sql);
commit;
end;
begin
v_sql :='insert /*+ append */ into ${v_table_owner}.${v_table_name} nologging select * from ${v_table_owner}.${v_table_name}@JLDM';
execute immediate v_sql;
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'insert successfull',v_sql);
exception when others then
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'insert fail',v_sql);
commit;
end;
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'truncate successfull',v_sql);
exception when others then
insert into trunlog values ('${v_table_owner}','${v_table_name}','',sysdate,'fail','');
commit;
end;
/
exit;
EOF
}
while read v_table_owner v_table_name v_part_name
do
while [ $v_session_counter -ge $v_max_session ]
do
echo ". \c"
sleep 1
v_session_counter=0
ps -ef | grep -v grep | grep sqlplus | wc -l | read v_session_counter
done
f_insert_data
v_session_counter=0
ps -ef | grep -v grep | grep imp | wc -l | read v_session_counter
echo "session counter: ${v_session_counter}"
done
list_table.txt里面的内容如下:
JLCRM DW_NEWBUSI_SVC_MM_439 DW_NEWBUSI_SVC_MM200508
PARAM DIM_STAT_SP_TMP NULL
JLCRM DW_IMEI_USER_MM_431 DW_IMEI_USER_MM200509
DM DM_SMS_BASE_437_20090816 NULL
JLCRM DW_IMEI_USER_MM_432 DW_IMEI_USER_MM200509
DM DM_OWE_BASE_439_20090816 NULL
JLCRM DW_IMEI_USER_MM_433 DW_IMEI_USER_MM200509
DM DM_SMS_BASE_438_20090816 NULL
JLCRM DW_IMEI_USER_MM_434 DW_IMEI_USER_MM200509
第一列是用户名,第二列是表名,第三列是分区名。
我要实现的功能是,并发度300个。一起做insert into select 操作。
但我运行时发现,不能并发。每次只有一个insert操作。
麻烦有经验的朋友帮忙看看,改一下。谢谢。
oracle并发执行max,跪求大量并发执行insert into select语句的方案相关推荐
- Oracle 有long类型字段的表 使用insert into select 语句 ,出现:ORA-00997 错误
表结构如下 字段 类型 col1 varchar2(64) col2 long --复制数据 insert into mytable(col1,col2) select col1||'_copy',c ...
- oracle中create table as和insert into select语句
SELECT INTO , INSERT INTO SELECT 和 CREATE TABLE AS SELECT INSERT INTO SELECT Create table newTable a ...
- oracle先执行哪个from,Oracle(二)SELECT语句执行顺序
转载自:小强斋太-Study Notes,原文链接 从join on和where执行顺序认识T-SQL查询处理执行顺序 目录 一.样例 二.SELECT语句的处理过程 1. FROM阶段 2. WHE ...
- oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...
create table as select * from和insert into select from两种表复制语句区别 create table targer_table as select ...
- oracle select into 多个,Oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
在Oracle中select into from不可以使用,用create tableselect代替该功能!!!在Sql Server中可以正常使用.1.INSERT INTOSELECT语句 语句 ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)...
我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INT ...
- insert oracle用法,insert into select的实际用法,insertselect
insert into select的实际用法,insertselect INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,... ...
- oracle java 并发_【转】JAVA并发教程(ORACLE官网资料)
本文是Oracle官方的Java并发相关的教程,感谢并发编程网的翻译和投递. 计算机的使用者一直以为他们的计算机可以同时做很多事情.他们认为当其他的应用程序在下载文件,管理打印队列或者缓冲音频的时候他 ...
- oracle 锁表如何解决_Java高并发解决什么方式
对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究 ...
最新文章
- c++ 取成员函数地址_c及c++指针及引用简单解释(自学学习心得)
- Java系列笔记(1) - Java 类加载与初始化
- 3.12 程序示例--多分类问题-机器学习笔记-斯坦福吴恩达教授
- 基于容器原理(docker、lxc、cells)的Android 双系统设计概要
- JavaWeb学习之路——SpringBoot搭建项目框架(一)
- php-fpm 配置文件位置,php
- python入门之装饰器
- JavaScript的浪漫,520一生一世!!
- 河南科技学院去年对口计算机分数线,河南科技学院录取分数线2021是多少分(附历年录取分数线)...
- .fit文件读取--head信息--修改head--读取csv文件-------ska暑期训练
- python切分数据集_Python数据集切分实例
- MATLAB信号处理---学习小案例(10)---Z反变换
- EDVR和FastDVD
- 已解决Excel无法打开文件test.xIsx“,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配。
- 脑在IDE模式下能正常启动,改成AHCI后蓝屏——解决方法
- swift导入oc第三方库
- python学习—几个简单小程
- DVWA 不跳转_利用url跳转漏洞冒充公安局官网的骚操作
- 计算机表格如何求和,excel怎么求和,教您excel如何进行求和
- 自监督论文阅读笔记DisCo: Remedy Self-supervised Learning on Lightweight Models with Distilled Contrastive