понедельник, 28 марта 2011 г.

Размер базы MySQL

Запрос возвращает размер всех баз данных MySQL:
SELECT table_schema "Data Base Name", sum( data_length + index_length) / 1024 / 1024 
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
 
Запрос возвращает размер каждой из таблиц для базы данных:
SELECT table_name, table_rows, data_length, index_length, 
round(((data_length + index_length) / 1024 / 1024),2) "Size in MB"
FROM information_schema.TABLES WHERE table_schema = "schema_name"
 
Также размер базы данных можно узнать, узнав размер файла ibdata1.

среда, 23 марта 2011 г.

Timezone в CentOS

Часто бывает необходимо выставить на сервере часовой пояс (timezone), отличный от текущего. Например, команда date возвращает нечто вроде Mon 17 Jan 2005 12:15:08 PM PST. В данном случае PST - это текущий timezone для сервера. Это не совсем верно, т.к. время должно быть в соответствии с тем часовым поясом, где физически установлен сервер.

Предположим, что нужно изменить timezone на Московский (MSK). Для этого сначала делаем копию настроек текущего timezone'а сервера:
mv /etc/localtime  /etc/localtime-old

Далее переходим в директорию /usr/share/zoneinfo/Europe/ и просматриваем доступные timezone'ы.
Находим в списке Moscow.

Теперь необходимо создать симлинк на этот timezone:
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Проверяем корректность времени сервера и timezone через date. Все работает!

вторник, 15 марта 2011 г.

План запросов в Oracle

--
-- Просмотр плана выполнения SQL запроса по его sql_id
--
select hash_value,
child_number,
lpad(' ',2*depth)||operation||' '||options||decode(id, 0, substr(optimizer,1,6)||' Cost='||to_char(cost)) operation,
object_name object,
cost,
cardinality,
round(bytes / 1024) kbytesfrom,
id,
depth,
access_predicates,
filter_predicates
from v$sql_plan
where sql_id = '...'
order by hash_value, child_number, id;