![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
We are using SA 10 version 10.0.1.3805(linux) or 10.0.1.3807(Windows). One of propose - aggregation data from different time resolution (hours-day-month). One of our customer encounter with problem durring aggregation process database hungs - not connection; dbstop cannot stop; only kill dbsrv10 process will stoped database. After our analyse we found out - aggregation was done from table D1 (have 70M records) to table M1(have 65M records) ; aggregation result was 38M record inserted to M1 table. Database hungs(stuck) on COMMIT statement that comming after aggregation INSERT statement. How can we check what is the problem, Best Regards, Hanan Brener |
#3
| |||
| |||
|
#4
| |||
| |||
|
|
Thanks for answer. This problem we have reproduced on our test environment just with 2 (two) big tables and aggregation stored procedure - prepared aggregation insert statement and COMMIT. The -o log file was clean without any ASSERT or errors messages. Only our test messages - I. 10/27 16:53:44. Aggregation data from VC_STAT_DAY_2_7 result - 38790313 records I. 10/27 16:53:44. Start Commit ... 'Start Commit..' is last message in -o file, this print is directly before COMMIT statement. Aggregation insert have take around 3800 second.It looks like problems with COMMIT for this count of records. Any problem messages in system events files(in /var/log directory) didn't appears. Database server is started with follows parameters - ${SQLANY10}/bin32/dbsrv10 -n test_stc /opt/sybase/data/db/stc/ allot_stc -o /opt/allot/log/allot_stc.txt -on 5M -c 50P -ca 0 -qp -qw - m -x "tcpip(ServerPort=50001)" -ud Best Regards, Hanan Brener |
#5
| |||
| |||
|
|
Unfortunately the strings: 'Aggregation data from VC_STAT_DAY_2_7 result - 38790313 records' and 'Start Commit ...' are from message statements inside your stored procedure and the information in this posting tells us little more that your first one does. First things first though: Since you are running with the '-m' you are turning your COMMIT into a complete checkpoint and (quite possibly) a transaction log file rename and delete. You may be blocking on some file system operation there. I would try removing the -m switch to see if that changes the behaviour. While you are poking around, such a big commit operation can take some time. [I also suspect your message 'COMMIT' is hiding a big set of permanent operations quite possibly including massive operations one temporary tables.] Normal commits can take some time when millions of rows are affected [even longer if those are randomly scattered across the database]. What can cost you even more time here is things that happen at commits and ends of operations. Those would include cleaning up temporary tables, closing cursors, executing statement level triggers, ... and that is just my starting list of candidates. Given you need to know which operations are causing this activity, I would focus in on this with either our SQL Debugger (in Sybase Central) or the Procedure Profiler (also in Sybase Central). Whoever designed those stored procedures should be involved at this point. "Hanan Brener" <hananbrener (AT) gmail (DOT) com> wrote in message news:0cfa9952-0106-40b3-a387-59095dc4dc0f (AT) o10g2000yqa (DOT) googlegroups.com... Thanks for answer. This problem we have reproduced on our test environment just with 2 (two) big tables and aggregation stored procedure - prepared aggregation insert statement and COMMIT. The -o log file was clean without any ASSERT or errors messages. Only our test messages - I. 10/27 16:53:44. Aggregation data from VC_STAT_DAY_2_7 result - 38790313 records I. 10/27 16:53:44. Start Commit ... 'Start Commit..' is last message in -o file, this print is directly before COMMIT statement. Aggregation insert have take around 3800 second.It looks like problems with COMMIT for this count of records. Any problem messages in system events files(in /var/log directory) didn't appears. Database server is started with follows parameters - ${SQLANY10}/bin32/dbsrv10 -n test_stc /opt/sybase/data/db/stc/ allot_stc -o /opt/allot/log/allot_stc.txt -on 5M -c 50P -ca 0 -qp -qw - m -x "tcpip(ServerPort=50001)" -ud Best Regards, Hanan Brener |
![]() |
| Thread Tools | |
| Display Modes | |
| |