У мене таке відчуття, що між двома великими складними схемами Oracle, які мають бути однаковими, є якась різниця, тому я вирішив скинути їх і розібратися. Я знайшов статтю ( http://www.dba-oracle.com/art_builder_get_schema_syntax.htm ), яка дає наступні команди для скидання таблиці та визначення індексів.
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name) FROM USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name) FROM USER_INDEXES u;
Однак, коли я скидав і розширював котушку вихідних схем, майже у кожному рядку були тривіальні відмінності, що робить різницю марною. Наприклад, ім'я схеми міститься у кожному визначенні таблиці.
Чи є кращий спосіб зробити це, що дасть найважливіші дані схеми у форматі, який можна легко порівняти, використовуючи інструмент diff. Мене цікавлять таблиці, індекси та тригери.
Я використовую Oracle Database 10g Enterprise Edition випуску 10.2.0.3.0