OCIFSユーティリティでマウントした Object Storage内のCSVファイルを SQL*Loaderでロードしてみてみた。

OCIFSユーティリティを使用して、Oracle Cloud Infrastructure Object Storageバケットをファイル・システムとしてマウントでき、標準のシェル・コマンド(ls、rm、catなど)を使用して読取り、書込みまたは変更できる通常のファイルとしてアクセスできるようになります。
ということで、SQL*Loader で Object Storageバケットに配置したCSVファイルをOracle Databaseへロードしてみてみます。

# ■ 構成イメージ
![構成図.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/620b5b2f-91ea-f039-ccb2-698e617ee8cd.jpeg)


# ■ OCIFSユーティリティのインストール
## ⚫︎ 前提条件
OCIFSは共有ファイル・システムではありません。オブジェクト・データの破損を回避するために、OCIFSを使用して同じObject Storageバケット(または重複するバケット・サブフォルダ)を複数回マウントしないでください。
また、Object Storageバケットがマウントされている間は、バケット・オブジェクト(コンソール、CLIまたはAPIなど)を直接変更しないでください。 

**・ OS要件**
Oracle Linux 8 以降で起動されたインスタンスで使用できます。

**・ OCI Object Storage 要件**
OCIFSは、既存のObject Storageバケットへのアクセスまたは接続が可能なシステムまたはOCIコンピュート・インスタンスにインストールする必要があります。


