cat /etc/issue -- выяснение версии ОС
uname -r -- определение версии ядра
cat /proc/version -- выяснение версии ядра
grep MemTotal /proc/meminfo -- определение общего размера памяти
grep SwapTotal /proc/meminfo -- размер пространства подкачки
df -h -- размер дискового пространства
df -m /tmp -- выяснение доступного объема дискового пространства в каталоге /tmp
cat /etc/sysctl.conf -- отображение настроек ядра
cat /etc/security/limits.conf -- список ограничений командной оболочки
cat /etc/group -- список групп
passwd -- изменение пароля для текущего пользователя
passwd oracle -- изменение пароля для пользователя oracle
umask -- проверка прав по умолчанию, должно быть 0022
cat /etc/oratab -- список каталогов ORACLE_HOME
пятница, 27 января 2017 г.
Таблица только для чтения
В 11 Оракле появилась возможность перевода таблицы в режим READ ONLY. Это делается следующим способом:
ALTER TABLE my_tab READ ONLY;
Чтобы перевести обратно используется команда:
ALTER TABLE my_tab READ WRITE;
В предыдущих версиях можно было использовать триггер для блокировки изменений:
CREATE TRIGGER trgiud_my_tab
BEFORE
INSERT OR UPDATE OR DELETE
ON
my_tab
BEGIN
RAISE_APPLICATION_ERROR (-99999, 'The table is read only');
END;
/
ALTER TABLE my_tab READ ONLY;
Чтобы перевести обратно используется команда:
ALTER TABLE my_tab READ WRITE;
В предыдущих версиях можно было использовать триггер для блокировки изменений:
CREATE TRIGGER trgiud_my_tab
BEFORE
INSERT OR UPDATE OR DELETE
ON
my_tab
BEGIN
RAISE_APPLICATION_ERROR (-99999, 'The table is read only');
END;
/
Проверка настроек отображения даты
Столкнулся с такой ситуацией, что в базу в поле DATE записывали дату со временем, а когда вычитывали ее, то получали только дату, без времени. Проблема оказалась на стороне клиента.
Для того чтобы проверить настройки вывода даты, нужно выполнить следующий запрос:
SELECT *
FROM nls_session_parameters
WHERE parameter like '%DATE%';
Чтобы установить формат отображения даты вместе с временем, нужно выполнить:
ALTER SESSION SET nls_date_format='dd.mm.yyyy hh24:mi:ss';
SELECT *
FROM nls_session_parameters
WHERE parameter like '%DATE%';
Чтобы установить формат отображения даты вместе с временем, нужно выполнить:
ALTER SESSION SET nls_date_format='dd.mm.yyyy hh24:mi:ss';
Поиск блокирующих сессий
Для отображения сессий, которые блокируют другие, нужно выполнить запрос:
select a.username
, a.program
, a.sid
, a.serial#
from v$session a
join dba_blockers b
on a.sid = b.holding_session
/
select a.username
, a.program
, a.sid
, a.serial#
from v$session a
join dba_blockers b
on a.sid = b.holding_session
/
Аудит коннекшенов
Очень часто для пользователей используются профили, которые задают ограничение на количество ввода неправильного пароля, после чего пользователь блокируется. Поэтому очень важно определить, кто именно заблокировал пользователя, для этого используется следующий запрос:
SELECT CASE
WHEN dasn.returncode=1017 THEN 'invalid password'
ELSE 'the account is locked'
END reason
, dasn.*
FROM DBA_AUDIT_SESSION dasn
WHERE dasn.username='GUBITST'
AND dasn.returncode IN (1017, 28000)
ORDER BY dasn.timestamp DESC;
SELECT CASE
WHEN dasn.returncode=1017 THEN 'invalid password'
ELSE 'the account is locked'
END reason
, dasn.*
FROM DBA_AUDIT_SESSION dasn
WHERE dasn.username='GUBITST'
AND dasn.returncode IN (1017, 28000)
ORDER BY dasn.timestamp DESC;
Подписаться на:
Сообщения (Atom)