1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

テーブル削除・作成すると
以下項目が削除されてしまい、めんどくさいので手順をここに残します。
※ワタシガ検証して分かった事。他にもあるかも知れません。
残らない項目
・権限
・カラムコメント
・デフォルト値定義

残る項目
・シノニム
・シーケンス

■反映
1.datapumpツールを使用してデータをエクスポート
impdp SYSTEM DIRECTORY=xxx CONTENT=DATA_ONLY TABLES= スキーマ名.元テーブル名 DUMPFILE= 任意のファイル名.dmp LOGFILE=任意のファイル名_yyyymmdd_imp.log

2,テーブルのバックアップ
CREATE TABLE スキーマ.バックアップテーブル名 AS SELECT * FROM スキーマ.バックアップ元テーブル名;

3.テーブル削除
DROP TABLE スキーマ.元テーブル名;

4,新規テーブル作成
CREATE TABLE スキーマ.新テーブル名~;

5.データ投入
datapumpツールを使用してデータをインポート
impdp SYSTEM DIRECTORY=xxx CONTENT=DATA_ONLY TABLES= スキーマ名.元テーブル名 DUMPFILE= 任意のファイル名.dmp LOGFILE=任意のファイル名_yyyymmdd_imp.log

6,権限追加(3のDROPで削除される為再作成)
GRANT SELECT,INSERT,UPDATE,DELETE ON スキーマ名.元テーブル名 TO 権限付与される側のスキーマ名;

■切戻手順
万が一の場合、以下手順で切り戻します。
1,テーブル削除
DROP TABLE スキーマ名.テーブル名;

2,バックアップから復元
ALTER TABLE スキーマ名.バックアップテーブル名 RENAME TO 元テーブル名;
ALTER TABLE スキーマ名.元テーブル名 ADD CONSTRAINT PK名 PRIMARY KEY(カラム1,カラム2);

3,コメント追加
COMMENT ON COLUMN スキーマ名.元テーブル名.CONTACT_COMMENT IS 'コメント';

4,権限追加(2のDROPで削除される為再作成)
GRANT SELECT,INSERT,UPDATE,DELETE ON スキーマ名.元テーブル名 TO 権限付与される側のスキーマ名;

5,一定期間保存後、不要になったらバックアップ削除
DROP TABLE スキーマ.バックアップ元テーブル名;

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?