**・ ローカル・ディスク領域**
OCIFSは、オブジェクト・ストレージ・オブジェクトをキャッシュするためにローカル・ディスク領域を消費します。
キャッシュ・ディレクトリがあるストレージ・デバイスが一杯になると、OCIFS操作は失敗する可能性があります。
キャッシュ・ディレクトリが、マウントされたObject Storageバケット・パスの内容全体をホストするのに十分な空き領域があるストレージ・デバイス上にあることを確認します。
OCIFSキャッシュの詳細は、[OCIFSキャッシュ・オプション](https://docs.oracle.com/ja-jp/iaas/oracle-linux/ocifs/index.htm#ocifs-cache-options)を参照してください。

# ■ OCIFSユーティリティのインストール
## ⚫︎ OS確認
Oracle Linux 8 以降であることを確認
[root@OL8-inst ~]# cat /etc/oracle-release
	Oracle Linux Server release 8.6



## ⚫︎ ローカル・ディスク領域 
	OCIFSは、オブジェクト・ストレージ・オブジェクトをキャッシュするためにローカル・ディスク領域を消費します。
	OCIFSは、マウントされたオブジェクト・ストレージ・バケットのオブジェクトをディレクトリにキャッシュします。
	最適なパフォーマンスを得るには、高速アクセス時間のあるストレージデバイス上のキャッシュ用のローカルディレクトリを選択します。 
	また、キャッシュ・ディレクトリが、マウントされたObject Storageバケット・パスの内容全体をホストするのに十分な空き領域があるストレージ・デバイス上にあることを確認します。


# ■ oci_includedリポジトリ有効化
ocifsパッケージを含むoci_includedリポジトリを有効にします。
詳細は、[Oracle Linuxインスタンスへのソフトウェアのインストール](https://docs.oracle.com/en-us/iaas/oracle-linux/getting-started/index.htm#install-software-on-instance)を参照


## ⚫︎ oci-included 確認
Oracle Linux8 の OCI コンピュートにはデフォルトでインストールされています。
```
[root@OL8-inst ~]# dnf list --all | grep oci-included
	oci-included-release-el8.x86_64                            1.0-4.el8                                                   @ol8_oci_included
```

## ⚫︎ oci-included インストール
インストールされていない場合、Oracle Linux 8では、次のコマンドを実行してol8_oci_includedリポジトリを有効化します。
```
sudo dnf install oci-included-release-el8
sudo dnf config-manager --enable ol8_oci_included
```


# ■ OCIFSユーティリティのインストール
ocifsパッケージをインストール
```
[root@OL8-inst ~]# dnf install ocifs
	This system is receiving updates from OSMS server.
	Last metadata expiration check: 2:52:21 ago on Tue 26 Sep 2023 01:25:51 AM GMT.
	Dependencies resolved.
	======================================================================================================================================================================================
	 Package                                 Architecture                       Version                                        Repository                                            Size
	======================================================================================================================================================================================
	Installing:
	 ocifs                                   x86_64                             1.1.0-2.el8                                    ol8_oci_included-x86_64                               73 k
	Installing dependencies:
	 fuse                                    x86_64                             2.9.7-16.0.1.el8                               ol8_baseos_latest-x86_64                              83 k
	 fuse-common                             x86_64                             3.3.0-16.0.1.el8                               ol8_baseos_latest-x86_64                              22 k
	
	Transaction Summary
	======================================================================================================================================================================================
	Install  3 Packages
	
	Total download size: 179 k
	Installed size: 365 k
	Is this ok [y/N]: y
	Downloading Packages:
	(1/3): fuse-common-3.3.0-16.0.1.el8.x86_64.rpm                                                                                                        836 kB/s |  22 kB     00:00
	(2/3): fuse-2.9.7-16.0.1.el8.x86_64.rpm                                                                                                               1.0 MB/s |  83 kB     00:00
	(3/3): ocifs-1.1.0-2.el8.x86_64.rpm                                                                                                                   619 kB/s |  73 kB     00:00
	--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	Total                                                                                                                                                 1.4 MB/s | 179 kB     00:00
	Running transaction check
	Transaction check succeeded.
	Running transaction test
	Transaction test succeeded.
	Running transaction
	  Preparing        :                                                                                                                                                              1/1
	  Installing       : fuse-common-3.3.0-16.0.1.el8.x86_64                                                                                                                          1/3
	  Installing       : fuse-2.9.7-16.0.1.el8.x86_64                                                                                                                                 2/3
	  Installing       : ocifs-1.1.0-2.el8.x86_64                                                                                                                                     3/3
	  Running scriptlet: ocifs-1.1.0-2.el8.x86_64                                                                                                                                     3/3
	  Verifying        : fuse-2.9.7-16.0.1.el8.x86_64                                                                                                                                 1/3
	  Verifying        : fuse-common-3.3.0-16.0.1.el8.x86_64                                                                                                                          2/3
	  Verifying        : ocifs-1.1.0-2.el8.x86_64                                                                                                                                     3/3
	
	Installed:
	  fuse-2.9.7-16.0.1.el8.x86_64                               fuse-common-3.3.0-16.0.1.el8.x86_64                               ocifs-1.1.0-2.el8.x86_64
	
	Complete!
```

# ■ OCIFS認証設定
デフォルトでは、Object StorageバケットはAPIベースの認証を使用してマウントされます。[OCIFS認証](https://docs.oracle.com/ja-jp/iaas/oracle-linux/ocifs/index.htm#ocifs-auth)を参照してください。
APIキーベースの認証はOCIFSのデフォルトの認証方法であり、ローカルのOCI SDKおよびCLI構成ファイルが必要です。
構成ファイルを指定するには、ocifsコマンドで config=<file>オプションを使用します。デフォルトでは、構成ファイルは ~/.oci/config です。
今回デフォルトの~/.oci/configファイルを使用するように OCI CLIをインストールして設定します。

## ⚫︎ CLIのインストール
次を参考にCLIをインストールします。

https://qiita.com/shirok/items/e63be9a22158fef10ba9#-%E3%83%AB%E3%83%BC%E3%83%88%E3%83%AB%E3%83%BC%E3%83%AB%E6%9B%B4%E6%96%B0

Oracle Linux 8 へ次のようにCLIのインストール インストールします。

**1) dnfを使用してCLIをインストール**
```:コマンド
sudo dnf -y install oraclelinux-developer-release-el8
sudo dnf install python36-oci-cli
```

**・実行例**
```
[opc@OL8-inst ~]$ sudo dnf -y install oraclelinux-developer-release-el8
	This system is receiving updates from OSMS server.
	Last metadata expiration check: 2:59:48 ago on Tue 26 Sep 2023 01:25:51 AM GMT.
	Package oraclelinux-developer-release-el8-1.0-7.el8.x86_64 is already installed.
	Dependencies resolved.
	Nothing to do.
	Complete!


[opc@OL8-inst ~]$ sudo dnf install python36-oci-cli
	This system is receiving updates from OSMS server.
	Last metadata expiration check: 3:00:04 ago on Tue 26 Sep 2023 01:25:51 AM GMT.
	Dependencies resolved.
	======================================================================================================================================================================================
	 Package                                       Architecture               Version                                                      Repository                                Size
	======================================================================================================================================================================================
	Installing:
	 python36-oci-cli                              noarch                     3.23.2-1.el8                                                 ol8_addons-x86_64                         15 M
	Upgrading:
	 python36-oci-sdk                              x86_64                     2.93.1-1.el8                                                 ol8_addons-x86_64                         26 M
	Installing dependencies:
	 python3-arrow                                 noarch                     1.1.1-1.el8                                                  ol8_addons-x86_64                        119 k
	 python3-jmespath                              noarch                     0.10.0-1.el8                                                 ol8_addons-x86_64                         48 k
	 python3-prompt-toolkit                        noarch                     3.0.29-1.0.2.el8                                             ol8_addons-x86_64                        669 k
	 python3-terminaltables                        noarch                     3.1.0-1.0.1.el8                                              ol8_addons-x86_64                         31 k
	 python3-typing-extensions                     noarch                     3.7.4.2-1.el8                                                ol8_addons-x86_64                         47 k
	 python3-wcwidth                               noarch                     0.2.5-3.el8                                                  ol8_addons-x86_64                         48 k
	Installing weak dependencies:
	 python3-pygments                              noarch                     2.2.0-22.module+el8.5.0+20329+5c5719bc                       ol8_appstream-x86_64                     1.9 M
	
	Transaction Summary
	======================================================================================================================================================================================
	Install  8 Packages
	Upgrade  1 Package
	
	Total download size: 44 M
	Is this ok [y/N]: y
	Downloading Packages:
	(1/9): python3-terminaltables-3.1.0-1.0.1.el8.noarch.rpm                                                                                              370 kB/s |  31 kB     00:00
	(2/9): python3-arrow-1.1.1-1.el8.noarch.rpm                                                                                                            12 MB/s | 119 kB     00:00
	(3/9): python3-jmespath-0.10.0-1.el8.noarch.rpm                                                                                                       506 kB/s |  48 kB     00:00
	(4/9): python3-pygments-2.2.0-22.module+el8.5.0+20329+5c5719bc.noarch.rpm                                                                              14 MB/s | 1.9 MB     00:00
	(5/9): python3-wcwidth-0.2.5-3.el8.noarch.rpm                                                                                                         464 kB/s |  48 kB     00:00
	(6/9): python3-typing-extensions-3.7.4.2-1.el8.noarch.rpm                                                                                             348 kB/s |  47 kB     00:00
	(7/9): python3-prompt-toolkit-3.0.29-1.0.2.el8.noarch.rpm                                                                                             4.7 MB/s | 669 kB     00:00
	(8/9): python36-oci-cli-3.23.2-1.el8.noarch.rpm                                                                                                       117 MB/s |  15 MB     00:00
	(9/9): python36-oci-sdk-2.93.1-1.el8.x86_64.rpm                                                                                                        43 MB/s |  26 MB     00:00
	--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	Total                                                                                                                                                  53 MB/s |  44 MB     00:00
	Running transaction check
	Transaction check succeeded.
	Running transaction test
	Transaction test succeeded.
	Running transaction
	  Preparing        :                                                                                                                                                              1/1
	  Upgrading        : python36-oci-sdk-2.93.1-1.el8.x86_64                                                                                                                        1/10
	  Installing       : python3-wcwidth-0.2.5-3.el8.noarch                                                                                                                          2/10
	  Installing       : python3-typing-extensions-3.7.4.2-1.el8.noarch                                                                                                              3/10
	  Installing       : python3-arrow-1.1.1-1.el8.noarch                                                                                                                            4/10
	  Installing       : python3-jmespath-0.10.0-1.el8.noarch                                                                                                                        5/10
	  Installing       : python3-terminaltables-3.1.0-1.0.1.el8.noarch                                                                                                               6/10
	  Installing       : python3-pygments-2.2.0-22.module+el8.5.0+20329+5c5719bc.noarch                                                                                              7/10
	  Installing       : python3-prompt-toolkit-3.0.29-1.0.2.el8.noarch                                                                                                              8/10
	  Installing       : python36-oci-cli-3.23.2-1.el8.noarch                                                                                                                        9/10
	  Cleanup          : python36-oci-sdk-2.79.0-1.el8.x86_64                                                                                                                       10/10
	  Running scriptlet: python36-oci-sdk-2.79.0-1.el8.x86_64                                                                                                                       10/10
	  Verifying        : python3-pygments-2.2.0-22.module+el8.5.0+20329+5c5719bc.noarch                                                                                              1/10
	  Verifying        : python3-terminaltables-3.1.0-1.0.1.el8.noarch                                                                                                               2/10
	  Verifying        : python3-jmespath-0.10.0-1.el8.noarch                                                                                                                        3/10
	  Verifying        : python3-arrow-1.1.1-1.el8.noarch                                                                                                                            4/10
	  Verifying        : python3-typing-extensions-3.7.4.2-1.el8.noarch                                                                                                              5/10
	  Verifying        : python3-wcwidth-0.2.5-3.el8.noarch                                                                                                                          6/10
	  Verifying        : python3-prompt-toolkit-3.0.29-1.0.2.el8.noarch                                                                                                              7/10
	  Verifying        : python36-oci-cli-3.23.2-1.el8.noarch                                                                                                                        8/10
	  Verifying        : python36-oci-sdk-2.93.1-1.el8.x86_64                                                                                                                        9/10
	  Verifying        : python36-oci-sdk-2.79.0-1.el8.x86_64                                                                                                                       10/10
	
	Upgraded:
	  python36-oci-sdk-2.93.1-1.el8.x86_64
	Installed:
	  python3-arrow-1.1.1-1.el8.noarch                                       python3-jmespath-0.10.0-1.el8.noarch                  python3-prompt-toolkit-3.0.29-1.0.2.el8.noarch
	  python3-pygments-2.2.0-22.module+el8.5.0+20329+5c5719bc.noarch         python3-terminaltables-3.1.0-1.0.1.el8.noarch         python3-typing-extensions-3.7.4.2-1.el8.noarch
	  python3-wcwidth-0.2.5-3.el8.noarch                                     python36-oci-cli-3.23.2-1.el8.noarch
	
	Complete!
```

**2) OCI CLI 設定**
```
[opc@OL8-inst ~]$ oci setup config
    This command provides a walkthrough of creating a valid CLI config file.

    The following links explain where to find the information required by this
    script:

    User API Signing Key, OCID and Tenancy OCID:

        https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#Other

    Region:

        https://docs.cloud.oracle.com/Content/General/Concepts/regions.htm

    General config documentation:

        https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm


	Enter a location for your config [/home/opc/.oci/config]:
	Enter a user OCID: ocid1.user.oc1..aaaaaaaatkb2a32gjm4yyq6hrx4geayb77o6hr5kgcipyvinmej3rup6sz2a
	Enter a tenancy OCID: ocid1.tenancy.oc1..aaaaaaaa3mb7wrcy2ls3u3jsy2soq5ck3lc3q4mczitpdaymbuazc5tkguca
	Enter a region by index or name(e.g.
	1: af-johannesburg-1, 2: ap-chiyoda-1, 3: ap-chuncheon-1, 4: ap-dcc-canberra-1, 5: ap-hyderabad-1,
	6: ap-ibaraki-1, 7: ap-melbourne-1, 8: ap-mumbai-1, 9: ap-osaka-1, 10: ap-seoul-1,
	11: ap-singapore-1, 12: ap-sydney-1, 13: ap-tokyo-1, 14: ca-montreal-1, 15: ca-toronto-1,
	16: eu-amsterdam-1, 17: eu-dcc-dublin-1, 18: eu-dcc-dublin-2, 19: eu-dcc-milan-1, 20: eu-dcc-milan-2,
	21: eu-dcc-rating-1, 22: eu-dcc-rating-2, 23: eu-frankfurt-1, 24: eu-madrid-1, 25: eu-marseille-1,
	26: eu-milan-1, 27: eu-paris-1, 28: eu-stockholm-1, 29: eu-zurich-1, 30: il-jerusalem-1,
	31: me-abudhabi-1, 32: me-dcc-muscat-1, 33: me-dubai-1, 34: me-jeddah-1, 35: mx-queretaro-1,
	36: sa-santiago-1, 37: sa-saopaulo-1, 38: sa-vinhedo-1, 39: uk-cardiff-1, 40: uk-gov-cardiff-1,
	41: uk-gov-london-1, 42: uk-london-1, 43: us-ashburn-1, 44: us-chicago-1, 45: us-gov-ashburn-1,
	46: us-gov-chicago-1, 47: us-gov-phoenix-1, 48: us-langley-1, 49: us-luke-1, 50: us-phoenix-1,
	51: us-sanjose-1): ap-tokyo-1
	Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]: Y
	Enter a directory for your keys to be created [/home/opc/.oci]:
	Enter a name for your key [oci_api_key]:
	Public key written to: /home/opc/.oci/oci_api_key_public.pem
	Enter a passphrase for your private key (empty for no passphrase):
	Private key written to: /home/opc/.oci/oci_api_key.pem
	Fingerprint: a2:f5:5f:f0:16:0f:f2:78:de:90:66:80:05:af:e1:78
	Config written to /home/opc/.oci/config


		If you haven't already uploaded your API Signing public key through the
		console, follow the instructions on the page linked below in the section
		'How to upload the public key':

			https://docs.cloud.oracle.com/Content/API/Concepts/apisigningkey.htm#How2


[opc@OL8-inst ~]$ ls -l $HOME/.oci
	total 20
	-rw-------. 1 opc opc  299 Sep 26 04:38 config
	-rw-------. 1 opc opc 1704 Sep 26 04:31 oci_api_key.pem
	-rw-------. 1 opc opc  451 Sep 26 04:32 oci_api_key_public.pem
```


**3) ~/.oci/config ファイル確認**
```
[opc@OL8-inst .oci]$ cat config
	[DEFAULT]
	user=ocid1.user.oc1..aaaaaaaatkb2a32gjm4yyq6hrx4geayb77o6hr5kgcipyvinmej3rup6sz2a
	fingerprint=c5:ac:ae:a9:f8:bd:8a:ab:d3:9d:f1:4c:26:68:cb:55
	key_file=/home/opc/.oci/oci_api_key.pem
	tenancy=ocid1.tenancy.oc1..aaaaaaaa3mb7wrcy2ls3u3jsy2soq5ck3lc3q4mczitpdaymbuazc5tkguca
	region=ap-tokyo-1
```

