Oracle Database 12c Standard Edtion 2 のWindowsへのインストールからデータベース作成まで

タイトル通り。
Windows10にOracle Database 12c Standard Edtion 2をインストールして、データベース作成まで行う手順になります。

本番環境にインストールする時、気を付けることも含みつつ書いていきます。

# Oracle Database 12c Standard Edtion 2のインストール

## インストーラーのダウンロード

Oracleのサイトからインストーラーをダウンロードします。

[Oracle Database ソフトウェア・ダウンロード](https://www.oracle.com/technetwork/jp/database/enterprise-edition/downloads/index.html)

ライセンスに同意するにチェックしダウンロードリンクをクリックします。
※ダウンロードするにはOracleアカウント（無料）が必要です。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/f23209bc-8e3f-dda6-4a0e-ddf2ba2885ac.png)

大きなファイルなのでダウンロードは時間かかります。
ダウンロードできたらZIP形式なので展開します。

## インストール

展開したフォルダの「setup.exe」を実行。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/ef8276db-259a-f91b-e00b-ddaf07d2f1ec.png)

DOS窓が立ち上がるのでしばらく待つとインストーラーが立ち上がります。

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/55ff3d41-e27e-78a5-707d-64f8ef713865.png)

### セキュリティ・アップデートの構成

セキュリティ通知を受け取るかどうかとメールアドレスの設定を行う画面です。

特に必要ないのでチェックを外してそのまま「次へ」を押します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/f93fca3b-58b7-3760-79eb-d60deea82c52.png)

警告がでますが、無視して「はい」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/116679ee-b750-8623-8694-42e858fc8479.png)

### インストール・オプションの選択

#### データベースの作成および構成

Oracleデータベースソフトウェアとデータベースの構成を一度に行うモード

#### データベース・ソフトウェアのみ

Oracleデータベースソフトウェアのみインストールするモード

#### 既存のデータベースをアップグレード

すでに存在する下位バージョンのOracleデータベースをアップグレードするモード

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/21801d02-594a-c3b9-7072-d960f15138d3.png)

後でデータベースの細かい設定をしたいので、「データベース・ソフトウェアのみ」を選択します。

### データベース・インストール・オプションの選択

「単一インスタンス・データベースのインストール」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/a7f1154c-db91-4a30-373e-7a8a1bc9da6d.png)

### データベース・エディションの選択

「Standard Edition 2」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/8480a234-8c6e-0b32-e0f3-0f6f49429ecb.png)

### Oracleホーム・ユーザーの指定

Oracleホームディレクトリの所有ユーザーを設定します。
セキュリティ的に設定しといた方がいいらしい。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/5c31dd9b-1028-563d-47b5-0fd97fbd2501.png)

今回は「Windows組込みアカウントを使用」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/591f97e8-8916-f526-5591-ca2f907089b7.png)

警告出るけど無視。

### インストール場所の指定

特にこだわりがなければこのままで。
一番速度と容量があるドライブを選ぶようになってるらしい。

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/1e3da5a2-5975-2827-2f6d-00f6cf1d74fe.png)

### 前提条件のチェック

インストール環境がOracle Databaseの動作条件を満たしているかどうかチェックしています。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/40c1ba2d-8b58-9d8e-22e9-00dda75b124b.png)

### サマリー

インストール内容が表示されます。
レスポンスファイルを保存しておくと同じ構成でサイレントインストールを行うことができます。
同一構成を別環境に組む時などに利用しましょう。

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/44e9312f-7baf-0ac9-0347-d08d4b0f1171.png)

あとは「インストール」を押せばインストールが走ります。

### インストール

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/ac36b2ca-8127-a674-cfe4-b3f1fd7be85c.png)

待ちます。

### 終了

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/0ed581ff-3d68-07a4-d651-0039790c8b69.png)

これでOracleデータベースソフトウェアのインストールが完了しました。

# データベースの作成

まだ、Oracleデータベースソフトウェアのインストールが終わっただけでデータベースは作成されていません。
ここからデータベースを作っていきます。

## リスナーの作成

先にリスナーを作っておきます。
クライアントとデータベースのセッションの橋渡しをするサービスです。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/ec36813a-912f-81a2-a969-e539b0944b1c.png)

