这篇文章主要介绍oracle中dbfs文件系统怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、DBFS介绍Dbfs在文件和目录之上创建了一个标准的文件系统结构,并且将数据存储在数据库基表里面。DBFS很像NFS,因为它提供了一个与本地文件系统相同的共享的网络文件系统。与NFS一样,由Server与Client组成。 在DBFS中,Server为Oracle数据库,文件存储在表的一个SecureFiles LOBs 字段里面。一个PLSQL存储过程的集合,提供了访问文件系统的基本操作,比如说create、open、read、write,ls 。DBFS目录库允许每个数据库用户创建一个或多个文件系统,并且可以被clients使用。每个文件系统拥有专有的数据表,保证文件系统的内容。二、Client端安装fuse 确定fuse版本 uname –a Linux DB-SERVER-02 2.6.18-164.el5#1 SMP Tue Aug 18
15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux 本机kernelversion 2.6.18 Kernel version 2.6.x x>9都需要使用 fuse-2.7.4 下载fuse安装包 下载地址:http://fuse.sourceforge.net 或者http://sourceforge.net/projects/fuse 检查kernel-devel 包 # rpm –q kernel-devel 如果没有安装,挂载安装盘后安装package 安装fuse $ tar -xzvf fuse-2.7.4.tar.gz $ cd [fuse_src_dir] $ ./configure –prefix=/usr
–with-kernel=[yourkernel dir] $ make $ sudo su # make install # /sbin/depmod # /sbin/modprobe fuse # chmod 666 /dev/fuse # echo “/sbin/modprobe
fuse” >>/etc/rc.modules 示例 查看是否安装了所需安装包[root@mytest ~]# rpm -q kernel-devel package kernel-devel is not installed 挂载光盘[root@mytest dev]# mount /dev/hdc /mnt mount: block device /dev/hdc iswrite-protected,
mounting read-only
安装kernel-devel包[root@mytest Server]# rpm -ivh
kernel-devel-2.6.18-308.el5.x86_64.rpm Preparing…###########################################
[100%] 1:kernel-devel
###########################################[100%] 查看kernelversion [root@mytest Server]# uname -a Linux mytest 2.6.18-308.el5#1 SMP Sat Feb 25 12:40:07
EST 2012 x86_64 x86_64 x86_64 GNU/Linux ftp 将fuse2.7.4 上传至服务器/root目录下[root@mytest ~]# pwd /root [root@mytest ~]# ls -l fuse-2.7.4.tar.gz -rw-r–r– 1 root root 506658 Jun 11 13:54
fuse-2.7.4.tar.gz 解压[root@mytest ~]# tar -xzvf fuse-2.7.4.tar.gz [root@mytest ~]# cd fuse-2.7.4 安装[root@mytest fuse-2.7.4]#./configure [root@mytest fuse-2.7.4]#make [root@mytest fuse-2.7.4]#make install [root@mytest fuse-2.7.4]#/sbin/depmod [root@mytest fuse-2.7.4]#/sbin/modprobe fuse [root@mytest fuse-2.7.4]#chmod 666 /dev/fuse [root@mytest fuse-2.7.4]#echo “/sbin/modprobe
fuse” >> /etc/rc.modules 三、Server端Oracle数据库配置 Server端配置流程 1创建表空间新建的表空间用来存储dbfs中相关数据。2创建用户新建用户用来管理dbfs相关的文件以及源数据3授权管理dbfs的用户需要拥有相关权限4执行dbfs初始化脚本Dbfs配置脚本路径:$ORACLE_HOME/rdbms/admin/dbfs_免费主机域名create_filesystem_advanced 注意,需要使用新建的用户执行该脚本。示例 使用dba用户登录[oracle@mytest~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0Production on Thu Aug 2
13:40:42 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. 开启数据库SQL>startup ORACLE instance started. Total System Global Area 1653518336 bytes Fixed
Size
2213896 bytes Variable
Size
956303352 bytes Database
Buffers 687865856 bytes Redo Buffers
7135232 bytes Database mounted. Database opened. 创建表空间fsts(这里使用大文件表空间)SQL>create bigfile tablespace
fsts 2datafile
‘/u01/apps/oracle/oradata/david/fsts01.dbf’ 3 size500m ; Tablespace created. 创建用户dexter SQL> create user dexter identified byxiaojun
default tablespace fsts quota unlimited on fsts ; User created. 授权SQL>grant create session,create table , create
procedure , dbfs_role to dexter ; Grant succeeded. SQL> conn dexter/xiaojun Connected. 执行初始化脚本SQL>@?/rdbms/admin/dbfs_create_filesystem_advanced
fsts dir1 nocompressnodeduplicate noencrypt non-partition 四、客户端挂载 客户端使用需要用到dbfs_client命令,相关的程序都在Oracle client中,所以客户端必须安装Oracle client。客户端配置流程 1.使用root用户 2. Add a new library path. Command:# echo “/usr/local/lib”
>>/etc/ld.so.conf.d/usr_local_lib.conf 3. Change directory to lib , and
create thefollowing symbolic links to the libclntsh.so.11.1 and
libnnz11.so libraries. Command:# cd /usr/local/lib # ln -s
$ORACLE_HOME/lib/libclntsh.so.11.1 # ln -s $ORACLE_HOME/lib/libnnz11.so 4. Locate libfuse.so, and create a
symbolic linkthis library. # locate libfuse.so determined_path /libfuse.so Command:# ln –sdetermined_path
/libfuse.so 5. Run ldconfigto create the
links and cache for免费主机域名 the new symbolic links. Command:# ldconfig 6. Create a symbolic link to
dbfs_client in/sbin as mount.dbfs. Command:# ln -s
$ORACLE_HOME/bin/dbfs_client/sbin/mount.dbfs 7. Login as admin user. (Oracle
recommends th atyou do not perform the next step as root user.) 8. Mount the DBFS store. Command:% dbfs_client @/dbfsdb
-owallet,rw,user,direct_io /mnt/dbfs 9. [Optional] To test if the previo
us step wassuccessful, list the dbfs directory. Command:# ls /mnt/dbfs 后台执行:nohup dbfs_client
ETLUser@DBConnectString/mnt/dbfs 示例 [oracle@mytest~]$ mkdir /u01/dbfs [oracle@mytest~]$ ls -l /u01 drwxr-xr-x 2 oracle
oinstall 4096 Aug2 13:51 dbfs [root@mytest~]# echo “/usr/local/lib”
>>/etc/ld.so.conf.d/usr_local_lib.conf [root@mytest~]# cd /usr/local/lib [root@mytestlib]# ln -s
/u01/apps/oracle/product/11gr2/db_1/lib/libclntsh.so.11.1 [root@mytestlib]# ln -s
/u01/apps/oracle/product/11gr2/db_1/lib/libnnz11.so [root@mytestlib]# find / -name libfuse.so /usr/local/lib/libfuse.so [root@mytestlib]# ln -s /usr/local/lib/libfuse.so [root@mytestlib]# ldconfig [root@mytestlib]# ln -s
/u01/apps/oracle/product/11gr2/db_1/bin/dbfs_client/sbin/mount.dbfs [root@mytestlib]# su – oracle 配置密码文件使用oracle用户作为dbfs挂载的管理用户 创建密码文件echo xiaojun > passwd.t 查看客户端的配置[oracle@mytest~]$ vi
$ORACLE_HOME/network/admin/tnsnames.ora DAVID = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST =mytest)(PORT
= 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = david) ) ) 远程可以登录[oracle@mytest~]$ sqlplus dexter/xiaojun@david SQL*Plus: Release 11.2.0.1.0Production on Thu Aug 2
14:17:32 2012 Copyright (c) 1982, 2009, Oracle. All rights
reserved. Connected to: Oracle Database 11g Enterprise Edition Release
11.2.0.1.0- 64bit Production With the Partitioning, OLAP, Data Mining andReal
Application Testing options SQL> 执行挂载命令nohup dbfs_client dexter@david /u01/dbfs [1] 11665 [oracle@mytest ~]$ nohup: appending outputto
`nohup.out’ [oracle@mytest ~]$ df -h Filesystem
Size Used Avail Use% Mounted on /dev/sda1
30G 15G14G 53% / /dev/sda3
3.9G 473M3.3G 13% /tmp tmpfs
2.0G 943M1.1G 48% /dev/shm /dev/hdc
3.7G 3.7G0 100% /mnt dbfs
1.5M 57K1.4M 4% /u01/dbfs 五、测试 [oracle@mytest ~]$ ll /u01 drwxr-xr-x 3 root
root
0 Aug 2 14:20 dbfs [oracle@mytest ~]$ ll /u01/dbfs/ total 0 drwxrwxrwx 3 root root 0 Aug 2 14:09 dir1 [oracle@mytest~]$ echo test > /u01/dbfs/dir1/test.t [oracle@mytest~]$ ll /u01/dbfs/dir1/ total 1 -rw-r–r–1 oracle oinstall 5 Aug 2 14:21 test.t [oracle@mytest ~]$ cat /u01/dbfs/dir1/test.t Test [oracle@mytest~]$ mkdir /u01/dbfs/dir1/sub_dir [oracle@mytest~]$ echo ffccddssdd >
/u01/dbfs/dir1/sub_dir/test2.t [oracle@mytest~]$ sqlplus dexter/xiaojun@david SQL*Plus: Release 11.2.0.1.0Production on Thu Aug 2
14:28:49 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release
11.2.0.1.0- 64bit Production With the Partitioning, OLAP, Data Mining andReal
Application Testing options Pathtype=1 表示文件 2表示目录[sql] view plaincopyprint? 1. SQL>selectpathname,item,pathtypefromt_dir1; 2. PATHNAMEITEMPATHTYPE 3. ————————————————
4. /test.ttest.t1 5. /sub_dirsub_dir2 6. /sub_dir/test2.ttest2.t1 7. /ROOT2 8. /.sfs.sfs2 9. /.sfs/attributesattributes2 10. /.sfs/toolstools2 11. /.sfs/snapshotssnapshots2 12. /.sfs/RECYCLERECYCLE2 13. /.sfs/contentcontent2 14. 15. 10rowsselected. SQL>
select pathname , item , pathtype from
t_dir1 ; PATHNAME ITEM PATHTYPE ——————–
—————————- /test.t test.t 1 /sub_dir sub_dir 2 /sub_dir/test2.t test2.t 1 / ROOT 2 /.sfs .sfs 2 /.sfs/attributes attributes 2 /.sfs/tools tools 2 /.sfs/snapshots snapshots 2 /.sfs/RECYCLE RECYCLE 2 /.sfs/content content 2 10 rows
selected. 配置完成以上是“oracle中dbfs文件系统怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注云技术行业资讯频道!
相关推荐: 如何解决修改/dev/shm大小造成Oracle 12c集群启动故障
这篇文章主要介绍了如何解决修改/dev/shm大小造成Oracle 12c集群启动故障,具有一定借鉴价值,感兴趣的朋友可以参考免费主机域名下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。由于维护人员修改Oracle Linux 7中的/…