Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Глюк Oracle9?


Автор: scorpionwoman 20.6.2006, 13:31
Сервер, на котором стоит Oracle9, через каждые 2 дня приходится перегружать. Сам сервер работает, клиентские запросы обрабатывает. Но экран становится серым, и вверху экрана по центру надпись типа 340@36912. Сначала думала, что это после того, как RAdmin'ом заходишь. А потом оказалось, что сервер виснет всегда, даже если кроме Oracle на нем ничего больше не стоит. 

Автор: Sqlninja 20.6.2006, 13:41
 а если Oracle не стоит - тоже виснет? 

Автор: scorpionwoman 20.6.2006, 13:42
Нет, до установки Oracle всегда нормально работал.

Добавлено @ 13:46 
Наши ребята говорят, что подвисает графика. Но почему? Oracle стоит на платформе Windows 2000 Server. 

Автор: Sqlninja 20.6.2006, 13:47
тогда хз, Oracle неправильно настроен. А параметры железа какие? 

Автор: scorpionwoman 20.6.2006, 13:54
Если честно, я его как установила, так ничего и не настраивала. А параметры чуть позже можно? Мне нужно созвониться с клиентами, чтоб они выслали. 

Автор: scorpionwoman 20.6.2006, 14:52
Параметры железа
Тип ЦП  
 Dual Intel Xeon-A, 2400 MHz (4.5 x 533) 

 Системная плата  
 Intel Corporation SE7501CW2 Board 
 
 Чипсет системной платы  
 Intel Plumas-533 E7501 
 
 Системная память  
 1024 Мб (Registered ECC DDR SDRAM) 
 
 Тип BIOS  
 Phoenix (09/08/04) 
 
Видеоадаптер  
 ATI Technologies Inc. RAGE XL PCI (8 Мб) 
 
А нельзя ли в Oracle увеличить объем используемой видеопамяти? 

Автор: LSD 20.6.2006, 22:22
Цитата(scorpionwoman @  20.6.2006,  15:52 Найти цитируемый пост)
А нельзя ли в Oracle увеличить объем используемой видеопамяти?

Сам по себе инстанс Oracle, вообще не использует графическую подсистему. Это же просто сервис, у него нет никакого GUI. Только у утилит, что идут в комплекте есть графическая часть.

Вообщем, если кроме подвисания GUI других проблем с сервером нет, то я бы советовал:
1. переустановить драйвера видеокарты, и саму систему по возможности
2. заменить видеокарту
скорее всего имеет место простое совпадение, проблем с видео и установки Oracle. 

Автор: scorpionwoman 21.6.2006, 09:45
Возможно, объем видеопамяти маловат - 8 Мб.
Честно говоря, настройкой Oracle никогда не занималась.

А как лучше распределить память для экземпляра базы данных?
Shared Pool
Buffer Cache
Large Pool
Java Pool
PGA

Может, в этом тоже причина зависания?
Пожалуйста! 

Автор: Sqlninja 21.6.2006, 13:18
Причина зависания не в этом. Менеджмент SGA к глюкам вашей видеокарты отношения не имеет. 

Автор: scorpionwoman 21.6.2006, 13:55
Дело в том, что имеется несколько клиентов, порядка 5. У всех серверов разные параметры железа. На всех стоит операционка Windows 2000 Server и Oracle 9. Виснет везде. Настройки никакой я вообще не производила. Просто ставила Oracle и всё. 

Автор: LSD 22.6.2006, 22:30
Цитата(scorpionwoman @  21.6.2006,  14:55 Найти цитируемый пост)
Дело в том, что имеется несколько клиентов, порядка 5. У всех серверов разные параметры железа. На всех стоит операционка Windows 2000 Server и Oracle 9. Виснет везде. Настройки никакой я вообще не производила. Просто ставила Oracle и всё.

И на всех начались подобные глюки после установки Oracle???

Вообщем, тут имеет место очень странный глюк, и к сожалению удаленная диагностика не возможна. Надо проверить сервера на стабильность работы, когда не запущен Oracle, поискать что общего из софта есть на этих машинах (кроме Oracle конечно). Попробовать поиграться с установками железа, например отключить аппаратное ускорение графики и т.п. 