スタートメニューから「Net Configuration Assistant（NETCA）」を探して起動します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/1658d99f-f0cf-8be3-5e83-45d66955699d.png)

「リスナー構成」を選んで「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/8451aa26-286c-b88a-3207-f14ba47e9869.png)

「追加」を選んで「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/7608d748-1d5d-9de8-494f-bf618a327c53.png)

そのまま「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/00a962cd-fc8d-54ee-741a-5b569d60f1a5.png)

そのまま「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/d6b619a1-ee19-a9fc-40a2-a49f2e9be5e2.png)

そのまま「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/321113bd-c114-9246-d5b5-1a0d55a7a48f.png)

「いいえ」を選んで「次へ」。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/535b5246-c68e-15a0-dd73-1aea7e07f8ef.png)

「次へ」を選んで終了。

## データベースの作成

データベースを作りましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/a0e4d1ec-0939-347e-50e1-6c884e7f2733.png)

スタートメニューから「Database Configuration Assistant（DBCA）」を探して起動します。

### データベース操作の選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/947ee99b-2a8e-052a-cbec-4e9cc2894595.png)

「データベースの作成」を選んで「次へ」。

### データベース作成モードの選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/4828ca40-36ba-f689-9967-eab3ac94ea5d.png)

細かく設定を行いたいので、「拡張構成」を選んで「次へ」。

### データベース・デプロイメント・タイプの選択

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/0bd12277-0515-5edd-78be-9bfe6e09d8a2.png)

「汎用またはトランザクション処理」を選んで「次へ」。

### データベースIDの詳細の指定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/ce901ff0-786e-d555-6f01-c81802fba74c.png)

必要に応じて「グローバル・データベース名」、「SID]を変更できます。
今回はそのまま。

Standard EditionだとPDBを2つ以上作れないし、SYSユーザーが割れて管理が複雑になるので、コンテナ・データベースとしては作成しません。

### データベース記憶域オプションの選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/047a73be-2fdc-71a9-9af5-7f8412888c28.png)

「データベース記憶域属性に次を使用」を選んで「次へ」進みます。

### 高速リカバリ・オプションの選択

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/fd27634b-6add-1a0f-7990-4108c6210d97.png)

高速リカバリ領域を指定すると、
Oracle DBがバックアップに使用するファイル群を高速リカバリ領域に指定したフォルダにまとめてくれるようになります。

高速リカバリ領域はサイズ制限が決まっており、これを超えると「ORA-19809: リカバリ・ファイルの制限を超えています」エラーがでるので、必要に応じてサイズを調整するようにしましょう。
※データベース作成後にALTER SYSTEMでも変更可能です。

開発環境の想定なのでアーカイブログモードは有効にしません。
本番ではもちろん有効にしましょう。

### ネットワーク構成詳細の指定

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/4aaa4326-5d8f-e21f-2871-a391b6e5cbad.png)

先ほど作成したリスナーが選択されています。
そのまま「次へ」。

### 構成オプションの指定

#### メモリー

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/62e232fb-936d-adb0-cacb-2fdcd536fba7.png)

自動共有メモリー管理を使用します。
メモリの割り当てサイズはお好みで、専用サーバーなら8割ぐらいが妥当と聞きます。
少なすぎるとデータベース作成できません。

#### サイズ設定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/d152ea14-e745-2edf-40a3-e9b04645ece5.png)

Oracleに接続できるプロセスの数を設定できます。
システム要件に合わせて設定します。

#### キャラクタ・セット

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/aa08b643-ec2e-7dbc-668b-ec6449c19dd2.png)

データベースキャラクターセットを設定します。
Oracleが文字データを格納するときの文字コードを決めます。
UTF-8かShift_JISにするのが一般的かと。

外国語を保存する必要があったり、Webアプリに使うならUTF-8にしておいた方がいいと思います。

#### 接続モード

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/7a0d6ff4-9bfb-be4b-98ee-39a8aff29933.png)

クライアントへのデータベースサーバーリソースの割り当てかたを設定します。
ここでは「専用サーバー・モード」を選択します。
よほどリソースに余裕がないとき以外は「専用サーバー・モード」一択だと思います。

