LoginSignup
1
1

Oracle File System (OFS)構築について

Posted at

はじめに

Oracle Database には 表領域を利用してファイルシステムを構成し、OS上にマウントして使用する Oracle File System (OFS)があります。Database をファイル・ストアとして使用するケースとして代表的なものがDBFSですが、Oracle Clientがインストールされていないノードからアクセスする必要がある場合、OFSを使用してファイル・システムをNFSマウントする事が可能です。
https://docs.oracle.com/cd/F39414_01/adlob/dbfs_access_using_ofs.html#GUID-034FC394-AE15-4D16-8AA0-45CC0A70CACC

DBMS_FSパッケージの概要

DBMS_FS パッケージは Database File System (DBFS)を利用したファイルシステムの作成・マウント・アンマウントや破棄など基本的な操作を行う事ができるプロシージャで構成されています。19c以降では、PDBでも利用可能でPDBごとに最大5までのファイルシステムがサポートされます。
ofs_01.png
参考にしたサイトURL
https://docs.oracle.com/cd/F19136_01/arpls/DBMS_FS.html#GUID-F42D42FE-B1B6-4A5F-8DC3-BBDA98CC09F9

OFS 環境構築手順

1) FUSEのインストール

[root@ofstest05 ~]# yum install fuse

OSの再起動

2) 表領域の作成

CREATE TABLESPACE "OFS" DATAFILE SIZE 209715200
LOGGING ONLINE PERMANENT BLOCKSIZE 8192
EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;

ofs_02.png

3) DBMS_FS によるファイルシステム作成とマウント

SQL> exec dbms_fs.make_oracle_fs(fstype=>'ofs',fsname=>'ofs_fs',fsoptions=>'TABLESPACE=OFS')
PL/SQLプロシージャが正常に完了しました。
SQL> exec dbms_fs.mount_oracle_fs(fstype=>'ofs',fsname=>'ofs_fs',mount_point=>'/ofs/data',mount_options=>'default_permissions, allow_other, persist');
PL/SQLプロシージャが正常に完了しました。

dfによる確認で、/ofs/data がOS上のマウント位置で確認できる

[root@ofstest05 ~]# df -hT
ファイルシス                 タイプ   サイズ  使用  残り 使用% マウント位置
devtmpfs                     devtmpfs    32G     0   32G    0% /dev
tmpfs                        tmpfs       32G     0   32G    0% /dev/shm
tmpfs                        tmpfs       32G   11M   32G    1% /run
tmpfs                        tmpfs       32G     0   32G    0% /sys/fs/cgroup
/dev/mapper/ol_ofstest05-root xfs       1000G   72G  929G    8% /
/dev/sda1                    xfs       1014M  228M  787M   23% /boot
/dev/mapper/ol_ofstest05-home xfs         84G  8.2G   76G   10% /home
tmpfs                        tmpfs      6.3G     0  6.3G    0% /run/user/54321
tmpfs                        tmpfs      6.3G   12K  6.3G    1% /run/user/42
/dev/fuse                    fuse        32G     0   32G    0% /ofs/data
tmpfs                        tmpfs      6.3G     0  6.3G    0% /run/user/0

[参考] OFSについての情報の収集は以下で可能
select * from v$ofs_stats;
select * from V$OFSMOUNT;

最後に

現状のOracle Database は Multitenant Architectureを全面に出し、Converge Database として様々なデータタイプ、ワークロードを一元管理する方向での実装も進めています。コンテンツとトランザクション、あるいは他のサービスとの連携において一貫性を保持したい場合はDBFSの方が良いのかも知れませんが、OFSは手順も簡素でリレーショナルのデータとファイルシステム上のコンテンツが緩い一貫性のもとで保ちやすいものであると言えると思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1