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
1
A
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;
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