The Adaptive Server Enterprise scheduler manages the processing time provided to client tasks. The scheduler allows a task to execute on a server engine using the rule:-
The following diagram illustrates management of processing time using default values for time slice (1 clock tick, 1/10th of a second) and cpu grace time (500 clock ticks, 50 seconds). The task begins execution at the end of the “free time”.
At periodic yield points, the task checks to see if the time slice has been exceeded. If it has not, the task continues executing. If it has, the task voluntarily yields the engine within the cpu grace time; if the task had not yet fulfilled the client request, the task goes to the end of the run queue. If there are no other tasks in the run queue, the server grants the task another processing interval.
It is possible for a task not to encounter a yield point and to exceed the time slice period. When this occurs, the server terminates the task with a time slice error at the end of the cpu grace time. Time slice errors are typically due to a delay in acquiring an Adaptive Server resource, a coding problem, or some other issue; for example, the Server may have made a blocking system call that does not return for a long time.
If you receive time slice errors, take these steps:-
Set up a configurable shared memory dump (CSMD) using “timeslice” as the dump condition. Information about CSMD can be found in the section “Other Useful Tasks” in the most recent version of Troubleshooting and Disaster Recovery.
Try increasing the value of the cpu grace time parameter. See “Configuration parameters” in the System Administration Guide: Volume 1 chapter “Setting Configuration Parameters.” Warning! Sybase does not recommend changing the time slice configuration parameter to resolve these errors, only the cpu grace time parameter. Changing the time slice parameter affects all tasks and changes the dynamics of Adaptive Server’s processing time management; changing the cpu grace time affects only tasks that would be terminated with a time slice error. If cpu grace time is set to 1500 and time slice errors persist, contact Sybase Technical Support.
Sometimes one table will be inserted some duplicate rows.example for:
col1 col2 col3
a b c
d e f
a b c
a b c
d e f
—————————–
I want to delete duplicate rows. And the result like:
col1 col2 col3
a b c
d e f
—————————–
It is often necessary to identify gaps in sequential data,like key gaps, bcp load gaps, etc.
Here is a simple table with a sequence gap (i.e. the number 4 is missing)
SELECT * FROM number
go
number
———–
1
2
3
5
6
(5 rows affected)
How to find the missing data of 4?
Latches are nontransactional synchronization mechanisms used to guarantee the physical consistency of a page. While rows are being inserted, updated or deleted, only one Adaptive Server process can have access to the page at the same time. Otherwise, changes could overwrite each other. Latches are used for both datapages and datarows locking. They are not used for changes to tables using the allpages locking scheme.
The most important distinction between a lock and a latch is the duration:
A lock can persist for a long period of time: while a page is being scanned, for the duration of a
statement, or for the duration of a transaction.
A latch is held only for the time required to insert or move a few bytes on a data page, to
copy pointers, columns or rows, or to acquire a latch on another index page.
In datarows locking, row-level locks are acquired on individual rows on data pages. Index rows and
pages are not locked. When a row needs to be changed on a data page, a nontransactional latch
is acquired on the page. The latch is held while the physical change is made to the data page, and
then the latch is released. The lock on the data row is held until the end of the transaction. The
index rows are updated, using latches on the page, but are not locked. Index entries are implicitly locked by acquiring a lock on the data row.
环境ASE 12.5.4 WINDOWS
库名test
大小2M
表名pet_goods
dump文件test.dump
步骤:
1 建一个2M的库test,实现方法随便大家
2 load database test from ‘test.dump’
3 online database test
4 bcp test..pet_goods out pet_goods.bcp -c -Usa -Pxxxx
你会发现你的bcp一直都不会结束,直到你中断
dbcc checktable(pet_goods)
————————————–
Table Corrupt: Page linkage is not consistent; check the following pages:
(current page#=631; page# pointing to this page=678; previous page# indicated
in this page=630)
DBCC execution completed. If DBCC printed error messages, contact a user with
System Administrator (SA) role.
————————————–