Когда мы делаем:
create table big2 as select * from big1;
Копируются ли индексы и ограничения в новую таблицу?
Только ограничения NOT NULL копируются.См. FAQ .
. Вы можете CREATE TABLE big2 (bigid PRIMARY KEY) AS SELECT * FROM big1 tp создать первичный ключ, но да, для других индексов вы захотите скопировать и запустить сценарии создания индекса.
CREATE TABLE big2 (bigid PRIMARY KEY) AS SELECT * FROM big1
Только для информации, есть простой способ запомнить индексы, чтобы воссоздать их после удаления исходной таблицы:
SELECT DBMS_METADATA.get_ddl('INDEX', index_name) FROM user_indexes WHERE TABLE_NAME = 'BIG1';