#### サンプル・スキーマ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/3a3f08f2-d818-a6c4-e185-5a404ed1c18e.png)

いらんと思いますが、必要ならチェックしましょう。

### 管理オプションの指定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/60547a5e-c0dd-f970-a661-12e5ba321f54.png)

Webブラウザで見れるOracle管理ツール「EM Express」の構成とポートを設定します。
結構便利なので構成しておきましょう。
flashがないと見れないので、閉鎖環境だとどのみち使えないんですがね…

### データベース・ユーザー資格証明の指定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/aee9719a-a5de-273e-4208-a593ec5f265d.png)

Oracleの管理ユーザー（SYS、SYSTEM）のパスワードを設定します。
ポリシーに従って設定してください。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/5e4280c1-7233-076c-0682-91ae62791b24.png)

簡易なパスワードだと怒られますが突き進めます。

### データベース作成オプションの指定

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/8e9ac5e8-3e15-939b-4f4f-dc3b438cf7fc.png)

ここでテンプレートやスクリプトを作成しておくと、同じ手順・構成で再度データベースを作成できます。
特に不要なので今回は何も設定しません。

#### すべての初期化パラメータ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/8557fc1a-bcce-e66a-f1cb-bc05b704b91f.png)

初期化パラメータの設定ができます。
「拡張パラメータの表示」にチェックを入れないとすべて出てきてくれません。

このときにしか設定できないパラメータもあるので、システム要件に合わせて正しく設定するようにしてください。

ここでは、「temp_undo_enabled」を「TRUE」にしています。
「spfileに含める」をチェックしないと、データベース再起動時に元に戻ってしまうため必ずチェックするようにしましょう。

#### 記憶域の場所のカスタマイズ

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/4e08dd68-600c-abae-c748-0cba21246674.png)

制御ファイルやREDOログの出力場所の指定や多重化の設定ができます。
REDOファイルは必ず多重化するようにしましょう。

REDOログのファイル・サイズはトランザクション数に応じて適切なサイズを設定しましょう。
あんまり小さいとログスイッチが頻繁に起きて、性能悪化につながります。

### サマリー

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/d1a56779-3ba9-0309-72c6-4920bf2946c0.png)

いよいよデータベースを作成します。
問題なければ「終了」を押しましょう。
この段階なら戻って設定を見直すこともできます。

### 進行状況ページ

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/1169bdd1-18e4-d13b-0434-a9e378e54e4a.png)

気長に待ちましょう。

### 終了

![キャプチャ.PNG](https://qiita-image-store.s3.amazonaws.com/0/96507/1dbfbbd3-345c-23d0-4f27-560adc845155.png)

お疲れ様でした。
データベース作成完了です。

## 接続確認

それでは接続できるか確認してみましょう。

```
>sqlplus sys/password@localhost/orcl as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on 月 4月 8 16:35:27 2019

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



Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
に接続されました。
SQL> select 'Hello Oracle!' from dual;

'HELLOORACLE!'
--------------------------
Hello Oracle!

SQL> exit
Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Productionとの接続が切断されました。
```

接続できましたね。

# その他の設定

その他やっといた方がいい設定を書いておきます。

## Oracleサービス終了時にSHUTDOWN IMMEDIATEがかかるようにしておく

デフォルトだとOS再起動やWindowsサービスを停止した時にSHUTDOWN ABORT（強制終了）でOracleを終了させてしまいます。

強制終了すると下手すればデータベースが壊れるのでデータベースを停止するときは、SHUTDOWN IMMEDIATEで終了させるのが基本です。

とはいえ、オペミスやOSが強制的に再起動かかることだってあります。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/2c7700e2-fae6-0031-8422-9caac7631235.png)

「Administration Assistant」を使ってOracleサービス終了時にSHUTDOWN IMMEDIATEがかかるようにしておきましょう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/0de4db9f-7339-e916-ea3e-0c544521d340.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/96507/61c2f644-e738-f035-cc4c-abd4d4770d80.png)

「サービス停止時にインスタンスを停止」にチェックを入れ、「停止モード」は「即時停止」にしておきましょう。

これでサービス停止時に安全にOracleを終了させてくれるので安心です。

---

Oracleデータベース構築の一例として役立てて頂ければと思います。