Comparison of
ACFS and DBFS
Value Transformation Services
Daniel Hillinger
Database Administrator
Daniel Hillinger
Value Transformation Services
1
Index Exadata Backup Clone
Solaris Performance Tuning Patching TAF
DBA Grid Infrastructur ONS Database Vault
Redhat NFS Partitioning ClusterwareClient Linux
ZFS RACFAN Security Dataguard ACFS
Disaster Recovery ASM Replication
High Availability Restore DBFS
Agenda
• Architectural Overview
• Presentation to the Client
• Presentation to the Server/DB
• High Availability and Disaster Recovery
• Extended Architecture
• Setup / Installation
• Tests
• Use cases
• Perspective 12c
Value Transformation Services
2
Architectural Overview - ACFS
Value Transformation Services
3
Client
Server
NFS
ASM
DB
ADVM
ACFS
NFS Server
Storage/
Disks
Architectural Overview - DBFS
Value Transformation Services
4
ClientServer
SQL Net
ASM
DB
Storage/
Disks
Oracle
Client
DBFS
FUSE
Presentation to the Client - ACFS
• Standard NFS mount
$ mount
<IP>:/acfs on /acfs type nfs
(rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,nfsvers
=3,timeo=600,addr=<IP>)
$ df –hTt nfs
<IP>:/acfs nfs 170G 16G 154G 10% /acfs
Value Transformation Services
5
Presentation to the Client - DBFS
• DBFS is based on FUSE (Filesystem in USErspace)
• Oracle Client required
$ mount
dbfs-@DBFS_DBFS:/ on /dbfs type fuse
(rw,nosuid,nodev,max_read=1048576,default_permissions,allow_othe
r)
$ df -hTt fuse
dbfs-@DBFS_DBFS:/ fuse 4.5G 313M 4.2G 7% /dbfs
Restrictions:
ioctl, locking, asynchronous I/O, O_DIRECT file opens,
hard links, pipes, and other special file modes
Value Transformation Services
6
Oracle Client
Value Transformation Services
7
FUSE
Filesystem in UserSpace
• Usable by non privileged users
• Availible on Linux and Solaris 11
Value Transformation Services
8
userspace
kernel
ls /my_file
glibc
VFS
FUSE
NFS, EXT3, …
glibc
libfuse
my_script
Presentation to the Server - ACFS
ASM Dynamic Volume Manager (ADVM)
provides a block device in /dev/asm
Mounted as standard Linux filesystem
$ df –hTt acfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/asm/lv_acfs-46 acfs 170G 16G 154G 10% /acfs
$ lsmod
oracleacfs 2001119 3
oracleadvm 250040 7
oracleoks 427736 2 oracleacfs,oracleadvm
Value Transformation Services
9
Presentation to the DB - ACFS
Can be accessed with
• External Tables
• UTL_FILE
• Datapump
• …
Value Transformation Services
10
Presentation to the Server / DB - DBFS
Server:
Not visible for the server
But could be configured as client
DB:
Access via SQL
SELECT UTL_RAW.cast_to_varchar2(filedata) AS filedata
FROM dbfs_content
WHERE path = '/dbfs/test1';
Value Transformation Services
11
High Availability and Disaster Recovery
High Availability(HA):
automated solution in order to conceal the failure of a
component
Disaster Recovery(DR):
steps to restore a minimum operation after a major
failure, usually manually
Value Transformation Services
12
High Availability and Desaster Recovery
ACFS DBFS
High Availability
without interruption None RAC
with interruption Failover NFS Server Failover DB
Desaster Recovery
without dataloss None Dataguard
with dataloss ACFS Replication/Rsync Rsync
Backup Filesystem RMAN/Filesystem
Value Transformation Services
13
Extended Architecture - ACFS
Value Transformation Services
14
Client
Server1
NFS
ASM
DB
Storage/Disks Storage/Disks
ACFS
Rep.
ADVM
ACFS
Server2
ASM
DB
ADVM
ACFS
Server3
ASM
DB
ADVM
ACFS
NFSNFS
Extended Architecture - DBFS
Value Transformation Services
15
Client
Server1
SQL Net
ASM
DB_1
Storage/Disks
Oracle
Client
DBFS
Server2
ASM
DB_2
DBFS
Storage/Disks
Server3
ASM
DB_3
DBFS
DG
Setup / Installation - ACFS
Supported on Linux, Solaris, AIX and Windows
Requires ASM
Diskgroup can be shared
Value Transformation Services
16
Disk4Disk3Disk2Disk1
Diskgroup
Logical Volume
ACFS2
LV
ACFS1
Setup / Installation - DBFS
Dedicated Tablespace
Dedicated user with create session, table, view,
procedure privileges and granted dbfs_role
Filesystem creation with script:
$ORACLE_HOME/rdbms/admin/dbfs_create_filesystem.sql
Files are stored as LOBs in a table called as the
filesystem name
Value Transformation Services
17
Setup / Installation - DBFS
SQL> desc mydbfs
Name Null? Type
--------------------- -------- -----------------
...
PATHNAME NOT NULL VARCHAR2(1024)
FILEDATA BLOB
POSIX_MODE NUMBER(38)
POSIX_UID NUMBER(38)
POSIX_GID NUMBER(38)
...
Value Transformation Services
18
HA Tests - ACFS
1. Shutdown server hosting NFS server
NFS server switched to another node
2. Kill NFS server
NFS server was restarted
3. Umount ACFS
Umount hanging – not possible
The FS was always available for the client!
Value Transformation Services
19
HA Tests - DBFS
1. Shutdown one server
session failover to other instance
2. Kill one instance
session failover to other instance
3. Kill listener
sessions are established only during the mount
4. Client: Kill dbfs_client process
FS is umounted and all open IOs are lost
The FS was always available for the client!
Value Transformation Services
20
Remote Filesystems
Value Transformation Services
21
touch test
Kernel
driver
Disk
NFS Protocol
TCP,IP,Ethernet
Local
Remote
TCP,IP,Ethernet
NFS
Kernel
touch test
Kernel
driver
Disk
Local
Performance Tests
Value Transformation Services
22
local 10 B local 100 B local 1 M remote 10 B remote 100 B remote 1 M
Local 3600 34300 1400000 0 0 0
ACFS 1500 14600 1800000 902 8200 104000
DBFS 0 0 0 159 1300 113000
0%
10%
20%
30%
40%
50%
60%
70%
80%
90%
100%
Use cases
ACFS DBFS
Database related Files
DB Files(redo,datafiles,...) Not supported Not supported
Exports(datapump) + -
DB logs + Not supported
Shared, DB and Application
external tables,etc + +
Application Files
Large + +
Small + -
Value Transformation Services
23
Perspective12c - ACFS
High Availible NFS (HANFS)
Supports all database files
Supported on Exadata
unlimited expansions
Value Transformation Services
24
Perspective12c - DBFS
New ways to access DBFS:
• http/https
• ftp
• WebDAV
Based on Enterprise Manager Database Express
Value Transformation Services
25
SecureFiles
SecureFile is an storage option for LOBs and was
introduced in 11g
LOBs can be stored as BasicFile or SecureFile
Advantages of SecureFiles:
• Compression
• Deduplication
• Encryption
Value Transformation Services
26
SecureFiles
$ sqlplus @dbfs_create_filesystem_advanced
tablespace_name file_systemname
[compress-high|compress-medium|compress-low|nocompress]
[deduplicate | nodeduplicate]
[encrypt | noencrypt]
[partition | non-partition]
Value Transformation Services
27
SecureFiles
The Parameter DB_SECUREFILE specifies whether
LOBs stored as BasicFiles or SecureFiles.
Value Transformation Services
28
Extended Architecture Support - DBFS
Value Transformation Services
29
Client
Server
NFS
ASM
DB DBFS
NFS Server
Storage/
Disks
NO SUPPORT
dbfs_client as CLI
All DBFS paths must be absolute and preceded by
“dbfs:”.
All commands are ls, cp, rm, mkdir.
$ dbfs_client db_user@db_server --command command
[switches] [arguments]
$ dbfs_client db_user@db_server --command ls dbfs:/mydbfs
Value Transformation Services
30
References
Dbfs doku 12c
https://docs.oracle.com/database/121/ADLOB/adlob_client.htm#ADLOB46011
Dbfs doku 11g
http://docs.oracle.com/cd/E11882_01/appdev.112/e18294/adlob_client.htm
Acsf doku 12c
DBFS
https://oracle-base.com/articles/11g/dbfs-apis-11gr2
Value Transformation Services
31

