Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Ngăn rơi bảng tại lược đồ mục tiêu trong luồng Oracle

Dưới đây là một ví dụ để dừng việc thực thi một lệnh DDL cụ thể trong Oracle Streams. Trong ví dụ này, bạn sẽ học cách bỏ qua lệnh Drop Table tại lược đồ đích trong Oracle Streams.1. Kết nối với cơ sở dữ liệu đích bằng thông tin đăng nhập quản trị luồng.conn STRMADMIN / STREAM @ TARGET

2. Tạo một thủ tục để xử lý câu lệnh drop table.

tạo hoặc thay thế thủ tục
IGNORE_DROP_TABLE (in_any IN SYS.ANYDATA
)


lcr SYS.LCR $ _DDL_RECORD;
rc PLS_INTEGER;

begin
rc:=in_any.GETOBJECT (lcr);

if lcr.GET_COMMAND_TYPE! ='DROP TABLE'
then
lcr.execute ();
end if;
END;
/

3. Thay đổi quy trình Áp dụng.

begin
dbms_apply_adm.alter_apply (
apply_name => 'STREAMS_APPLY',
ddl_handler => 'IGNORE_DROP_TABLE');
end;
/

Bây giờ tất cả các câu lệnh DDL ngoại trừ "Drop Table" sẽ thực thi trong cơ sở dữ liệu đích.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL nhiều cột trong mệnh đề IN

  2. Kích thước mặc định của đầu vào varchar2 cho thủ tục được lưu trữ của Oracle là bao nhiêu và nó có thể thay đổi được không?

  3. kiểm tra xem đó có phải là một hàm số trong Oracle không

  4. Thống kê bảng GTT và SYS.WRI $ _OPTSTAT_TAB_HISTORY

  5. Làm thế nào để cài đặt gói ROracle trên Windows 7?