ํ ์ด๋ธ ๋ฐฑ์ ์ ํ ๋์ export / import ๋ฅผ ์ด์ฉํ ์๋ ์์ง๋ง ๋จ์ํ๊ฒ rename ๋ช ๋ น์ด๋ฅผ ์ด์ฉํ ์๋ ์์ต๋๋ค. ๋ํ create ~ as select ~ ๋ฅผ ์ด์ฉํ ์๋ ์์ต๋๋ค.
ํ์ง๋ง ์ค๋์ ํ
์ด๋ธ ๋ช
์ ๋ณ๊ฒฝํ๊ณ ์๋ก ํ
์ด๋ธ์ ์์ฑํจ์ผ๋ก์จ ๋ฐฑ์
์ ํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ด ๋ฐฉ๋ฒ์ blob๋ฐ์ดํ๊ฐ ๋ง์ ๊ฒฝ์ฐ์ ์๋นํ ์ ์ฉํฉ๋๋ค.
Step by Step
1) Query table name and index names linked to the table you want to backup
2) Rename table name
3) Rename indexes' name ( if specified explicitly when it is created )
4) Rename constraints' name ( if specified explicitly when it is created )
4) Use the same DDL used to create the renamed table
โป This way is very simple and fast then using "create table ~ as select * from ~" statement when the table has a huge blob data.
1) ๋ณ๊ฒฝํ๊ณ ์ํ๋ ํ ์ด๋ธ์ ์ด๋ค ์ธ๋ฑ์ค๋ค์ด ์๋์ง ์กฐํํฉ๋๋ค.
SQL > select index_name, table_name from user_indexes;
2) ํ
์ด๋ธ๋ช
์ ๋ณ๊ฒฝํฉ๋๋ค.
SQL > rename old_table to new_table;
3) ์ธ๋ฑ์ค๋ช
์ ๋ณ๊ฒฝํฉ๋๋ค. ( ์ธ๋ฑ์ค๋ช
์ด ์๋์์ฑ๋ ๊ฒ์ด ์๋ ๊ฒฝ์ฐ์๋ง )
SQL > alter index pk_old_table rename to pk_new_table;
4) ์ ์ฝ์ฌํญ๋ช
์ ๋ณ๊ฒฝํฉ๋๋ค. ( ์ ์ฝ์ฌํญ๋ช
์ด ์๋์์ฑ๋ ๊ฒ์ด ์๋ ๊ฒฝ์ฐ์๋ง )
SQL > select * from user_cons_columns where table_name='{table_name};
SQL > alter table {table name} rename constraint {constraint name} to {new constraint name}
5) ๊ธฐ์กด ํ ์ด๋ธ์ ์์ฑํ๋ DDL์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์๋ก ์์ฑํฉ๋๋ค.
SQL > create table .........
'๐ป Programming > Oracle 11g' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ผํด/oracle11g] dump ํจ์ (0) | 2015.04.20 |
---|---|
[์ค๋ผํด/oracle11g] ์ธ์ฝ๋ฉ ๋ฌธ์ (0) | 2015.04.20 |
ํ ์ด๋ธ ์ ์ฝ์ฌํญ ์กฐํํ๊ธฐ ( Querying constraints of a table ) (0) | 2015.04.14 |
ํ ์ด๋ธ ๋ช ๋ณ๊ฒฝํ๊ธฐ ( Renaming Table Name ) (0) | 2015.04.14 |
์ธ๋ฑ์ค ๋ชฉ๋ก ์กฐํ ( Querying Index List ) (0) | 2015.04.14 |