Comparison of ACFS and DBFS

  • 1.
    Comparison of ACFS andDBFS Value Transformation Services Daniel Hillinger Database Administrator
  • 2.
    Daniel Hillinger Value TransformationServices 1 Index Exadata Backup Clone Solaris Performance Tuning Patching TAF DBA Grid Infrastructur ONS Database Vault Redhat NFS Partitioning ClusterwareClient Linux ZFS RACFAN Security Dataguard ACFS Disaster Recovery ASM Replication High Availability Restore DBFS
  • 3.
    Agenda • Architectural Overview •Presentation to the Client • Presentation to the Server/DB • High Availability and Disaster Recovery • Extended Architecture • Setup / Installation • Tests • Use cases • Perspective 12c Value Transformation Services 2
  • 4.
    Architectural Overview -ACFS Value Transformation Services 3 Client Server NFS ASM DB ADVM ACFS NFS Server Storage/ Disks
  • 5.
    Architectural Overview -DBFS Value Transformation Services 4 ClientServer SQL Net ASM DB Storage/ Disks Oracle Client DBFS FUSE
  • 6.
    Presentation to theClient - ACFS • Standard NFS mount $ mount <IP>:/acfs on /acfs type nfs (rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,nfsvers =3,timeo=600,addr=<IP>) $ df –hTt nfs <IP>:/acfs nfs 170G 16G 154G 10% /acfs Value Transformation Services 5
  • 7.
    Presentation to theClient - DBFS • DBFS is based on FUSE (Filesystem in USErspace) • Oracle Client required $ mount dbfs-@DBFS_DBFS:/ on /dbfs type fuse (rw,nosuid,nodev,max_read=1048576,default_permissions,allow_othe r) $ df -hTt fuse dbfs-@DBFS_DBFS:/ fuse 4.5G 313M 4.2G 7% /dbfs Restrictions: ioctl, locking, asynchronous I/O, O_DIRECT file opens, hard links, pipes, and other special file modes Value Transformation Services 6
  • 8.
  • 9.
    FUSE Filesystem in UserSpace •Usable by non privileged users • Availible on Linux and Solaris 11 Value Transformation Services 8 userspace kernel ls /my_file glibc VFS FUSE NFS, EXT3, … glibc libfuse my_script
  • 10.
    Presentation to theServer - ACFS ASM Dynamic Volume Manager (ADVM) provides a block device in /dev/asm Mounted as standard Linux filesystem $ df –hTt acfs Filesystem Type Size Used Avail Use% Mounted on /dev/asm/lv_acfs-46 acfs 170G 16G 154G 10% /acfs $ lsmod oracleacfs 2001119 3 oracleadvm 250040 7 oracleoks 427736 2 oracleacfs,oracleadvm Value Transformation Services 9
  • 11.
    Presentation to theDB - ACFS Can be accessed with • External Tables • UTL_FILE • Datapump • … Value Transformation Services 10
  • 12.
    Presentation to theServer / DB - DBFS Server: Not visible for the server But could be configured as client DB: Access via SQL SELECT UTL_RAW.cast_to_varchar2(filedata) AS filedata FROM dbfs_content WHERE path = '/dbfs/test1'; Value Transformation Services 11
  • 13.
    High Availability andDisaster Recovery High Availability(HA): automated solution in order to conceal the failure of a component Disaster Recovery(DR): steps to restore a minimum operation after a major failure, usually manually Value Transformation Services 12
  • 14.
    High Availability andDesaster Recovery ACFS DBFS High Availability without interruption None RAC with interruption Failover NFS Server Failover DB Desaster Recovery without dataloss None Dataguard with dataloss ACFS Replication/Rsync Rsync Backup Filesystem RMAN/Filesystem Value Transformation Services 13
  • 15.
    Extended Architecture -ACFS Value Transformation Services 14 Client Server1 NFS ASM DB Storage/Disks Storage/Disks ACFS Rep. ADVM ACFS Server2 ASM DB ADVM ACFS Server3 ASM DB ADVM ACFS NFSNFS
  • 16.
    Extended Architecture -DBFS Value Transformation Services 15 Client Server1 SQL Net ASM DB_1 Storage/Disks Oracle Client DBFS Server2 ASM DB_2 DBFS Storage/Disks Server3 ASM DB_3 DBFS DG
  • 17.
    Setup / Installation- ACFS Supported on Linux, Solaris, AIX and Windows Requires ASM Diskgroup can be shared Value Transformation Services 16 Disk4Disk3Disk2Disk1 Diskgroup Logical Volume ACFS2 LV ACFS1
  • 18.
    Setup / Installation- DBFS Dedicated Tablespace Dedicated user with create session, table, view, procedure privileges and granted dbfs_role Filesystem creation with script: $ORACLE_HOME/rdbms/admin/dbfs_create_filesystem.sql Files are stored as LOBs in a table called as the filesystem name Value Transformation Services 17
  • 19.
    Setup / Installation- DBFS SQL> desc mydbfs Name Null? Type --------------------- -------- ----------------- ... PATHNAME NOT NULL VARCHAR2(1024) FILEDATA BLOB POSIX_MODE NUMBER(38) POSIX_UID NUMBER(38) POSIX_GID NUMBER(38) ... Value Transformation Services 18
  • 20.
    HA Tests -ACFS 1. Shutdown server hosting NFS server NFS server switched to another node 2. Kill NFS server NFS server was restarted 3. Umount ACFS Umount hanging – not possible The FS was always available for the client! Value Transformation Services 19
  • 21.
    HA Tests -DBFS 1. Shutdown one server session failover to other instance 2. Kill one instance session failover to other instance 3. Kill listener sessions are established only during the mount 4. Client: Kill dbfs_client process FS is umounted and all open IOs are lost The FS was always available for the client! Value Transformation Services 20
  • 22.
    Remote Filesystems Value TransformationServices 21 touch test Kernel driver Disk NFS Protocol TCP,IP,Ethernet Local Remote TCP,IP,Ethernet NFS Kernel touch test Kernel driver Disk Local
  • 23.
    Performance Tests Value TransformationServices 22 local 10 B local 100 B local 1 M remote 10 B remote 100 B remote 1 M Local 3600 34300 1400000 0 0 0 ACFS 1500 14600 1800000 902 8200 104000 DBFS 0 0 0 159 1300 113000 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
  • 24.
    Use cases ACFS DBFS Databaserelated Files DB Files(redo,datafiles,...) Not supported Not supported Exports(datapump) + - DB logs + Not supported Shared, DB and Application external tables,etc + + Application Files Large + + Small + - Value Transformation Services 23
  • 25.
    Perspective12c - ACFS HighAvailible NFS (HANFS) Supports all database files Supported on Exadata unlimited expansions Value Transformation Services 24
  • 26.
    Perspective12c - DBFS Newways to access DBFS: • http/https • ftp • WebDAV Based on Enterprise Manager Database Express Value Transformation Services 25
  • 27.
    SecureFiles SecureFile is anstorage option for LOBs and was introduced in 11g LOBs can be stored as BasicFile or SecureFile Advantages of SecureFiles: • Compression • Deduplication • Encryption Value Transformation Services 26
  • 28.
    SecureFiles $ sqlplus @dbfs_create_filesystem_advanced tablespace_namefile_systemname [compress-high|compress-medium|compress-low|nocompress] [deduplicate | nodeduplicate] [encrypt | noencrypt] [partition | non-partition] Value Transformation Services 27
  • 29.
    SecureFiles The Parameter DB_SECUREFILEspecifies whether LOBs stored as BasicFiles or SecureFiles. Value Transformation Services 28
  • 30.
    Extended Architecture Support- DBFS Value Transformation Services 29 Client Server NFS ASM DB DBFS NFS Server Storage/ Disks NO SUPPORT
  • 31.
    dbfs_client as CLI AllDBFS paths must be absolute and preceded by “dbfs:”. All commands are ls, cp, rm, mkdir. $ dbfs_client db_user@db_server --command command [switches] [arguments] $ dbfs_client db_user@db_server --command ls dbfs:/mydbfs Value Transformation Services 30
  • 32.
    References Dbfs doku 12c https://docs.oracle.com/database/121/ADLOB/adlob_client.htm#ADLOB46011 Dbfsdoku 11g http://docs.oracle.com/cd/E11882_01/appdev.112/e18294/adlob_client.htm Acsf doku 12c DBFS https://oracle-base.com/articles/11g/dbfs-apis-11gr2 Value Transformation Services 31