**4) CLI設定確認**
```
[opc@OL8-inst .oci]$ oci iam region list --output table
	+-----+-------------------+
	| key | name              |
	+-----+-------------------+
	| AMS | eu-amsterdam-1    |
	| ARN | eu-stockholm-1    |
	| AUH | me-abudhabi-1     |
	| BOM | ap-mumbai-1       |
	| CDG | eu-paris-1        |
	| CWL | uk-cardiff-1      |
	| DXB | me-dubai-1        |
	| FRA | eu-frankfurt-1    |
	| GRU | sa-saopaulo-1     |
	| HYD | ap-hyderabad-1    |
	| IAD | us-ashburn-1      |
	| ICN | ap-seoul-1        |
	| JED | me-jeddah-1       |
	| JNB | af-johannesburg-1 |
	| KIX | ap-osaka-1        |
	| LHR | uk-london-1       |
	| LIN | eu-milan-1        |
	| MAD | eu-madrid-1       |
	| MEL | ap-melbourne-1    |
	| MRS | eu-marseille-1    |
	| MTY | mx-monterrey-1    |
	| MTZ | il-jerusalem-1    |
	| NRT | ap-tokyo-1        |
	| ORD | us-chicago-1      |
	| PHX | us-phoenix-1      |
	| QRO | mx-queretaro-1    |
	| SCL | sa-santiago-1     |
	| SIN | ap-singapore-1    |
	| SJC | us-sanjose-1      |
	| SYD | ap-sydney-1       |
	| VCP | sa-vinhedo-1      |
	| YNY | ap-chuncheon-1    |
	| YUL | ca-montreal-1     |
	| YYZ | ca-toronto-1      |
	| ZRH | eu-zurich-1       |
	+-----+-------------------+
```

