Oracle Hints
- Установка Оракла под Линукс
- Свободное место в БД Oracle
- Oracle memlock
- ipcs
- Проверка SQL-запроса на оптимизацию
- Версия Оракла
Установка Оракла под Линукс
Создать пользователя oracle и группу dba:
# useradd -u 199 -g 199 -l -m -n oracle
Перенаправить “выхлоп” почты на специальный адрес (если нужно):
Создать каталог для Оракла:
# chown oracle:dba /opt/oracle
Настроить окружение. Для чего добавить в ~oracle/.bash_profile следующие строки:
export ORACLE_HOME=/opt/oracle/10R2
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
Настроить системные лимиты. Для чего в /etc/security/limits.conf добавить следующие строки:
oracle - memlock 3145728 oracle - nofile 63536 oracle - nproc 16384
После чего раскатать дистриб в /opt/oracle/10R2…
Свободное место в БД Oracle
Понадобилось по работе смотреть сколько занято/свободно в БД Оракла.
Нашёл в Инете полезный запрос - может, ещё кому пригодится. Выдаёт информацию о размере и оставшемся свободном месте для каждого tablespace в базе.
Версия 1
SELECT a.name, b.tablespace_name, SUBSTR('Free : '||sum(b.bytes)/1024/1024,1,30) File_Size
FROM dba_free_space b, v$database a
GROUP BY b.tablespace_name, a.name
UNION
SELECT a.name, b.tablespace_name, SUBSTR('Total: '||sum(b.bytes)/1024/1024,1,30)
FROM dba_data_files b, v$database a
GROUP BY b.tablespace_name, a.name
ORDER BY 1,2,3;
Версия 2
Но “выхлоп” предыдущего запроса слишком многословен и не очень удобен. Нам на работе хотелось бы более компактной и удобочитаемой выдачи. В результате, мы с коллегой написали новый запрос, который выдает сведения о полном размере каждого tablespace и количестве свободного места в одну строчку, а не в две. Кроме того, он не показывает UNDO и TEMP. Также был изменен формат чисел - для нас более удобно считать уже в гигабайтах, точнее в сотнях гигабайт. Вот этот запрос:
(SELECT TO_CHAR(SUM(b.bytes)/1024/1024/1024, '99990.000')||' G' FROM dba_data_files b
WHERE b.tablespace_name=t.tablespace_name) Total,
(SELECT TO_CHAR(SUM(f.bytes)/1024/1024/1024, '99990.000')||' G' FROM dba_free_space f
WHERE f.tablespace_name=t.tablespace_name) Free
FROM dba_tablespaces t
WHERE t.status='ONLINE' AND t.contents='PERMANENT'
ORDER BY 1;
EXIT
Oracle memlock
Если Оракл при запуске жалуется на недостаток памяти, проверьте файл: /etc/security/limits.conf - там должны быть строчки:
oracle - memlock 3145728 oracle - nofile 63536 oracle - nproc 16384
ipcs
The ipcs command can be used to obtain the status of all System V IPC objects.
ipcs -q: Show only message queues ipcs -s: Show only semaphores ipcs -m: Show only shared memory ipcs --help: Additional arguments
Полезно использовать для отслеживания использования памяти Ораклом (SGA), особенно в случае возникновения проблем.
see also:
- http://tldp.org/LDP/lpg/node25.html
- http://www.opengroup.org/onlinepubs/000095399/utilities/ipcs.html
Проверка SQL-запроса на оптимизацию
SQL> @$ORACLE_HOME/rdbms/admin/utlxpls.SQL
В ответ Оракл “расскажет” как он оптимизирует указанный запрос.
Версия Оракла
WHERE banner LIKE 'Oracle%';
RSS
Ora Mezo » Blog Archive » Oracle Hints:
[...] всю информацию, касающуюся Оракла, в одну статью: Oracle Hints. Category: Сайт | Tags: dba, oracle [...]
14 October 2008, 1:59 pm