Автор: scorpionwoman 23.6.2006, 09:31
Сейчас объясню, в чем суть.
На каждом клиенте стоит программа, которая подключается к базе данных на сервере
через Java.
На серверах установлена служба, так называемая ClubServer.
Небольшая программка на Java соединяется с этой службой. Она запущена всегда.
Если ее выключить, клиент не сможет подключиться к базе данных.
Программка что-то все время подгружает в буфер.
Я думаю, что происходит переполнение Java-буфера.
Пробовала 1 раз в сутки просто закрывать эту программку и потом загружать заново.
Но вот на третий день опять сервер завис, при этом продолжая обрабатывать клиентские запросы.
В Oracle размер Java Pool задается при установке и потом его нельзя изменить.
А можно как-нибудь производить его очистку и как вообще проверить его содержимое? 

Автор: Marriage 23.6.2006, 17:46
Может просто клиенты не освобождают операьтвную память на сервере ????
Она заканчивается со временем может быть ???
Просмотрите список сессий, может быть там есть куча повисших ???

Цитата(scorpionwoman @  23.6.2006,  09:31 Найти цитируемый пост)
В Oracle размер Java Pool задается при установке и потом его нельзя изменить.

Разве ??? Вроде бы в pFile-е можно. В восьмерке он находится в 
C:\oracle\admin\asu\pfile\initasu.ora , меняете параметры в нем, презапускаете инстанс.
 

Автор: LSD 25.6.2006, 19:33
Цитата(scorpionwoman @  23.6.2006,  10:31 Найти цитируемый пост)
На каждом клиенте стоит программа, которая подключается к базе данных на серверечерез Java.На серверах установлена служба, так называемая ClubServer.Небольшая программка на Java соединяется с этой службой. Она запущена всегда.Если ее выключить, клиент не сможет подключиться к базе данных.Программка что-то все время подгружает в буфер.Я думаю, что происходит переполнение Java-буфера.Пробовала 1 раз в сутки просто закрывать эту программку и потом загружать заново.

Поподробней, что в данном случае подразумевается под сервисом, сервис ОС Windows или некий JOB внутри Oracle?

Если речь идет о сервисе Windows, то тогда Java Pool пул тут не при чем. Т.к. он используется только для хранимых процедур и триггеров написанных на Java. И серверу Oracle вообще всеравно на чем написан клиент, сетевой протокол одинаков, что для OCI клиентов, что для thin. И если память в куче закончится, то вы просто получите OutOfMemoryError и аварийное завершение приложения.
Если уж вы так уверены, что проблема в софте, то стоит наверно проверить тот сервис. Он взаимодействует с рабочим столом Windows (иконка в трее, или некие дилоги отображает)? 

Автор: scorpionwoman 28.6.2006, 13:06
ClubServer - это сервис Windows. Но есть еще программа на Java. Она запущена всегда. Через нее клиенты подключаются к базе данных. А если переделывать клиента, подключаясь через ADO, очень много времени займет. Мне кажется, причина все-таки в Java. Но не могу определить, какая. 

Автор: LSD 28.6.2006, 21:47
Цитата(scorpionwoman @  28.6.2006,  14:06 Найти цитируемый пост)
Мне кажется, причина все-таки в Java. Но не могу определить, какая.

1. Откуда такая уверенность?
2. Еще раз, кто нибудь (ClubServer или программа на Java) имеют GUI интерфейс? 

Автор: scorpionwoman 29.6.2006, 09:24
Цитата

Откуда такая уверенность?

1. Клиенская программа, мне кажется, не может захватывать ресурсы на сервере. Только свои.
Я проверила, после завершения программы виртуальная память полностью освобождается на клиенте.
2. Ни ClubServer, ни программа на Java не имеют графического интерфейса.
 

Автор: Vofka 29.6.2006, 13:58
Цитата

В Oracle размер Java Pool задается при установке и потом его нельзя изменить.


Моно изменить и без pFile.
конектимся под SYS;
пишем
Код

ALTER SYSTEM SET JAVA_POOL_SIZE=64M;

и все прекрасно меняется.По умолчанию он создается 24М.Тока врядли это поможет.Скорее косячит Ваша ява программа. 

Автор: LSD 29.6.2006, 21:56
Цитата(scorpionwoman @  29.6.2006,  10:24 Найти цитируемый пост)
1. Клиенская программа, мне кажется, не может захватывать ресурсы на сервере. Только свои.
Я проверила, после завершения программы виртуальная память полностью освобождается на клиенте.

Клиентская не может, но крайнемаловероятно, чтобы программа не имеющая GUI вызывала зависание графической подсистемы Windows. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)