**5) Object Sotrage バケット・アクセス確認**
事前に Object Sotrage へ 作成した バケット bucketを 確認
```
[opc@OL8-inst ~]$ oci os bucket get --bucket-name bucket --query 'data."name"'
"bucket"
```

# ■ Object Storage へCSVファイルをアップロード
**1) アップロード**
```
[oracle@db-tokyo1 ~]$ oci os object put -ns orasejapan -bn bucket --file  /home/oracle/file1.txt
{
  "etag": "dcd6d7da-3b65-4b7c-90ff-03cfbeab1c48",
  "last-modified": "Tue, 03 Oct 2023 02:48:29 GMT",
  "opc-content-md5": "v/rkBNE0hKF5r71pFlc8cw=="
}

**2) アップロード確認**
[oracle@db-tokyo1 ~]$ oci os object list -ns orasejapan -bn bucket
{
  "data": [
    {
      "archival-state": null,
      "etag": "dcd6d7da-3b65-4b7c-90ff-03cfbeab1c48",
      "md5": "v/rkBNE0hKF5r71pFlc8cw==",
      "name": "file1.txt",
      "size": 12,
      "storage-tier": "Standard",
      "time-created": "2023-10-03T02:48:29.364000+00:00",
      "time-modified": "2023-10-03T02:48:29.364000+00:00"
    }
  ],
  "prefixes": []
}
```


