Осознанно или нет, но даже авторизованные пользователи Вашей системы могут попытаться каким-то образом эксплуатировать уязвимость SQL, поэтому нужно проверять абсолютно все данные, которые пользователь передаёт в систему.
Метка: sql
Как настроить dblink в PostgreSQL
Как-то мне потребовалось настроить синхронизацию нескольких таблиц на разных серверах PostgreSQL, не настраивая при этом репликацию в классическом её виде, проанализировал я много разных вариантов и самый простой оказался синхронизация через dblink. Настройку выполняю на Debian 7.0 (Wheezy), база данных PoetgreSQL 9.1. Предполагаю, что база уже развёрнута и работает, а так же что у Вас […]
Отправка E-Mail'ов через функцию в PostgreSQL
По рабочей необходимости потребовалось реализовать отправку электронных сообщений простым вызовом функции базы данных. В наличии есть сервер PostgreSQL 9.1 и Debian 7 (Wheezy). Для начала нам понадобится поддержка языка Python в PostgreSQL: sudo apt-get install postgresql python3 postgresql-plpython3-9.1 Авторизуемся из под под пользователя postgres: sudo -u postgres psql Создадим язык для работы функции CREATE LANGUAGE […]
Как узнать SID сессии и убить её по SQL_ID
Через sqlplus выполним запрос: select sid, serial#, machine, program from v$session where sql_id in (‘7aqfaga9ax4fv’); Вот пример функции, которая использует указанный ранее запрос: begin for x in ( select sid, serial#, machine, program from v$session where sql_id in (‘7aqfaga9ax4fv’) ) loop execute immediate ‘Alter System Kill Session »’|| x.Sid || ‘,’ || x.Serial# || »’ IMMEDIATE’; end loop;end;/
Как убить зависшие процессы RMAN
Из под oracle зайти rman target / Отобразить все сессии select sid, serial#, status, logon_time from v$session where program like ‘%rman%’; Отобразить все работы пользователя SYS select username, program from v$session where username = ‘SYS’; Сгенерировать команды удаления зависших процессов rman select ‘kill -9 ‘||p.spid kill_rman_processfrom v$session s, v$process pwhere s.paddr=p.addrand s.program like ‘rman%’order by […]
Запросить таблицы доступные через Database Link
Там можно выгрузить все таблицы: SELECT OWNER, TABLE_NAME FROM ALL_TABLES@<dblink>; А таr можно запросить все пользовательские таблицы: SELECT TABLE_NAME FROM USER_TABLES@<dblink>;
Если не стартует Enterprise Manager на HP-UX
Залогинимся в базу из под SYS sqlplus /nologconn / as sysdba Очистить базу от старых настроек exec DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>’SYSMAN.MGMT_NOTIFY_QTABLE’,force=>TRUE); DECLARECURSOR c1 ISSELECT owner, synonym_name nameFROM dba_synonymsWHERE table_owner = ‘SYSMAN’;BEGINFOR r1 IN c1 LOOPIF r1.owner = ‘PUBLIC’ THENEXECUTE IMMEDIATE ‘DROP PUBLIC SYNONYM ‘||r1.name;ELSEEXECUTE IMMEDIATE ‘DROP SYNONYM ‘||r1.owner||’.’||r1.name;END IF;END LOOP;END;/ DROP USER mgmt_view CASCADE;DROP ROLE mgmt_user;DROP USER sysman […]
Разблокировать аккаунт SYSMAN в Oracle 11g Release 2
Подключимся к серверу из под sysdba: sqlplus /nologconnsys as sysdba Назначим пользователю пароль для входа: alter user SYSMAN identified by password; Разлочим аккаунт: alter user SYSMAN account unlock; Дадим права системы: GRANT DBA TO SYSMAN;