Criar uma cópia de uma tabela pode ser útil, dentre outras coisas, para quando vamos fazer alterações na tabela para testes e não queremos perder os dados originais. Para criar a cópia de uma tabela utilizando SQL é bem simples, basta utilizar a instrução CREATE TABLE AS, como no exemplo a seguir:
-- essa instrução cria a tabela MINHA_TABELA_BKP, contendo tanto a
-- estrutura quanto os dados de MINHA_TABELA
CREATE TABLE MINHA_TABELA_BKP AS SELECT * FROM MINHA_TABELA;
Também é possível utilizar a mesma instrução para criar a tabela com um select personalizado, para conter tanto dados diferentes quanto colunas diferentes da tabela principal
-- essa instrução cria a tabela MINHA_TABELA_BKP, contendo somente
-- a COLUNA_A e COLUNA_B da tabela MINHA_TABELA e com somente
-- os registros com ID menor que 10
CREATE TABLE MINHA_TABELA_BKP AS
(SELECT COLUNA_A, COLUNA_B FROM MINHA_TABELA WHERE ID < 10);
Para criar uma tabela co estrutura diferente ou com dados diferentes da tabela original, ou mesmo a partir de uma consulta, veja este post: Como criar uma tabela a partir de uma consulta específica no Oracle