# ■ OCIFSを使用したマウント
OCIFSでは、ファイル・システムとして使用するオブジェクト・ストレージ・バケットをマウントでき、マウントされたバケット内のオブジェクトを通常のディレクトリおよびファイルとして管理できます。
マウントするObject Storageバケットをバケット・パスで指定できます。

## ⚫︎ オブジェクト・ストレージ・バケットのマウント
**1) マウント・ディレクトリ作成**
```
[opc@OL8-inst ~]$ mkdir ocifs_dir
```

**2) マウント**
```
[opc@OL8-inst ~]$ ocifs bucket ocifs_dir
```
**3) マウント確認**
マウントしたディレクトリにオブジェクト・ストレージ・バケットのファイルがあることを確認
```
[opc@OL8-inst ~]$ ls -l ocifs_dir/
	total 0
	-rw-r--r--. 1 opc opc 12 Sep 26 04:56 file1.csv
```

**4) ファイル・アクセス確認**
```
[opc@OL8-inst ~]$ cat ocifs_dir/file1.csv
	X,Y
	1,2
	4,5
```

## ⚫︎ オブジェクト・ストレージ・バケットのアンマウント
**1) アンマウント**
```
[opc@OL8-inst ~]$ fusermount -u ocifs_dir
```

**2) アンマウント確認**
マウントしたディレクトリにオブジェクト・ストレージ・バケットのファイルがあることを確認
```
[opc@OL8-inst ~]$ ls -l ocifs_dir/
	total 0
```

