Performance: Bulk Insert Oracle 10g
Following Situation: We have a VISUAL BASIC 6 Application (I know ... VB6 ... ), an XML-File with data and an Oracle 10g database. The XML-File has to be imported in the database.
Up to now the Application (Via ADO) analyses the XML-File and creates INSERT and UPDATE Stmts and sends them to the DB. The Stmts will be handled within one Transaction and the application sends each INSERT, UPDATE separate to the database.
But this is a performance desaster... as expected ... :-) The import takes several hours ...
Now, my task is to increase the performance, but how .....
I tried several things, but without the real success, e.g. ...
I performed some tests with the SQl*Loader. The Insert is really fast, but I can't make an Update, so I had to delete the existing data first. But I can't proceed the two steps in one transaction, because of the SQL*Loader.
I tried to write a stored procedure which accepts an ADO.Recordset as input param and then creates the Insert and Update statements within the DB to reduce network traffic, but I didn't find a way to handle a ADO.Recordset as a input parameter for a stored procedure.
Has someone an idea how I can import the XML file in a fast way into the existing DB (and maybe make an Replace of existing records during the import ...) within one transaction without changing the structure of the DB ??? (Oracle packages?? interface in C++ integrated in VB6....) Is there an way to import the XML-File directly to the DB?
Thanks in advance for any idea :-))
I tried to write a stored procedure which accepts an ADO.Recordset as input param ...., but I didn't find a way to handle a ADO.Recordset as a input parameter
for a stored procedure.Use SYS_REFCURSOR as the parameter type. Bulk collect it into a PL/SQL collection. Use FORALL to soup up the INSERT and UPDATE statements.
Cheers, APC
blog: http://radiofreetooting.blogspot.com
Similar Messages
-
Performance log for ORACLE 10g
Hi everyone can anybody tell me where i can get the reporting from the performance logs in oracle 10g>?
i need to generate reports for audit trail, no of hits in the portal , top ten url , and how often the user view a page or portlet?
i thank you all in advance .....look forward for replies....thank youThaks for the reply...
but i cant go to the link =( may i ask u abt this , i read this link http://portalstudio.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/OTN_CONTENT/MAINPAGE/ARCHITECTURE/MONITOR_DIAGNOSTICS_ANALYTICS_PORTAL.HTM#1
STATING : Oracle9iAS Portal Release 2 (9.0.4) provides some new, additional metric information. This release also collects some (pre-defined) metrics in the Oracle Enterprise Manager Central Console and creates historical reports, which can be published via Oracle Management Portlets on Portal pages
How to do the publishing? is there any references that will guide me from how to use the metrics to published in the portal pages? i requires all these ....PLEASE HELP -
Performance Tuning in Oracle 10g during Migration - Insert Statements
Some of the tables contain a huge data e.g. 7 million records to be migrated.
The table structure of Source Database is different from the Target Database (Where we are doing the migration).
So we have made a use of temporary tables to collect the data from different tables using joins and populate the main table using INSERT INTO tableA SELECT * FROM tableZ
Now the problem statement.
Some of the queries take infinite time and data doesnt get inserted into the main tables. I have seen the explain plan and didnt find anything unusual. The same query works fine when we use date time stamp and restrict the data.
What parameters do we have to take care ? Is there any configuration needed on Oracle Server side ? If yes which parameters?Lets start with the basics. First what is 10g? Is that 10.1.0.3 or 10.2.0.4 or something else?
Second 7 million records is a relatively small dataset.
No one can possibly help you with no DDL, no DML, no Explain Plan output generated with DBMS_XPLAN.
We can make wild guesses but that is like closing your eyes in a dark room and trying to find the light switch.
Please repost all relevant information so someone can help you. -
Step for performance tuning in oracle 10g
hi,
i want to know the step of persformance tuning and sql tuning.I'd suggest you to refer to documentation: [Oracle Database 2 Day + Performance Tuning Guide 10g Release 2 (10.2)|http://download.oracle.com/docs/cd/B19306_01/server.102/b28051/toc.htm]
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com
[Step by Step install Oracle on Linux and Automate the installation using Shell Script |http://kamranagayev.wordpress.com/2009/05/01/step-by-step-installing-oracle-database-10g-release-2-on-linux-centos-and-automate-the-installation-using-linux-shell-script/] -
Performance tuning in oracle 10g
Hi Guys
i hope all are well,Have a nice day Today
i have discuss with some performance tuning issue
recently , i joined the new project that project improve the efficiency of the applicaton. in this environment oracle plsql langauage are used , so if i need to improve effiency of application what are the step are taken
and what are the way to go through the process improvement
kindly help megenerate statspack/AWR reports
HOW To Make TUNING request
https://forums.oracle.com/forums/thread.jspa?threadID=2174552#9360003 -
Disk IO performance tuning of oracle 10g 64bit on rhel5 64bit
Hi Friends,
I am very new on oracle database tuning part.
I am facing some issues on the oracle disk io data transfer rate on rhel5.
Please help me. Details of issue is below.
I am using the iscsi san storage to install the database. My san storage is having more than 100Mbps transfer speed.
When oracle backup is running the data transfer rate is spikes upto 100Mbps, but when oracle normal transaction is happening it is not going more than 30Mbps.
My data base is an hybrid one and more read transaction is happening. Server is running with 4 cpus and 16GB of ram.
Here i am providing the iostat command output. Please have a look into this and help me to resolve.
[root@hostname ~]# iostat -x 1 5
Linux 2.6.18-128.el5 (hostname)
avg-cpu: %user %nice %system %iowait %steal %idle
24.94 0.00 4.15 31.94 0.00 38.96
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 7.61 10.42 4.28 5.28 345.38 125.59 49.26 0.12 12.91 3.18 3.04
sda1 0.30 0.00 0.03 0.00 0.65 0.00 22.59 0.00 3.76 2.66 0.01
sda2 0.22 0.00 0.01 0.00 0.23 0.00 18.78 0.00 4.05 3.54 0.00
sda3 5.25 8.26 3.58 2.47 310.67 85.87 65.54 0.09 15.09 3.37 2.04
sda4 0.00 0.00 0.00 0.00 0.00 0.00 1.83 0.00 0.33 0.33 0.00
sda5 0.83 1.95 0.55 2.70 31.62 37.24 21.17 0.03 8.88 3.49 1.13
sda6 0.68 0.07 0.06 0.04 1.11 0.85 19.74 0.00 13.91 9.05 0.09
sda7 0.33 0.14 0.04 0.07 0.90 1.63 24.17 0.00 15.73 11.13 0.12
sdb 0.06 0.00 0.03 0.00 0.75 0.00 25.57 0.00 1.64 1.48 0.00
sdb1 0.04 0.00 0.01 0.00 0.45 0.00 34.90 0.00 3.13 2.85 0.00
sdc 5.86 0.16 45.05 2.74 7805.28 129.85 166.04 2.57 53.82 9.12 43.58
sdc1 5.79 0.16 45.02 2.74 7804.99 129.85 166.12 2.57 53.85 9.12 43.57
sdd 5.85 0.17 44.45 2.68 7767.34 133.80 167.65 2.68 56.95 9.43 44.43
sdd1 5.78 0.17 44.42 2.68 7767.06 133.80 167.74 2.68 56.98 9.43 44.43
sde 5.89 0.16 44.86 2.37 7774.84 122.75 167.23 2.24 47.51 8.96 42.30
sde1 5.82 0.16 44.83 2.37 7774.55 122.75 167.31 2.24 47.54 8.96 42.29
sdf 5.91 0.16 63.70 2.69 8053.71 133.15 123.32 2.98 44.89 7.59 50.40
sdf1 5.84 0.16 63.67 2.69 8053.43 133.15 123.36 2.98 44.91 7.59 50.39
sdg 0.19 0.11 0.07 0.61 2.54 131.30 199.27 0.04 65.76 28.52 1.92
sdg1 0.12 0.11 0.04 0.61 2.25 131.30 206.81 0.04 68.26 29.56 1.91
sdh 4.43 2.29 0.99 1.36 199.10 29.19 97.03 0.05 20.92 5.13 1.21
sdh1 4.43 2.29 0.98 1.36 198.95 29.19 97.49 0.05 21.01 5.14 1.20
avg-cpu: %user %nice %system %iowait %steal %idle
13.72 0.00 2.49 75.31 0.00 8.48
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 18.00 0.00 54.00 2.00 25984.00 160.00 466.86 8.96 94.18 17.89 100.20
sdc1 18.00 0.00 54.00 2.00 25984.00 160.00 466.86 8.96 94.18 17.89 100.20
sdd 18.00 0.00 79.00 2.00 40240.00 32.00 497.19 8.61 118.93 12.04 *97.50*
sdd1 18.00 0.00 79.00 2.00 40240.00 32.00 497.19 8.61 118.93 12.04 *97.50*
sde 19.00 0.00 44.00 8.00 26656.00 187.00 516.21 9.34 119.81 19.27 *100.20*
sde1 19.00 0.00 44.00 8.00 26656.00 187.00 516.21 9.34 119.81 19.27 *100.20*
sdf 26.00 0.00 76.00 6.00 35600.00 59.00 434.87 3.23 40.76 10.52 86.30
sdf1 26.00 0.00 76.00 6.00 35600.00 59.00 434.87 3.23 40.76 10.52 86.30
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
18.64 0.00 5.29 49.87 0.00 26.20
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 14.00 0.00 3.00 0.00 136.00 45.33 0.01 1.67 1.67 0.50
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 14.00 0.00 3.00 0.00 136.00 45.33 0.01 1.67 1.67 0.50
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 44.00 0.00 99.00 1.00 58368.00 8.00 583.76 12.03 154.83 9.66 96.60
sdc1 44.00 0.00 99.00 1.00 58368.00 8.00 583.76 12.03 154.83 9.66 96.60
sdd 44.00 0.00 103.00 0.00 50672.00 0.00 491.96 10.07 82.47 8.37 86.20
sdd1 44.00 0.00 103.00 0.00 50672.00 0.00 491.96 10.07 82.47 8.37 86.20
sde 45.00 0.00 110.00 5.00 58176.00 126.00 506.97 13.01 113.47 8.02 92.20
sde1 45.00 0.00 110.00 5.00 58176.00 126.00 506.97 13.01 113.47 8.02 92.20
sdf 40.00 0.00 122.00 5.00 52944.00 126.00 417.87 9.74 63.94 6.52 82.80
sdf1 40.00 0.00 122.00 5.00 52944.00 126.00 417.87 9.74 63.94 6.52 82.80
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.90
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.90
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
7.48 0.00 2.49 *61.60* 0.00 28.43
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 13.86 0.00 38.61 0.99 19611.88 11.88 495.50 3.35 79.53 25.03 99.11
sdc1 13.86 0.00 38.61 0.99 19611.88 11.88 495.50 3.35 79.53 25.03 99.11
sdd 15.84 0.00 40.59 0.99 17758.42 31.68 427.81 10.93 122.36 23.26 96.73
sdd1 15.84 0.00 40.59 0.99 17758.42 31.68 427.81 10.93 122.36 23.26 96.73
sde 12.87 0.00 46.53 1.98 22035.64 70.30 455.65 13.19 275.96 20.43 99.11
sde1 12.87 0.00 46.53 1.98 22035.64 70.30 455.65 13.19 275.96 20.43 99.11
sdf 13.86 0.00 39.60 2.97 17584.16 101.98 415.42 6.83 81.19 22.21 94.55
sdf1 13.86 0.00 39.60 2.97 17584.16 101.98 415.42 6.83 81.19 22.21 94.55
sdg 0.00 0.00 0.00 0.99 0.00 7.92 8.00 0.21 226.00 217.00 21.49
sdg1 0.00 0.00 0.00 0.99 0.00 7.92 8.00 0.21 226.00 217.00 21.49
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
avg-cpu: %user %nice %system %iowait %steal %idle
24.69 0.00 8.98 48.38 0.00 17.96
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 25.00 0.00 61.00 4.00 36304.00 120.00 560.37 9.58 156.23 14.78 96.10
sdc1 25.00 0.00 61.00 4.00 36304.00 120.00 560.37 9.58 156.23 14.78 96.10
sdd 23.00 0.00 82.00 1.00 34832.00 32.00 420.05 7.61 163.49 11.27 93.50
sdd1 23.00 0.00 82.00 1.00 34832.00 32.00 420.05 7.61 163.49 11.27 93.50
sde 27.00 0.00 62.00 0.00 32864.00 0.00 530.06 9.41 149.56 16.15 100.10
sde1 27.00 0.00 62.00 0.00 32864.00 0.00 530.06 9.41 149.56 16.15 100.10
sdf 17.00 0.00 101.00 4.00 42656.00 132.00 407.50 4.18 88.24 6.72 70.60
sdf1 17.00 0.00 101.00 4.00 42656.00 132.00 407.50 4.18 88.24 6.72 70.60
sdg 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdg1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdh1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00Regards,
Nayagan
Edited by: nayagan on Jan 27, 2010 12:23 PM
Edited by: nayagan on Jan 27, 2010 2:04 PMTwo points:
1. I can not read what you posted because you did not read the FAQ (upper right) and put tags around the listing so it would retain its formatting.
2. Even if I could read them I wouldn't as they are not necessarily relevant. What I would want to see is what query you are issuing that you think should be maxing out your disk subsystem and giving you the performance you expect. Single block reads read single blocks. Post the DML and the corresponding explain plan report generated using DBMS_XPLAN.DISPLAY or AUTOTRACE. Also the result of this statement in SQL*Plus.show arraysize
Because this is precisely what is going to be brought back with each round trip between the client (SQL*Plus) and the server. -
Hi,
We were using Oracle 9i in Solaris 5.8 and it was working fine with some minor performance issues. We formatted the Solaris server with new Solaris 5.10 and installed Oracle 10g.
Now we are experiencing some performance issues in Oracle 10g. This issue is arising when using through Websphere 5.1.
We have analyzed the schema, index is rebuild, SGA is 4.5 GB, PGA is 2.0 GB, Solaris RAM is 16 GB. Also we are having some Mat Views (possibly this may cause performance issues - not sure) due to refresh.
Also I have changed some parameters in init.ora file like query_rewrite = STALE_TOLERATED, open_cursors = 1500 etc.
Is is something due to driver from which the data is accessed. I guess it is not utilizing the indexes on the table.
Can anyone please suggest, what could be the issue ?<p>There are a lot of changes to the optimizer in the upgrade from 9i to 10g, and you need to be aware of them. There are also a number of changes to the default stats collection mechanism, so after your upgrade your statistics (hence execution paths) could change dramatically.
</p>
<p>
Greg Rahn has a useful entry on his blog about stats collection, and the blog al,so points to an Oracle white paper which will give you a lot of ideas about where the optimizer changes - which may help you spot your critical issues.
</p>
<p>Otherwise, follow triggb's advice about using Statspack to find the SQL that is the most expensive - it's reasonably likely to be this SQL that has changed execution plans in the upgrade.
</p>
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk -
Oracle 10G performance problems
Hello,
we have a lot of performance problems with oracle 10G. Especially tables scan on DRAW or AEN1 have long response times. It seems that the CBO uses the wrong strategy. The latest merge fix is already installed. Any idea to solve the problem is welcome.
Best regards
Juergen RemmertWe had similar performance issues in our environment, once we upgraded from 9.2.0.2 to 10.2.0.2.
Oracle: 10.2.0.2
SAP: 4.7x110
OS: SOLARIS 9 64bit
The above mentioned notes were very helpful. We had to install an oracle patch as well (found on marketplace) -- 6321245
and make the following oracle parameters changes:
pga_aggregate_target - 144MB (default = 25MB)
*.event="10027 trace name context forever, level 1"
*.event="10028 trace name context forever, level 1"
*.event="10162 trace name context forever, level 1"
*.event="10183 trace name context forever, level 1"
*.event="10191 trace name context forever, level 1"
*.event="10629 trace name context forever, level 32"
*.event="38068 trace name context forever, level 100"
*.event="38043 trace name context forever, level 1"
*.optimizer_index_caching=50
*.optimizer_index_cost_adj=20
*.parallel_execution_message_size=16384
*._b_tree_bitmap_plans=FALSE
*._index_join_enabled=FALSE
*._optim_peek_user_binds=FALSE
*._optimizer_mjc_enabled=FALSE
*._sort_elimination_cost_ratio=10
Remove
*.optimizer_features_enable='9.2.0'
HTH -
Sybase to Oracle 10g migration
Hi, I have a task to perform Sybase to Oracle 10g conversion; can anybody recommend any documents or metalink docs to me?
Thanks
GauravIf you have migration workbench related question you can post in Migration Workbench forum,
Database and Application Migrations -
BCP-style bulk insert from remote C++ ODBC Native client application
I am trying to find documentation or sample code for performing bulk inserts into SQL Server 2012 from a remote client using the ODBC native client driver from Linux. We currently perform INSERT statements on blocks of data, wrapping it in BEGIN/COMMIT,
and achieving through approximately half of bcp reading from a delimited text file. While there are many web pages talking about bulk inserts via the native driver, this page (http://technet.microsoft.com/en-us/library/ms130792.aspx) seems closest to
what I'm after but doesn't go into any detail or give API calls. The referenced header file is just a bunch of options and constants, so presumablyone gains access to bulk functions via the standard ODBC mechanism, the question is how.
For clarity, I am NOT interested in:
BULK INSERT: because it requires a server-side data file or a UNC path with appropriate permissions (doesn't work from Linux)
INSERT ... SELECT
* FROM OPENROWSET(BULK...): same problem as above
IRowsetFastload: OLEDB, but I need ODBC on Linux.
Basically, I want to emulate BCP. I don't want to *run* BCP because it requires landing data to disk.
Thanks
john
John Lilley Chief Architect RedPoint Global Inc.Other than block inserts within BEGIN/COMMIT transaction blocks or running bcp, is there anything else that can be done on Linux?
No other option from Linux that I am aware of. The SQL Server Native Client ODBC driver also supports table-valued-parameters, which can be used to stream data but the Linux ODBC driver API doesn't have a way to do that either. That said, I would
still expect file-based BCP to significantly outperform inserts with large batches. I've seen a rate of 100K/sec. with this technique, including the file create overhead but much depends on the particulars of your use case.
Consider voting for this on Connect. BCP is on the roadmap but no date yet:
https://connect.microsoft.com/SQLServer/SearchResults.aspx?SearchQuery=linux+odbc+bcp
Also, I filed a Connect item for TVP support:
https://connect.microsoft.com/SQLServer/feedback/details/874616/add-tvp-support-to-sql-server-odbc-driver-for-linux
Dan Guzman, SQL Server MVP, http://www.dbdelta.com -
Performance analysis for oracle database on weblogic 10.3 version
Hi All,
We are migrating our servers from windows to Linux.In the process we have weblogic 8.1 version being upgraded to weblogic 10.3.
How could i analysis the performance of the Oracle 10g on weblogic 10.3.
Do we have any predefined test scripts in place to perform the necessary anaylsis.
Thanks in anticipation.
PavanWe do not provide any test scripts. As you can be sure, each WLP deployment is unique to the customer environment and business problems that are being solved. Having generic test scripts would not reflect this.
However, you might wish to read the following documentation which discusses database performance with regard to WLP.
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/db/db_architecture.html#wp1069661
Brad -
Insert statement taking time on oracle 10g
Hi,
My procedure taking time in following statement while database upgrading from oracle 9i to oracle 10g.
I m using oracle version 10.2.0.4.0.
cust_item is matiralize view in procedure and it is refreshing in the procedure
Index is dropping before inserting data into cust_item_tbl TABLE and after inserting data index is created.
There are almost 6 lac records into MV which are going to insert into TABLE.
In 9i below insert statement is taking 1 hr time to insert while in 10g it is taking 2.30 hrs.
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL QUERY';
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
INSERT INTO /*+ APPEND PARALLEL */ cust_item_tbl NOLOGGING
(SELECT /*+ PARALLEL */
ctry_code, co_code, srce_loc_nbr, srce_loc_type_code,
cust_nbr, item_nbr, lu_eff_dt,
0, 0, 0, lu_end_dt,
bus_seg_code, 0, rt_nbr, 0, '', 0, '', SYSDATE, '', SYSDATE,
'', 0, ' ',
case
when cust_nbr in (select distinct cust_nbr from aml.log_t where CTRY_CODE = p_country_code and co_code = p_company_code)
THEN
case
when trunc(sysdate) NOT BETWEEN trunc(lu_eff_dt) AND trunc(lu_end_dt)
then NVL((select cases_per_pallet from cust_item c where c.ctry_code = a.ctry_code and c.co_code = a.co_code
and c.cust_nbr = a.cust_nbr and c.GTIN_CO_PREFX = a.GTIN_CO_PREFX and c.GTIN_ITEM_REF_NBR = a.GTIN_ITEM_REF_NBR
and c.GTIN_CK_DIGIT = a.GTIN_CK_DIGIT and trunc(sysdate) BETWEEN trunc(c.lu_eff_dt) AND trunc(c.lu_end_dt) and rownum = 1),
a.cases_per_pallet)
else cases_per_pallet
end
else cases_per_pallet
END cases_per_pallet,
cases_per_layer
FROM cust_item a
WHERE a.ctry_code = p_country_code ----varible passing by procedure
AND a.co_code = p_company_code ----varible passing by procedure
AND a.ROWID =
(SELECT MAX (b.ROWID)
FROM cust_item b
WHERE b.ctry_code = a.ctry_code
AND b.co_code = a.co_code
AND b.ctry_code = p_country_code ----varible passing by procedure
AND b.co_code = p_company_code ----varible passing by procedure
AND b.srce_loc_nbr = a.srce_loc_nbr
AND b.srce_loc_type_code = a.srce_loc_type_code
AND b.cust_nbr = a.cust_nbr
AND b.item_nbr = a.item_nbr
AND b.lu_eff_dt = a.lu_eff_dt));explain plan of oracle 10g
Plan
INSERT STATEMENT CHOOSECost: 133,310 Bytes: 248 Cardinality: 1
5 FILTER
4 HASH GROUP BY Cost: 133,310 Bytes: 248 Cardinality: 1
3 HASH JOIN Cost: 132,424 Bytes: 1,273,090,640 Cardinality: 5,133,430
1 INDEX FAST FULL SCAN INDEX MFIPROCESS.INDX_TEMP_CUST_AUTH_PERF_MV Cost: 10,026 Bytes: 554,410,440 Cardinality: 5,133,430
2 MAT_VIEW ACCESS FULL MAT_VIEW MFIPROCESS.TEMP_CUST_AUTH_PERF_MV Cost: 24,570 Bytes: 718,680,200 Cardinality: 5,133,430 can you please look into the issue?
Thanks.According to the execution plan you posted parallelism is not taking place - no parallel operations listed
Check the hint syntax. In particular, "PARALLEL" does not look right.
Running queries in parallel can either help performance, hurt performance, or do nothing for performance. In your case a parallel index scan on MFIPROCESS.INDX_TEMP_CUST_AUTH_PERF_MV using the PARALLEL_INDEX hint and the PARALLEL hint specifying the table for MAT_VIEW MFIPROCESS.TEMP_CUST_AUTH_PERF_MV Cost might help, something like (untested)
select /*+ PARALLEL_INDEX(INDX_TEMP_CST_AUTH_PERF_MV) PARALLEL(TEMP_CUST_AUTHPERF_MV) */Is query rewrite causing the MVs to be read? If so hinting the query will be tricky -
Oracle 10g performance is slow
Dear Exports
how we can imporve the Oracle 10g performance........we are upgrading from Oracle 8 to Oracle 10g. Windows platform. and using Oracle developer 6 as front end .
thanks in advanceDo you have statistics gathered on the tables in the 8i database? Can you post the explain plan for the query in both databases?
Since you know what SQL is having poor performance you can use TKPROF and SQL TRACE to see where your query is spending its time.
Try the following:
alter session set timed_statistics=true;
alter session set max_dump_file_size=unlimited;
alter session set tracefile_identifier='BAD_SQL';
alter session set events '10046 trace name context forever, level 12';
<insert sql with poor response time>
disconnect
Use the TKPROF utility on the file found in USER_DUMP_DEST that contains the string BAD_SQL.
For information on how to interrupt the TKPROF output, see the following link.
http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14211/sqltrace.htm -
Hello, I have an extremely complicated query, that has a structure similar to:
Overall Query
---SubQueryA
-------SubQueryB
---SubQueryB
---SubQueryC
-------SubQueryA
The subqueries themselves are slow, and having to run them multiple times is much too slow! Ideally, I would be able to run each subquery once, and then use the results. I cannot use standard oracle tables, and i would need to keep the result of the subqueries in memory.
I was thinking I write a pl/sql script that did the subqueries at the beginning and stored the results in memory. Then in the overall query, I could loop through my results in memory, and join the results of the various subqueries to one another.
some questions:
-what is the best data structure to use? I've been looking around and there are nested arrays, and there's the bulk insert functionality, but I'm not sure what is the best to you
-the advantage of the method I'm suggesting is that I only have to do each subquery once. But, when I start joining the results of the subquery to one another, will I take a performance hit? will Oracle not be able to optimize the joins?
thanks in advance!
CoopI cannot use standard oracle tablesWhat does this mean? If you have subqueries, i assume you have tables to drive them? You're in an Oracle forum, so i assume the tables are Oracle tables.
If so, you can look into the WITH clause, it can 'cache' the query results for you and reuse them multiple times, also helpful in making large queries with many subqueries more readable. -
Oracle 10g on HP-UX, Terrible Poor Performance!!
Hi All,
I setup an Oracle 10g on HP-UX 11iv1. Server is a HP 9000, 4 CPUs (750
MHZ). It is connected to Disk System 2405 (Virtual Array 7110). Fiber
Channels are connected at 2 GB speed.
I installed a cluster 10g database. First I installed CRS and after
that I installed oracle database. ( I want to test clustered database
with one instance)
I installed every thing line by line as oracle document wrote.
All the things, kernel parameters, patches, are like oracle wrote in
its document.
I installed Golden quality package June 2004.
I increased shmmax to 2.3 G . My SGA is 1.7 G And change some other
parameters as Sandy Gruver wrote in Best Practices for Oracle on HPUX.
I used oracle new storage system called ASM for this case.
When I put the system under the load, I was monitoring the system
carefully.
I started gmp. When we sent some quarries to database (It is not heavy
load, I tested it with a Linux system on proliant ML570 without any
problem), suddenly DISK section in gpm changed to red (critical ) I
read the warning. It said "Disk bottleneck probability = 100%". I
changed the output of disk report to "Report IO by Disk"
"DISK%" was 100% and "RAW IO RT" was about 1000 for two disks ( This
two disks dedicated for ASM). In this situation CPU idle time was 1% or
2% for all the CPUs but load average was about 1. Performance is not
acceptable at all ( In comparison with Oracle that installed on Linux).
Glance reported Disk was in Critical situation.
I think the problem is IO or something about Disks
I used HP Disk System 2405. Fibber channels on both server side and
Disk Array side are configured at 2 Gb and topologies are
PTTOPT_FABRIC.
Is it ok that RAW IO RT about 1000 for each LUN?
Why Disk% in glance/report IO BY Disk/ was 100%?
I found an error in STM logs about I/O.It said:
Entry type: I/O error
Product: Fiber Channel Interface
Logger: td
It logged this error about 12 times during the test.Any comment?
Regards,
HasanSorry, I have not a solution for your problem, but similar things happen on our installation on Solaris 5.8 with Oracle 10:
I have a banking business solution from Windows/SQL Server 2000 to Sun Solaris/ORACLE 10g migrated. In the test environment everything was working fine. On the production system we have very poor DB performance. About 100 times slower than SQL Server 2000!
Environment at Customer Server Side:
Hardware: SUN Fire 4 CPU's, OS: Solaris 5.8, DB Oracle 8 and 10
Data Storage: Em2
DB access thru OCCI [Environment:OBJECT, Connection Pool, Create Connection]
Depending from older applications it's necessary to run ORACLE 8 as well on the same Server. Since we have running the new solution, which is using ORACLE 10, the listener for ORACLE 8 is frequently gone (or by someone killed?). The performance of the whole ORACLE 10 Environment is very poor. As a result of my analyse I figured out that the process to create a connection to the connection pool takes up to 14 seconds. Now I am wondering if it a problem to run different ORACLE versions on the same Server? The Customer has installed/created the new ORACLE 10 DB with the same user account (oracle) as the older version. To run the new solution we have to change the ORACLE environment settings manually. All hints/suggestions to solve this problem are welcome. Thanks in advance.
Anton
Maybe you are looking for
-
I bought the wrong Elements 13:-(. Need to get in contact with some support?
Hello! I have just bought elements 13 and I did it wrong . I have a Mac and i bought for windows. How can i get in contact with someone who could help me solve this?
-
How can I restore it if it doesn't connect to pc?
I can't connect to the computer or itunes.. it's on restore so it is completely useless. Help.
-
Has no-one in Blackberry thought of ....
....Visual Control Aids, that map retinal movement for apps for use by Armed Forces, Classroom teaching apps, Graphic designers, architecture etc. If that could be fitted into a head gear with asthetically attractive shades for example.... hell, I'd
-
Stacking order on PrEl 9 not working
I am trying to change the stacking order on simultaneous multiple video tracks. I have two tracks on the screen, I select one from the timeline and then right click on it in the monitor panel -- the option of Title>Arrange doesn't come up. When I g
-
How to PERMANENTLY get rid of 3rd party Plug-ins in Logic pro 9.
Hi, im trying to get rid of some 3rd party plug-ins on logic, but it only looks like i can disable them. (sweeping them under the rug isn't helpful) This is a problem because i have one version of a plug-in that doesn't work and im gonna get another