Oracle9i To Oracle11g EXP/IMP

Oracle9i上のデータベースをexpしたファイルをOracle11gのデータベースにimpするメモ。基本、exp側の文字コードは、EUCで構築されているため、Oracle11gのデータベースもEUCで構築しておくことで、簡単にimpが可能である。EUCをサポートされているのはライセンス版であり、お試し版ではUTF8のみであることに注意。

exp側

 OS: Solaris 8 (64bit) bigendian  DB: Oracle 9.2.0.4.0 (64bit)  コンパチブル初期化パラメータ 9.2.0.0.0  表領域のブロックサイズ 8192  NLS_CHARACTERSET =JA16EUC  NLS_NCHAR_CHARACTERSET=AL16UTF16  表領域:SMEAPP  ユーザ:SMEAPP / SMEWORK (参照のみのユーザーなどで無視)  ダンプ生成コマンド: exp parfile=/export/home2/oraexp/parexp   parexpの内容:    userid=smeapp/!smeapp!@smeora    file=/export/home2/oraexp/smeapp    TRIGGERS=y tables=( ACCOUNT,,,,省略)

imp側

 OS: Linux version 2.6.32-220.17.1.el6.x86_64 (Red Hat 4.4.6-3)  DB: Oracle 11.2.0.1.0 (64bit)  コンパチブル初期化パラメータ 11.2.0.0.0  表領域のブロックサイズ 8192  NLS_CHARACTERSET =JA16EUC  NLS_NCHAR_CHARACTERSET=AL16UTF16  表領域:SAMPLE (新規作成)  ユーザ:SAMPLE (新規作成)

以下、Database Controlページからimp側データベースに各種作成作業 Database Controlページ https://***.***.***.***:1158/

imp作業

  1. テーブルスペース「SAMPLE」の作成
     CREATE SMALLFILE TABLESPACE "SAMPLE"
        DATAFILE '/u01/app/oracle/oradata/smoj/sample.dbf' SIZE 1G
        AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT
        MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
     ALTER DATABASE DEFAULT TABLESPACE "SAMPLE";
  2. ユーザ「SAMPLE」の作成
     CREATE USER "SAMPLE" PROFILE "DEFAULT" IDENTIFIED BY "*******"
       DEFAULT TABLESPACE "SAMPLE" TEMPORARY TABLESPACE "TEMP"
       QUOTA UNLIMITED ON "SAMPLE" ACCOUNT UNLOCK;
     GRANT "DBA" TO "SAMPLE";
     ALTER USER "SAMPLE" DEFAULT ROLE NONE;
    以下、imp側データベースのターミナルより以下のコマンドを実行してデータをimpした。
     oracle# imp system/******* file=/u01/app/oracle/sample.dmp
              log=/u01/app/oracle/imp.log ignore=y
              fromuser=SAMPLE touser=SAMPLE
    grant select文などでエラーが発生したが参照権限を特定ユーザ(imp側には存在しない)付与するものなので無視。

以上、完了。


UNIX Oracle


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-11-30 (金) 17:17:30 (2610d)