Oracle19c(Windows)メモ

# 1.インストール

## 1-1.参考URL

[AI can fly !!](https://ai-can-fly.hateblo.jp/entry/oracle-database-19c-install)

## 1-2.注意事項

## 1-3.手順

1. ダウンロード。
以下のURLから「WINDOWS.X64_193000_db_home.zip」ダウンロードする。
https://www.oracle.com/database/technologies/oracle19c-windows-downloads.html

2. Oracle BaseとOracle Homeを作成する。
作成する値はこのカテゴリの最後に表として記載。（ここに埋め込んだらレイアウトが崩れたため）

3. ダウンロードしたzipファイルをOracle Homeに展開。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/187121/3384afff-6793-a8e8-7843-26e42b3fe354.png)

4. 設定ウィザード (setup.exe) の実行
  4-1. データベースは Database Configuration Assistant (DBCA) で作成するため、「ソフトウェアのみの設定」を選択します。
  4-2. クラスタ構成ではなく、「単一インスタンス・データベースのインストール」を選択します。
  4-3. 「Enterprise Edition」を選択します。
  4-4.「仮想アカウントの使用」を選択します。
  4-5. Oracle ベースを C:\app\oracle に設定します。
  4-6.インストール実行。Javaのダイアログが表示されたら、許可を選択。
5. インストール完了。

||デフォルト値|例|
|:---|:---|:---|
|Oracle Base|[DRIVE_LETTER]:\app\[Oracle Home User]|C:\app\oracle|
|Oracle Home|[Oracle Base]\product\19.3.0\dbhome_1|C:\app\oracle\product\19.3.0\dbhome_1|

## 1-4.スクリプト・バッチ・SQL

### フォルダ作成

```text
mkdir C:\app\oracle\product\19.3.0\dbhome_1
```

# 2.DB作成

## 2-1.参考URL
[AI can fly !!](https://ai-can-fly.hateblo.jp/entry/oracle-database-create)

## 2-2.注意事項
コマンドプロンプトからDBCAを起動すると、構成オプションで「DBT-50000 使用可能なメモリを確認できません」が表示された。

## 2-3.手順

1. DBCAをGUIから起動。
2. 「データベースの作成」を選択します。
3. 「拡張構成」を選択します。
4.データベースタイプは」Oracle単一インスタンス・データベース」のままで、 「カスタム・データベース」を選択します。
5. マルチ・コンテナ・データベースとしてデータベースを作成し、プラガブル・データベースも同時に作成します。
6. 「データベース記憶域属性に次を使用」を選択し、データベース・ファイルの格納場所を指定します。「Oracle Managed Files の使用 (OMF)」にもチェックを入れ、ファイルの管理を自動化しましょう。
7. 「高速リカバリ領域の指定」と「アーカイブ有効化」にチェックを入れます。
8. 「新規リスナーの作成」にチェックを付け、リスナー名に「LISTENER」とデフォルトの名前を付ける。ポート番号は「1521」のまま変更しない。
9. データベース・オプションはすべてチェックを外す。（画面サイズを変更して、見切れているのを表示させる）
10. 任意の設定で次へ。
11. 「グローバル・ポートとして EM Database Exporess ポートを構成」にチェックを付ける。

# 3.プラガブル・データベースのキャラクタセット切替

目的：UTF8とSJISのプラガブル・データベースを両方使いたい。

## 3-1.参考URL
[Oracle12.2新機能](https://docs.oracle.com/cd/E82638_01/newft/new-features.html#GUID-AE9722F7-4818-4CCB-A40E-A1143B4046FE)
12.2からPDBごとに異なるキャラクタセットをサポート。

## 3-2.注意事項
- CDBのキャラクタセットはAL32UTF8にする必要がある。
- PDBのキャラクタセットは明示的に指定できないので、プラグインまたはリモートクローンにて構成する必要がある。

## 3-3.手順

1. DBCAを使用して、SJISでDB(CDB、PDB)を作成。
2. DBCAのプラガブル・データベースの管理で、SJISで作成されたPDBを切断。
3. DBCAでSJISのデータベースを削除。
4. DBCAを使用して、UTF8のDB(CDB、PDB)を作成。
5. DBCAのプラガブル・データベースの管理で「2」で作成したSJISのPDBを作成。


## 3-4.スクリプト・バッチ・SQL

## 3-5.補足事項
DBCAのプラガブル・データベースの管理について

###「アーカイブの生成」と「ファイルセットの生成」
PDBをCDBからアンプラグ(切断）する際に、メタデータをどう管理するかの違い。

アーカイブの生成：データファイルとメタファイルを合わせて.pdb形式のファイルで保存する。
ファイル・セットの生成：データファイルと構成情報を管理するメタデータを個別に出力する。

### 「クローンとして作成」
同じPDBを複数作成したい場合にチェックする。
チェックしないと「[DBT-15024]指定したPDBバックアップの同じPDB識別氏を使用したPDB(***)がすでに存在します。」のエラーが表示される。

# 4.ODBC(32bit)のインストール

## 4-1.参考URL

## 4-2.注意事項
ODAC 11.2.0.3 以降 Oracle ODBC Driverは含まれていない。

## 4-3.Oracle Client 12.1.0.2(32-bit)のインストール

1. 以下から「winnt_12102_client32.zip」をダウンロードする。
https://www.oracle.com/jp/database/technologies/database12c-win64-downloads.html
2.msvcr100.dllがインストールされていない場合は、以下から「Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)」をダウンロードし、インストールする。
https://www.microsoft.com/ja-jp/download/details.aspx?id=5555

2. インストールタイプでカスタムを選択。
3. コンポーネントで「Oracle Net」と「Oracle ODBC Driver」を選択する。
4. インストール中に異常終了する場合は以下の手順を実施する。
  4-1. レジストリを開きます。
  4-2. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node に移動します。
  4-3. Oracle という名称でキーを作成します。
  4-4. Oracle キーに移動し、inst_loc という名称で文字列値を作成します。
  4-5. 文字列値の値のデータに C:\Program Files (x86)\Oracle\Inventory を追加します。
  4-6. 32bit製品のインストールを再度行います。

## 4-4.スクリプト・バッチ・SQL

### msvcr100.dllがインストールされているかを確認する

```text
dir \windows\syswow64\msvcr100.dll
```
# 5.接続

## 5-1.参考URL

## 5-2.注意事項

## 5-3.手順

## 5-4.スクリプト・バッチ・SQL

# 6.ユーザ作成

## 6-1.参考URL

## 6-2.注意事項

## 6-3.手順

## 6-4.スクリプト・バッチ・SQL


# 7.テーブル作成
## 7-1.参考URL

## 7-2.注意事項

## 7-3.手順

## 7-4.スクリプト・バッチ・SQL


# n.***

## n-1.参考URL

## n-2.注意事項

## n-3.手順

## n-4.スクリプト・バッチ・SQL