Oracle 은 트리거 를 사용 하여 원 격 DDL 작업 을 금지 합 니 다.
SQL> grant select on v_$session to zhongwc;
Grant succeeded.
SQL> grant execute on dbms_system to zhongwc;
Grant succeeded.
SQL> @ddl_trigger
Trigger created.
SQL> !cat ddl_trigger.sql
create or replace trigger ddl_trigger
before ddl on zhongwc.schema
declare
n number;
str_stmt varchar2(4000);
sql_text ora_name_list_t;
l_trace number;
str_session v$session%rowtype;
begin
select count(*)
into l_trace
from dual
where utl_inaddr.get_host_address is not null
and sys_context('userenv', 'ip_address') is not null
and sys_context('userenv', 'ip_address') <>
utl_inaddr.get_host_address;
if l_trace > 0 then
n := ora_sql_txt(sql_text);
for i in 1 .. n loop
str_stmt := substr(str_stmt || sql_text(i), 1, 3000);
end loop;
select *
into str_session
from v$session
where audsid = userenv('sessionid');
sys.dbms_system.ksdwrt(2,
to_char(sysdate, 'yyyymmdd hh24:mi:ss') ||
'ORA-20001 user: ' || user || ' program: ' ||
str_session.program || ' IP: ' ||
sys_context('userenv', 'ip_address') ||
' object: ' || ora_dict_obj_name || ' DDL: ' ||
str_stmt);
raise_application_error(-20001, 'DDL is deny from remote connection.');
end if;
end;
/
remote
C:\>sqlplus zhongwc@single
SQL*Plus: Release 10.2.0.1.0 - Production on 1 15 16:54:01 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
:
:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> truncate table t_test;
truncate table t_test
*
1 :
ORA-00604: SQL 1
ORA-20001: DDL is deny from remote connection.
ORA-06512: line 34
SQL> drop table t_test;
drop table t_test
*
1 :
ORA-00604: SQL 1
ORA-20001: DDL is deny from remote connection.
ORA-06512: line 34
SQL> create table t_test002 as select * from t_test;
create table t_test002 as select * from t_test
*
1 :
ORA-00604: SQL 1
ORA-20001: DDL is deny from remote connection.
ORA-06512: line 34
local
[oracle@zhongwc ~]$ sqlplus zhongwc@zwc
SQL*Plus: Release 11.2.0.3.0 Production on Tue Jan 15 16:58:49 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select tname from tab;
TNAME
------------------------------
T_TEST
SQL> create table t_test002 as select * from t_test;
Table created.
SQL> select tname from tab;
TNAME
------------------------------
T_TEST
T_TEST002
eygle DBA 수기 4 수록
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
activemq 5.5 의 입문 은 설치, 시작, 데이터베이스 지속 화 를 포함한다Apache ActiveMQ 5.5.0 은 주로 유지보수 버 전 으로 130 개가 넘 는 문 제 를 복 구 했 으 며 대부분 bug 와 개선 이 었 다. Improved performance for offline d...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.