前回、テーブルを作ったりしたんですが、Oracle Database 12c(12.1.0.2.0)がJava 8に対応してないっぽいようなので、アンインストールして、Java 8 対応版をインストールしていきたいと思います。
ちなみに、Oracle Database 12c(12.1.0.2.0)のJDBCドライバは、インストールした場所にもよりますが、『C:¥app¥oracle12c¥product¥12.1.0¥dbhome_1¥jdbc¥lib』の中にあるもののようです。
⇧ Java 8 に対応するには、「ojdbc8.jar」が必要みたいです。ないっす。
⇧ 上記サイト様を参考に、アンインストールしていきたいと思います。
Oracle関連のサービスを停止
⇧ 事前準備として、Windowsのサービスとして起動してるOracle関連のものを停止しておくようです。
キーボードの Windows ボタンと「R」キーを同時に押して「ファイル名を指定して実行」を起動します。 「services.msc」と入力して「OK」をクリックします。
「Oracle」で始まるサービスを右クリックして「停止」をクリックします。
Universal Installerを起動
『C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Oracle - OraDB12Home1\Oracle Installation Products』にあるらしいですが、スタートメニューの検索で、「Univer」ぐらいまで入力すれば出てくるので選択。
「製品のアンインストール(D)..」をクリック。
アンインストールしたい項目にチェックを入れると、
「削除(R)...」ボタンがクリックできるようになるので、クリックします。
アンインストールの手順が示されます。「OK」をクリック。
とりあえず、「Universal Installer」は閉じて大丈夫です。
アンインストールのためのバッチファイルを実行
さきほど、表示されたパスにあるバッチファイルを実行します。『deinstall.bat』ファイルを選択した状態で右クリックし、「管理者として実行(A)」。
LISTENER と入力して Enter。
何も入力しないで Enter。しばらく時間がかかります。
yと入力して Enter 。
1と入力して Enter 。
以降、何も入力せずEnter。
yと入力して Enter 。
処理が終わると、コマンドプロンプトが自動で閉じるので、パソコンを再起動します。
アンインストールしても残ってしまうフォルダを削除
Oracle DatabaseをCドライブにインストールしている場合、
- 「C:¥app」
- 「C:¥Program Files¥Oracle」
のフォルダが残ってしまうので、削除します。
レジストリファイルからOracle関連を削除
Windowsの場合、レジストリファイルに情報が残ってしまっているので、そのあたりも削除する必要があるようです。
削除するフォルダは、
の2つでいけるようです。と思いきや、
⇧ 上記サイト様の情報によると、
(1)削除する権限のあるユーザーでログイン
(2)Oracle関連のサービスの停止
(3)「Oracle Universal Installer」でコンポーネントを全て削除
(4)「regedit.exe」を起動して以下をレジストリから削除
HKEY_CLASSES_ROOT
Oracle,Oraで始まるものを削除
HKEY_CURRENT_USER\Software
ORACLEを削除
HKEY_LOCAL_MACHINE\SOFTWARE
ORACLEを削除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service
Oracleで始まるものを削除
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service\Eventlog\Application
Oracleで始まるものを削除
(5)Oracle関連のPathを削除
(6)「\\Program Files\Oracle」「\\Oracle」のフォルダを削除
結構、やることが多いです。
キーボードの Windows ボタンと「R」キーを同時に押して「ファイル名を指定して実行」を起動します。 「regedit」と入力して「OK」をクリックします。
HKEY_CLASSES_ROOT
→Oracle、Oraで始まるフォルダをすべて削除
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Service
HKEY_LOCAL_MACHINE¥SYSTEM¥CurrentControlSet¥Service¥Eventlog¥Application
は該当するものがありませんでした。
HKEY_CURRENT_USER¥Software¥Oracle
→Oracleを削除
HKEY_LOCAL_MACHINE¥SOFTWARE¥Oracle
→Oracleを削除
削除できたら、レジストリファイルを閉じます。
Windowsの環境変数からOracle関連のpathも削除
続いて、Windowsの環境変数でOracle関連のものを削除。
Windowsアップデートのせいで、環境変数の開き方が変わったっぽいですね。
⇧ こちらのサイト様が詳しいです。
キーボードの Windows ボタンと「R」キーを同時に押して「ファイル名を指定して実行」を起動します。 「control」と入力して「OK」をクリックします。
『コントロール パネル』が開くので、「システムとセキュリティ」を選択。
「システム」を選択。
「システムの詳細設定」を選択。
「環境変数(N)...」を選択。
「システム環境変数(S)」の中の「Path」を選択し、「編集(I)...」をクリック。
Oracle Database関連のパスは無い感じでした。「OK」。
パソコンを再起動します。
Oracle Database 12c Release 2 (12.2.0.1)をインストール
新しくOracle Database 12c Release 2 (12.2.0.1)をインストールしていきたいと思います。
http://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html
にアクセスします。
「ライセンスに同意する」にチェックをします。
「Microsoft Windows x64(64bit)」の「See All」を選択します。
ページ遷移したらば、
「Accept License Agreement」にチェックします。
「winx64 12201 database.zip」をクリックします。
サインインしてないと、サインインを求められます。サインインしときます。
zipファイルがダウンロードされたら、適当な場所に展開しておきます。
場所はどこでも大丈夫かと。
展開中。
展開できたら、その中の「setUp.exe」を「管理者として実行(A)」します。
Oracle Universal Installer が起動して、
インストーラーが起動します。「セキュリティ・アップデートをMy Oracle Support経由で受け取ります(W)。」のチェックを外し、「次へ(N)>」。
「はい(Y)」を選択。
「データベースの作成および構成(C)」を選択。 「次へ(N)」をクリック。
「サーバー・クラス(S)」を選択。「次へ(N)」をクリック。
「単一インスタンス・データベースのインストール(S)」を選択。「次へ(N)」をクリック。
今回は、前回インストールしたときのWindows標準ユーザーを利用するので、「既存のWindowsユーザーの使用(X)」を選択。(新しくWundowsユーザーを作成して利用する場合は、「新規Windowsユーザーの作成(C)」を選択で。)
「次へ(N)」をクリック。
パスワードなどを入力し、「次へ(N)」をクリック。
「インストール」をクリック。
インストールが始まります。
しばらく時間がかかりますが、
インストールが完了しました。
接続できるか確認します。
sqlplus / AS SYSDBA
『Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production』に接続されましたとなっているので、インストールできたかと。
『C:¥app¥product¥12.2.0¥dbhome_1¥jdbc¥lib』にあるJDBCドライバが、「ojdbc8.jar」になってますね!
というか...他のバージョンが根こそぎ無くなってますが。
とりあえず、バージョンを変えて、仕切り直しができたということで。なかなかテーブルへの接続に進めませんが、今回はこのへんで。
番外編:Windows標準ユーザーのパスワードを忘れて
Oracle Database 12cを単一インスタンスとしてインストールする際に、Windowsの標準ユーザーを推奨してるようなのですが、
前回、インストールした際に、Windows標準ユーザーのアカウントが作られていて、
⇧ そのアカウントを指定しようとして、パスワードが何回試してみても通らず(涙)
あんまり宜しくはないですが、致し方ないので、コマンドプロンプトを管理者権限で起動し、
net user [アカウント名] [パスワード]
で変更できるようです。ただし、Administratorとかの権限のアカウントのパスワード変更は別の方法じゃないと無理そうです。
「net user」でアカウントの一覧の確認ができるみたいですね。
net user