2016-04-06 24 views
1

Tüm oracle (12c) nesne değişikliklerini izlediğimiz kaynak denetimi için kullanılan bir denetim tetikleyicim var. "Yeni" nesne adını nasıl yeniden adlandırabilirim ("değiştir" veya "yeniden adlandır" ile)? Tetikleyiciyi "ALTER veya RENAME veya DDL ON DATABASE" işleminden önce veya sonra tetiklesem de, ORA_DICT_OBJ_NAME ürününde "eski" adı görüyorum.Oracle 12C Audit Trigger Açık Yeniden Adlandırma

cevap

1

Tetikleme deyimini (işlevler parametresi aracılığıyla) yakalamak için ORA_SQL_TXT işlevini kullanın ve sonra yeni nesnenin adını ayıklayın.

düzenlemek: Ben ORA_SQL_TXT;

+1

ile ORA_SQL_TEXT yerini teşekkür ederiz! Bu işi yapabiliyordum! ora_sysevent = 'RENAME' ise \t \t \t n PLS_INTEGER; \t \t sql_text sys.dbms_standard.ora_name_list_t; \t başlangıç ​​ \t \t n: = ora_sql_txt (sql_text); \t \t İÇİNDEKİLER 1. 1.n LOOP \t \t \t v_obj_original: = v_obj_original || sql_text (i) \t \t END LOOP; istisna \t diğerleri daha sonra \t \t v_obj_original: = 'Özel durum DDL:' || SQLCODE || '-' || SQLERRM || 'at' || TO_CHAR (SYSDATE, 'HH24: MI'); \t sonu; eğer; – Christine

İlgili konular