Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимизация работы сервера Oracle 
:(
    Опции темы
RoMka
  Дата 11.2.2005, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.9.2004

Репутация: нет
Всего: нет



Такой вопрос:

У нас в офисе стоит сервак с Oracle - P4 3.06GHz, 1024 RAM, 4 HDD 80GB ... С ним работает одновременно около 20-ти пользователей. В общем работает нормально, но на некоторых запросах начинает жутко тормозить. кто-нибудь один запускает у себя такой отчёт и на серваке oracle.exe тянет всё на себя, и все ждут пока отработает эта сессия. Я понимаю что надо переделывать эти запросы, но они итак уже упрощены до предела.
может надо само железо апгрейдить или дело не внём?


PM MAIL ICQ   Вверх
Marriage
Дата 28.2.2005, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



Диски сказёвые поставить.


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
LSD
Дата 28.2.2005, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Начни с самого элементарного, во что упираются запросы. Производительность дисковой подсистемы или процессора.
Отсюда и надо смотреть как можно оптимизировать, запросы, индексы, или аппаратуру менять.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RoMka
Дата 1.3.2005, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.9.2004

Репутация: нет
Всего: нет



Marriage, ну стоят у нас RAID массивы..

LSD, а запросы упираются кажись в проц..

Но я имел ввиду в настройках самой базы нет никаких особенных настроек?
PM MAIL ICQ   Вверх
AntonSaburov
Дата 1.3.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 1
Всего: 118



Может покопаться в ключах (которые оптимизируют запрос) - может там есть что-то дающее более низкий приоритет.
Посмотреть, можно ли как-то запускать эти отчеты в более низком приоритете - хотя это уже просто догадки. Я с таким не сталкивался.
Может можно как-то ограничить возможные ресурсы для коннекта. Т.е. юзеру не давать больше чем ...
PM MAIL WWW ICQ   Вверх
LSD
Дата 1.3.2005, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(RoMka @ 1.3.2005, 08:27)
Но я имел ввиду в настройках самой базы нет никаких особенных настроек?

А каких настройках идет речь? Если ты хочешь просто понизить приоритет для тех пользователей, которые запускают объемные отчеты. То это можно сделать с помощью RESOURCE_PLAN. Если интерестно могу подкинуть инфу.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RoMka
Дата 2.3.2005, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.9.2004

Репутация: нет
Всего: нет



LSD, конечно интересно! кидай вот сюда - [email protected] smile
PM MAIL ICQ   Вверх
Guest
Дата 2.3.2005, 12:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(RoMka @ 2.3.2005, 07:28)
LSD, конечно интересно! кидай вот сюда - [email protected] smile

Нет уж - лучше сюда!
  Вверх
bursa
Дата 2.3.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.2.2005
Где: Липецк

Репутация: нет
Всего: 1



Попробуй изменить в init.ora параметры

db_block_size = 8192
db_block_buffers = 16384,

где 8192*16384=128М (*1024*1024)-размер данных, загруженных в оперативную память. Чем больше в оперативной памяти - тем всё быстрее работает.

Еще - измени на побольше tablespace temp и Rollback (500-1000M)


Всё это помогает, но в случае, если твой Select не использует индексы, ничто особо не поможет.

Если связь между таблицами по двум (и более полям), обязательно тащи их в Select, если нужно по одному полю - создавай индекс по одному полю. Если сортируешь по двум и более полям - создавай индекс по этим полям. Никогда не пользуй оператор not in (select и пр. и пр.





PM MAIL   Вверх
LSD
Дата 2.3.2005, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(bursa @ 2.3.2005, 14:39)
Попробуй изменить в init.ora параметры
db_block_size = 8192

Угу и получить ORA-00058. Размер блока в Oracle не меняется после создания базы.

Вот статейка описывающая как создать простейший resource plan.

Присоединённый файл ( Кол-во скачиваний: 11 )
Присоединённый файл  res_plan.zip


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
RoMka
Дата 3.3.2005, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.9.2004

Репутация: нет
Всего: нет



LSD, спасибо, занятная статейка, надо попробовать....
PM MAIL ICQ   Вверх
Dimich
Дата 3.3.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 25.8.2004
Где: Брянск

Репутация: 3
Всего: 7



А Вы, RoMka, киньте сюда свой init.ora, посмотрим, может чего можно еще сделать кроме db_block_size?

Кстати, табличные пространства с данными и индексами, temp и rollback сегменты, логи разнесены по разным (физическим) устройствам?

Это сообщение отредактировал(а) Dimich - 3.3.2005, 18:31
--------------------
Не работает - исправь, работает - не трогай!!!
PM MAIL ICQ Jabber   Вверх
Guest
Дата 3.3.2005, 19:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(bursa @ 2.3.2005, 14:39)
Попробуй изменить в init.ora параметры

db_block_size = 8192
db_block_buffers = 16384,

где 8192*16384=128М (*1024*1024)-размер данных, загруженных в оперативную память. Чем больше в оперативной памяти - тем всё быстрее работает.

Еще - измени на побольше tablespace temp и Rollback (500-1000M)


Всё это помогает, но в случае, если твой Select не использует индексы, ничто особо не поможет.

Если связь между таблицами по двум (и более полям), обязательно тащи их в Select, если нужно по одному полю - создавай индекс по одному полю. Если сортируешь по двум и более полям - создавай индекс по этим полям. Никогда не пользуй оператор not in (select и пр. и пр.

хм. buffers на 9.2 так вот просто менять не рекомендуется - лучше через EM и в spf.
а то возникнет конфликт.
  Вверх
RoMka
Дата 4.3.2005, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 21.9.2004

Репутация: нет
Всего: нет



Dimich, ну держите...

Код

#
# Copyright (c) 1991, 2000 by Oracle Corporation
#
##############################################################################
# Example INIT.ORA file
#
# This file is provided by Oracle Corporation to help you customize
# your RDBMS installation for your site.  Important system parameters
# are discussed, and example settings given.
#
# Some parameter settings are generic to any size installation.
# For parameters that require different values in different size
# installations, three scenarios have been provided: SMALL, MEDIUM
# and LARGE.  Any parameter that needs to be tuned according to
# installation size will have three settings, each one commented
# according to installation size.
#
# Use the following table to approximate the SGA size needed for the
# three scenarious provided in this file:
#
#                     -------Installation/Database Size------
#                      SMALL           MEDIUM           LARGE
#  Block         2K    4500K            6800K           17000K
#  Size          4K    5500K            8800K           21000K
#
# To set up a database that multiple instances will be using, place
# all instance-specific parameters in one file, and then have all
# of these files point to a master file using the IFILE command.
# This way, when you change a public
# parameter, it will automatically change on all instances.  This is
# necessary, since all instances must run with the same value for many
# parameters. For example, if you choose to use private rollback segments,
# these must be specified in different files, but since all gc_*
# parameters must be the same on all instances, they should be in one file.
#
# INSTRUCTIONS: Edit this file and the other INIT files it calls for
# your site, either by using the values provided here or by providing
# your own.  Then place an IFILE= line into each instance-specific
# INIT file that points at this file.
#
# NOTE: Parameter values suggested in this file are based on conservative
# estimates for computer memory availability. You should adjust values upward
# for modern machines.
#
###############################################################################

db_name = "ekort"

instance_name = ekort

service_names = ekort

db_files = 1024

control_files = ("D:\oracle\oradata\ekort\control01.ctl", "E:\oracle\oradata\ekort\control02.ctl", "F:\oracle\oradata\ekort\control03.ctl")

open_cursors = 300
max_enabled_roles = 148
db_file_multiblock_read_count = 8

db_block_buffers = 55663

shared_pool_size = 151999078

large_pool_size = 614400
java_pool_size = 0

log_checkpoint_interval = 10000
log_checkpoint_timeout = 1800

processes = 150

parallel_max_servers = 5

log_buffer = 32768

#audit_trail = true  # if you want auditing
timed_statistics = true  # if you want timed statistics
max_dump_file_size = 10240  # limit trace file size to 5M each


##### For archiving if archiving is enabled #####
log_archive_start = true
log_archive_dest_1 = "location=D:\oracle\oradata\ekort\archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
# If using private rollback segments, place lines of the following
# form in each of your instance-specific init.ora files:
#rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6 )

# Global Naming -- enforce that a dblink has same name as the db it connects to
global_names = true

# Uncomment the following line if you wish to enable the Oracle Trace product
# to trace server activity.  This enables scheduling of server collections
# from the Oracle Enterprise Manager Console.
# Also, if the oracle_trace_collection_name parameter is non-null,
# every session will write to the named collection, as well as enabling you
# to schedule future collections from the console.
# oracle_trace_enable = true

oracle_trace_collection_name = ""
# define directories to store trace and alert files
background_dump_dest = D:\oracle\admin\ekort\bdump
#Uncomment this parameter to enable resource management for your database.
#The SYSTEM_PLAN is provided by default with the database.
#Change the plan name if you have created your own resource plan.# resource_manager_plan = system_plan
user_dump_dest = D:\oracle\admin\ekort\udump

db_block_size = 8192

remote_login_passwordfile = exclusive

os_authent_prefix = ""

distributed_transactions = 10
compatible = 8.1.0
sort_area_size = 65536
sort_area_retained_size = 65536


PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0867 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.