Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 блокировка репликации  [new]
mdb
Member

Откуда: NV
Сообщений: 22
Здравствуйте.
Имеется база на сервер Microsoft SQL Server 2000 - 8.00.818 (Intel X86) May 31 2003 16:08:15 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2), на которой настроена репликация и с удаленных баз грузятся новые данные. Так же имеется схема на Сервер Oracle 9, которая с этого сервера забирает некоторые данные для своих нужд(висит джоб которые запускает процедуру, которая выполняет всю загрузку через JDBC). С недавних пор появилась проблема, что эта процедура блокирует выполнение репликации на сервере SQL. Логи привожу ниже.
Process ID	Context ID	User	Database	Status	Open Transactions	Command	Application	Wait Time	Wait Type	Wait Resource	CPU	Physical IO	Memory Usage	Login Time	Last Batch	Host	Network Library	Network Address	Blocked By	Blocking
																				
106		0		c101	MyDB		sleeping 0			SELECT  jTDS                    0	PAGEIOLATCH_SH	8:1:409863	1139512	219654	0	02/09/09 15:26	02/09/09 15:55			XXXXXX  TCP/IP      	0		0		1
145		0		sa	MyDB		sleeping 1			INSERT  MyDB_далеко-далеко 195578	LCK_M_IX	TAB: 8:1010922773 []	328	337	493	02/09/09 15:51	02/09/09 15:55		YYYYYYY TCP/IP      	0216357F040B	106		0

Lock для 106
Object		Lock Type	Mode	Status	Owner	Index		Resource
MyDB		DB		S	GRANT	Sess	ZAMTRN	                
MyDB.dbo.MSKTRN	TAB		S	GRANT	Xact	ZAMTRN	                
MyDB.dbo.MSKTRN	PAG		IS	GRANT	Xact	ZAMTRN		1:47939         
MyDB.dbo.MSKTRN	KEY		S	GRANT	Xact	IND_MSKTRN	(800172bce06c)  
MyDB.dbo.MSKTRN	PAG		IS	GRANT	Xact	IND_MSKTRN	1:469141        
MyDB.dbo.MSKTRN	RID		S	GRANT	Xact	ZAMTRN		1:47939:9     
для 145

Object		   Lock Type	Mode	Status	Owner	Index			Resource
MyDB		   DB		S	GRANT	Sess	ZAMTRN	                
MyDB.dbo.MSKTRN	   TAB		IX	WAIT	Xact	ZAMTRN	                
MyDB.dbo.TERMTEK   PAG		IX	GRANT	Xact	PK__TERMTEK__50F3448F	1:685776        
MyDB.dbo.TERMTEK   PAG		IX	GRANT	Xact	PK__TERMTEK__50F3448F	1:286455        
MyDB.dbo.TERMTEK   KEY		X	GRANT	Xact	PK__TERMTEK__50F3448F	(db01deb6c3f3)  
MyDB.dbo.TERMTEK   KEY		X	GRANT	Xact	PK__TERMTEK__50F3448F	(f701fe920566)  
MyDB.dbo.TERMTEK   TAB		IX	GRANT	Xact	ZAMTRN      
Ясно, что процесс с оракла jTDS читает табличку при этом наложил на нее блокировку и конечно же репликация ждет когда он этот лок снимет, а читает он ее несколько часов (PAGEIOLATCH_SH и это не убыстряет чтение, как я понял). А данные которые поступают из репликации критичны и они не могут столько ждать.
Что можно сделать?
4 сен 09, 15:10    [7618935]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
mdb
Member

Откуда: NV
Сообщений: 22
Неужели все потоки сознания обошли мой топик :)
7 сен 09, 09:32    [7624586]     Ответить | Цитировать Сообщить модератору
 ))  [new]
mdb
Member

Откуда: NV
Сообщений: 22
- Доктор, меня все игнорируют ((
- Следующий!

Ладно, буду обращаться к разработчикам данного безобразия, пусть сами решают.
8 сен 09, 09:46    [7629787]     Ответить | Цитировать Сообщить модератору
 Re: ))  [new]
Glory
Member

Откуда:
Сообщений: 104760
mdb
- Доктор, меня все игнорируют ((
- Следующий!

Ладно, буду обращаться к разработчикам данного безобразия, пусть сами решают.

Блокировки - это нормальное поведение MSSQL
Поэтому ваш вопрос непонятен. Оптимизируйте ваши запросы и/или логику их работы. Чтобы они накладывали меньше блокировок и/или на меньшее время
8 сен 09, 10:01    [7629851]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
mdb
Member

Откуда: NV
Сообщений: 22
Я сам это понимаю )) Но ничего сделать не могу, разработка не моя и повлиять на алгоритм не могу, а разработчики захотят много-много денег. Посмотрели счетчик производительности на сервере.. в этот момент сильно возрастает количество операций ввода-вывода, но администраторы отказываются, что-либо там оптимизировать. Решение, какое то необходимо, а в голову абсолютно ничего не приходит.
8 сен 09, 10:28    [7629987]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
Glory
Member

Откуда:
Сообщений: 104760
mdb
Я сам это понимаю )) Но ничего сделать не могу, разработка не моя и повлиять на алгоритм не могу, а разработчики захотят много-много денег. Посмотрели счетчик производительности на сервере.. в этот момент сильно возрастает количество операций ввода-вывода, но администраторы отказываются, что-либо там оптимизировать. Решение, какое то необходимо, а в голову абсолютно ничего не приходит.

Если вы или другие люди не собираетесь или не можете ничего делать, то зачем задавать вопрос то ?
Делайте kill одному коннекту и дело в шляпе
8 сен 09, 10:34    [7630032]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
mdb
...Решение, какое то необходимо, а в голову абсолютно ничего не приходит.
https://www.sql.ru/articles/mssql/01062903TuneUpSQLServerPerformanceLeverageIndexes.shtml
8 сен 09, 10:51    [7630140]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
1234567
Member

Откуда:
Сообщений: 704
mdb
разработка не моя и повлиять на алгоритм не могу


Процедура зашифрована?
8 сен 09, 10:53    [7630155]     Ответить | Цитировать Сообщить модератору
 Re: блокировка репликации  [new]
mdb
Member

Откуда: NV
Сообщений: 22
Нет, не зашифрована, я просто не знаю что сделать с
PROCEDURE pLoadAll
AS
LANGUAGE java
NAME 'TMIntegration.Reader.ReadAllData.load()';
Исходников я не вижу, да и явы не знаю )
8 сен 09, 12:26    [7630873]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить