Oracle Database 18c インストール（Windows編） 

Windows7 に **Oracle Database 18c** をインストールしたので、その手順を投稿します。
（Linux（CentOS7）へインストールする手順は「[Oracle Database 18c インストール（Linux CentOS7編）](https://qiita.com/yasushi-jp/items/19683562a7210229cbf4 "Oracle Database 18c インストール（Linux CentOS7編）")」を見てください。）

最初は最新の **Oracle Database 19c** をインストールしたのですが、リスナーの起動でエラーが発生しました。
リスナー起動時に
「プロシージャ　エントリポイント　getoverlappedresultex　がダイナミックリンクライブラリ KERNEL32.dll　から見つかりませんでした。」
のダイアログエラーが表示され、
`TNS-01191: ローカルOS認証サブシステムの初期化に失敗しました`
のエラーで起動しませんでした。
リスナーのトレースログを参照すると、
`oranipc19.dll returned error(127)`
と出ており、総合してまとめると、
「**Oracle Database 19c** はWindows7に対応していないのでは？」
との考えにいたり、[Oracle Database製品 マトリクス](https://www.oracle.com/jp/system-requirement/db-matrix-195845-ja.html) を参照したところ、Windows8.1 以降しかサポートされていないことがわかりました。
![oracle1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/0153b37f-f25e-8288-68f5-b6809e3cdd81.png)

そこで、今回はWindows7 に **Oracle Database 18c** のインストール手順を紹介します。

# ダウンロード

###### 1. [Oracleの公式ページ](https://www.oracle.com/jp/index.html)を開く。
![oracle01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/11ee5554-3777-d338-86ed-0159fbc8a960.png)

###### 2. メニューを選択し、ダウンロードをクリックする。
![oracle02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/69bfdce1-8b2a-be06-e400-ea1cf3e59db6.png)

###### 3. カテゴリ別ダウンロードから「データベース」をクリックする。
![oracle03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/ec617d5a-c67f-d3df-507d-35c9e124bfc9.png)

###### 4. 「Database 18c Enterprise/Standard Editions」をクリックする。
![oracle04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/5347f2dd-027f-acac-a192-a1c78457adb3.png)

###### 5. 「ライセンスに同意する 」をチェックする。
![oracle05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/d9fdf559-3038-e688-e11b-aec8cdad3833.png)

###### 6. 「Oracle Database 18c (18.3)」の「Microsoft Windows x64 (64-bit) 」の「ZIP」をクリックする。
![oracle06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/8813c501-cd92-5c26-edff-e177a61862c2.png)

###### 7. Oracleプロファイルへのサインインが要求されるので、「ユーザ名」、「パスワード」を入力し、サインインする。サインインすると`WINDOWS.X64_180000_db_home.zip`のダウンロードが開始される。
![oracle07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/f3b55c62-2616-14e1-ba2d-8a2f5494148f.png)

###### 8. `WINDOWS.X64_180000_db_home.zip`がダウンロードされたことを確認する。
![oracle08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/cea322ab-1b78-6298-c322-8f30c5146319.png)

# インストール

###### 1. `C:\app\oracle\product\18.0.0\dbhome_1`フォルダを作成し、その配下に`WINDOWS.X64_180000_db_home.zip`を解凍する。
![oracle09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/c72fd282-810b-f1bc-74b6-777971930820.png)

###### 2. `C:\app\oracle\product\18.0.0\dbhome_1`配下の`setup.exe`を管理者として実行し、インストーラーを起動する。
![oracle10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/17d39bdd-ebf5-81bf-4f1e-378380c671aa.png)
![oracle11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/4001f63b-9905-2174-c632-fd66ef64a2a3.png)
![oracle12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/51373bca-813b-4543-a844-8e10c1589331.png)
![oracle13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/86c3c772-925c-0a87-2d21-931772684de7.png)

###### 3. 「構成オプションの選択」で「単一インスタンス・データベースを作成および構成します。」を選択し、「次へ」をクリックする。
![oracle14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/9980af7a-6e8d-708e-1de7-f3044624eeb0.png)

###### 4. 「システム・クラスの選択」で「サーバー・クラス」を選択し、「次へ」をクリックする。
![oracle15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/7e24c666-f6ca-621f-5632-e7a72f3562ba.png)

###### 5. 「インストール・タイプの選択」で「拡張インストール」を選択し、「次へ」をクリックする。
![oracle16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/a58cfd18-be22-82ca-930e-04b8bd418d75.png)

###### 6. 「データベース・エディションの選択」で「Enterprise Edition」を選択し、「次へ」をクリックする。
![oracle18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/1281d664-2212-a347-92ca-bf3f2612f4f1.png)

###### 7. 「Oracleホーム・ユーザーの指定」で「仮想アカウントの使用」を選択し、「次へ」をクリックする。
![oracle19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/1a65a9b0-6fe1-41fb-20e2-bcc27580b3c9.png)

###### 8. 「インストール場所の指定」で「Oracleベース」に「C:\app\oracle」を選択、「ソフトウェアの場所」が「C:\app\oracle\product\18.0.0\dbhome_1」となっていることを確認し、「次へ」をクリックする。
![oracle20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/b43a19a8-dac2-dab6-7043-6c8da25f3fb7.png)

###### 9. 「構成タイプの選択」で「汎用目的/トランザクション処理」を選択し、「次へ」をクリックする。
![oracle21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/0c7fe059-e34d-b9e1-c762-dbd6aa3dca0a.png)

###### 10. 「データベース識別子の指定」で「グローバルデータベース名」、「Oracleシステム識別子(SID)」を入力（ここでは「orcl」）、「コンテナ・データベースとして作成」をチェック、「ブラガブル・データベース名」を入力（ここでは「orclpdb」）し、「次へ」をクリックする。
※「グローバルデータベース名」、「Oracleシステム識別子(SID)」がCDBのデータベース名、SIDとなり、「ブラガブル・データベース名」がpdbのデータベース名となる。
![oracle22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/ca288258-5572-5710-c297-345fd5888019.png)

###### 11. 「構成オプションの指定」の「メモリー」タブでメモリー割り当てを入力する。
（ここでは「1024M」を設定。なお、自動管理はメモリが4GBを超えていると使用できないらしい。）
![oracle23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/26501745-76b6-49bf-1111-01dee668bd81.png)

###### 12. 「構成オプションの指定」の「キャラクタ・セット」タブで「Unicode(AL32UTF8)を使用」を選択する。
![oracle24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/7cf0a2ba-f15f-f296-8901-28d791d7fe6a.png)

###### 13. 「構成オプションの指定」の「サンプル・スキーマ」タブで「データベースにサンプル・スキーマをインストール」をチェックせずに、「次へ」をクリックする。
（サンプルスキーマをインストールしたい場合はチェックする。）
![oracle25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/ed073175-578a-efd0-2b53-da4897aac9b6.png)

###### 14. 「データベース記憶域オプションの指定」で「ファイル・システム」を選択、「データベース・ファイル位置の指定」を入力（ここでは「C:\app\oracle\oradata」）し、「次へ」をクリックする。
![oracle26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/2e01b572-2e6c-f15c-5eae-0554ae404225.png)

###### 15. 「管理オプションの指定」で「Enterprise Manager(EM) Cloud Controlへの登録」をチェックせずに、「次へ」をクリックする。
![oracle27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/05c839d0-e1ba-b695-50bc-562671124110.png)

###### 16. 「リカバリ・オプションの指定」で「リカバリの有効化」をチェックせずに、「次へ」をクリックする。
（チェックすると自動リカバリが行われる。リカバリは手動で行うのでここではチェックしない。）
![oracle28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/245a9c8c-918f-fb99-1183-e40844079dfe.png)

###### 17. 「スキーマ・パスワードの指定」で「すべてのアカウントに同じパスワードを指定」を選択、「パスワード」及び「パスワードの確認」に指定したいパスワードを入力し、「次へ」をクリックする。
![oracle29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/c867e075-8f08-5d88-9394-33b4dfac5b6a.png)

###### 18. 「前提条件チェックの実行」が表示された後、「サマリー」が表示される。「サマリー」の内容を確認し、問題がなければ「インストール」をクリックする。
![oracle30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/90b45955-bcb3-b9b2-8b4b-133400353f41.png)
![oracle31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/2bb95601-d152-a87d-464d-63aa467ac6fe.png)

###### 19. インストールが開始される。
![oracle32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/a7f6d77d-5bbf-f10b-7528-e56306aea146.png)

###### 20. ファイアウォールの警告が出た場合、「アクセスを許可する」をクリックする。
![oracle33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/b15a2679-aecf-f613-f841-05881e994a09.png)

###### 21. インストールが続行される。
![oracle34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/b4cb38ec-39ef-3606-870e-cbf5afba03e8.png)
![oracle35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/6bbdabea-878d-2f96-74b5-78713fdccfa1.png)
![oracle36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/7ce85673-7be5-e363-7a90-5bc9804c6c45.png)

###### 22. 「終了」で「閉じる」をクリックする。
![oracle37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/fef2d012-3a65-0599-eaf6-06a76951d9e0.png)

###### 23. 「Windowsキー」をクリックし、`services.msc`を入力し、以下のサービスを起動していることを確認する。
・OracleServiceORCL
・OracleOraDB18Home1TNSListener
![oracle38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/e8342993-3657-b03f-c3e9-ee45ab684f26.png)


# 起動・接続確認

###### 1. Windowsのコマンドプロンプトからsqlplusを実行する。

`sqlplus / as sysdba`

```bat
C:\app\oracle>sqlplus / as sysdba

SQL*Plus: Release 18.0.0.0.0 - Production on 月 9月 16 00:07:55 2019
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle.  All rights reserved.



Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
Version 18.3.0.0.0
に接続されました。
SQL>
```


###### 2. インスタンスの状態を確認する。


`select instance_name, status from v$instance;`

```sql
SQL> select instance_name, status from v$instance;

INSTANCE_NAME                    STATUS
-------------------------------- ------------------------
orcl                             OPEN

SQL>
```


###### 3. pdbの状態（起動していること）を確認する。 

`show pdbs`

```sql
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 ORCLPDB                        READ WRITE NO
SQL>
```

###### 4. PDBの起動状態を保存する。
（CDBを再起動するとPDBが起動していない状態になるため、CDB再起動時にPDBも起動するように設定する。）

`alter pluggable database orclpdb save state;`

```sql
SQL> alter pluggable database orclpdb save state;

プラガブル・データベースが変更されました。

SQL>
```

###### 5. リスナーの状態を確認する。

`lsnrctl status`

```bat
C:\app\oracle>lsnrctl status

LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 16-9月 -2019 00:43:08

Copyright (c) 1991, 2018, Oracle.  All rights reserved.

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))に接続中
リスナーのステータス
------------------------
別名                      LISTENER
バージョン                TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Produ
ction
開始日                    15-9月 -2019 23:25:58
稼働時間                  0 日 1 時間 17 分 10 秒
トレース・レベル          off
セキュリティ              ON: Local OS Authentication
SNMP                      OFF
パラメータ・ファイル      C:\app\oracle\product\18.0.0\dbhome_1\network\admin\listener.ora
ログ・ファイル            C:\app\oracle\diag\tnslsnr\localhost\listener\alert\log.xml
リスニング・エンドポイントのサマリー...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=5500))(Security=(my_wallet_directory=C:\APP\ORACLE\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))
サービスのサマリー...
サービス"552481274f4a4092b1fd5dfe21ee0b84"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"CLRExtProc"には、1件のインスタンスがあります。
  インスタンス"CLRExtProc"、状態UNKNOWNには、このサービスに対する1件のハンドラがあります...
サービス"c29858e8a6624803940aa42f0a33b096"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orcl"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orclXDB"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
サービス"orclpdb"には、1件のインスタンスがあります。
  インスタンス"orcl"、状態READYには、このサービスに対する1件のハンドラがあります...
コマンドは正常に終了しました。

C:\app\oracle>
```

（pdbは**oraclpdb**というサービス名となっている。）

###### 6. sqldeveloperを起動する。
![oracle39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/f2803b37-bfa3-374a-333c-567e3771bcde.png)

###### 7. 新規データベースの接続を選択する。
![oracle40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/147be39d-7521-b14e-47ea-e08d8d9735aa.png)

###### 8. 接続情報を入力し、「テスト」をクリックし、接続可能なことを確認する。
Name：任意の名前
ユーザ名：system
パスワード：インストール時に設定したパスワード
パスワードの保存にチェック
ホスト名：localhost（またはホスト名）
ポート：1521
サービス名：oraclpdb
![oracle41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/2f3047fe-083f-2a3e-e7f4-30d2a7e0ef03.png)

###### 9. 「接続」をクリックする。
![oracle42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/1d2a9f68-ccf4-977b-214e-0ab6118a16ee.png)

###### 10. pdb（orclpdb）に接続できる。
![oracle43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/292434/3863733f-fe5e-b75d-5448-b7d4fe8316c7.png)

ここまで。

次回はPDB（orclpdb）へテーブルスペースやスキーマを作成することについて記述したいと思います。
[Oracle Database 18c にテーブルスペース（表領域）及びスキーマ（ユーザー）を作成](https://qiita.com/yasushi-jp/items/b7b78bc4dfb7dc321b94)


以上