# ■ SQL*Loder実行
**1) Load する Table作成**
```
[opc@OL8-inst ~]$ sqlplus system/<Password>@PDB

	SQL*Plus: Release 21.0.0.0.0 - Production on Tue Sep 26 05:07:12 2023
	Version 21.11.0.0.0

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

	Last Successful login time: Tue Sep 26 2023 05:03:39 +00:00

	Connected to:
	Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
	Version 19.17.0.0.0

SQL> 
SQL> create table TEST_TABLE(X NUMBER(5),Y VARCHAR2(40));

	Table created.
```


**2) Load テスト・データ作成**
```
[opc@OL8-inst ~]$ cat /home/opc/ocifs_dir/file1.csv
	X,Y
	1,2
	4,5
```


**3) SQL*Lodar 制御ファイル作成**
```
[opc@OL8-inst ~]$ vi /home/opc/test.ctl
[opc@OL8-inst ~]$ cat /home/opc/test.ctl
	load data
	infile '/home/opc/ocifs_dir/file1.csv'
	into table TEST_TABLE
	fields terminated by ',' optionally enclosed by '"'
	(X ,Y)
```


**4) SQL*Lodar ロード実行**
```
[opc@OL8-inst ~]$ sqlldr system/<Password>@PDB /home/opc/test.ctl

			SQL*Loader: Release 21.0.0.0.0 - Production on Tue Sep 26 05:25:03 2023
			Version 21.11.0.0.0
			
			Copyright (c) 1982, 2023, Oracle and/or its affiliates.  All rights reserved.
			
			Path used:      Conventional
			Commit point reached - logical record count 3
			
			Table TEST_TABLE:
			  2 Rows successfully loaded.
			
			Check the log file:
			  test.log
			for more information about the load.
```

**5) ロード確認**
```
[opc@OL8-inst ~]$  sqlplus system/<Password>@PDB

	SQL*Plus: Release 21.0.0.0.0 - Production on Tue Sep 26 05:25:13 2023
	Version 21.11.0.0.0

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

	Last Successful login time: Tue Sep 26 2023 05:25:03 +00:00

	Connected to:
	Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
	Version 19.17.0.0.0

SQL> select * from TEST_TABLE;

		X Y
	---------- ----------------------------------------
		1 2
		4 5
```


# ■ OCI Object Storageバケットのアンマウント
**1) アンマウント**
```
[opc@OL8-inst ~]$ fusermount -u ocifs_dir
```
**2) アンマウント確認**
マウントしたディレクトリにオブジェクト・ストレージ・バケットのファイルがあることを確認
```
[opc@OL8-inst ~]$ ls -l ocifs_dir/
	total 0
```

# ■ 参考
　・[OCIFSユーティリティ](https://docs.oracle.com/ja-jp/iaas/oracle-linux/ocifs/index.htm)
　・[OCIFSユーティリティを使用した、通常のファイルシステムとしてのOCI GoldenGateデプロイメント・バックアップへのアクセス](https://blogs.oracle.com/oracle4engineer/post/ja-access-oci-gg-deployment-backup-as-regular-fs-using-ocifs-utility)