はじめに
Oracle10gがある環境で、10g→11gのマイグレーション(移行)をしていた時になかなかうまく行かなかったので手順メモ
作業環境
WindowsServer2008
Oracle10g
その1:Oracle10gを完全に削除する
これをしないで11gをのんきに入れていたらうまく行かなかったです(今考えれば当たり前)
Oracleの削除はわりとめんどくさくて、ただアンインストールするとかじゃなくてレジストリ単位で削除する必要があります。
前準備
以下の場所の確認
・ORACLE_HOME ディレクトリの場所
→レジストリ、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEn\ORACLE_HOMEで確認可能(コンピューター名を指定して実行→regeditと入力でレジストリに飛べる)
・ORACLE 関連のディレクトリの場所
Administratorでログイン
レジストリ削除
以下のレジストリを削除します。レジストリがない場合もあります(私の環境では半分くらいはなかったです)
1-1 □ HKEY_LOCAL_MACHINE\SOFTWARE\ORACLEキー
1-2 □ HKEY_LOCAL_MACHINE\SOFTWARE\odbc\odbcinst.ini\Oracle ODBC Driverキー
1-3 □ HKEY_LOCAL_MACHINE\SOFTWARE\odbc\odbcinst.ini\Oracle in <ORACLE_HOME名>キー
1-4 □ HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\<当該DSN名>キー
1-5 □ HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sourcesキー
1-6 □ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servicesの下の ORACLEで始まるすべてのキー
1-7 □ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Applicationの下の ORACLEで始まるすべてのキー
1-8 □ HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstallの下の ORACLEで始まるすべてのキー
1-9 □ HKEY_CLASSES_ROOT をオープンし、HKEY_CLASSES_ROOT の下の ORA またはORCL から始まるすべてのキー
1-10 □ HKEY_LOCAL_MACHINE\SOFTWARE\Classes の下の ORA または ORCL から始まる全てのキー
1-11 □ HKEY_CURRENT_USER\Software\Oracle キー
1-12 □ HKEY_USERS\...\Software\Oracle キー
環境変数削除
※環境変数をいじる前は絶対にテキストか何かにバックアップを取ること(備えあれば憂いなし)
・PATH:編集
→インベントリの下のJREのbin、および、削除対象のORACLE_HOMEのbin が、値として含まれている場合はこの値からそれらのみを削除するよう編集します。環境変数自体は削除してはいけません。
・CLASSPATH:編集
→削除をするORACLE_HOMEを含むPATHが、値として含まれている場合は、この値からそれらを削除します。CLASSPATH が Oracle製品にのみ構成されている場合は、環境変数 CLASSPATH 自体を削除することができます。
・JSERV:削除
・wv_gateway_cfg:削除
・OLAP_PATH:削除
・環境変数 TEMP で指定されるディレクトリにある OraInstall から始まるディレクトリ(例: OraInstall2018-11-45) を全て削除
スタートメニューの削除
:\Winnt\Profiles\All Users\スタートメニュー\プログラム\Oracle 関連のアイコンを削除
フォルダの削除
:\Program Files\Oracleを削除
コンピュータの再起動
してください
その後、すべての ORACLE_HOME ディレクトリ、および ORACLE 関連のディレクトリを削除して、コンピュータの管理から、ORA_DBA グループを削除してください(私の場合はこれはありませんでした)
その2:DB作成、ユーザー作成、インポート
その1でOracle10を完全に削除できていればDBは普通にインストールできます。
ユーザー作成
sqlplusでログインする
sqlplus hoge/hoge as sysdba
ユーザー作成
>SQL create user hoge identified by hoge;
権限付与→それぞれ必要な権限を選んで付与してください
>SQL grant dba to hoge;
>SQL grant unlimited tablespace to hoge;
>SQL grant create table to hoge;
>SQL grant sysdba to hoge;
>SQL grant create session to hoge;
>SQL grant exp_full_database to hoge;
インポート
imp hoge/hoge file=D:¥xxxx¥xxxxx¥xxxx¥poipoi.dmp fully=y log=D:¥xxxx¥xxxxx¥xxxx¥poipoi.txt
終わりに
作業メモなので多めに見て欲しいですが、明らかな間違えは編集リクエストお願いします!