本机环境:11.2.0.1
1. download fuse package on website
http://fuse.sourceforge.net/
download 2.7.4 版本
看一下需要的rpm包
rpm -q kernel-devel
kernel-devel-2.6.18-308.el5
2. 安装fuse
tar -xzvf fuse-2.7.4.tar.gz
./configure
make
make install
/sbin/depmod
/sbin/modprobe fuse
chmod 666 /dev/fuse
echo "/sbin/modprobe fuse" >> /etc/rc.modules
3. 服务器端创建脚本
SQL> create smallfile tablespace dbfsts
2 datafile '+JAMES' size 200m ;
SQL> create user dbfsusr identified by xiaojun default tablespace dbfsts quota unlimited on dbfsts ;
SQL> grant create session, create table, create procedure, dbfs_role to dbfsusr;
SQL> conn dbfsusr/xiaojun
Connected.
create :
--fs1 会在在你客户端的挂载点下面创建一个fs1 的文件夹,并且会在dbfsusr用户下创建一个名为t_fs1 的表
SQL> @$ORACLE_HOME/rdbms/admin/dbfs_create_filesystem_advanced dbfsts fs1 nocompress nodeduplicate noencrypt non-partition
drop :
@$ORACLE_HOME/rdbms/admin/dbfs_drop_filesystem.sql file system name
4. 客户端配置:
创建文件夹(保证权限)
mkdir /u02
客户端使用这个命令即可挂载:
dbfs_client dbfsusr@james /u02
或者
nohup dbfs_client dbfsusr@james /u02 < passwd.txt &
然后看一下
[oracle@oel1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 7.5G 6.3G 55% /
/dev/sda5 2.0G 36M 1.9G 2% /tmp
/dev/sda2 15G 8.4G 5.4G 61% /u01
tmpfs 2.0G 367M 1.6G 19% /dev/shm
dbfs 448K 27K 421K 7% /u02
[oracle@oel1 ~]$ cp /u01/fuse-2.7.4.tar.gz /u02/fs1/
[oracle@oel1 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 15G 7.5G 6.3G 55% /
/dev/sda5 2.0G 36M 1.9G 2% /tmp
/dev/sda2 15G 8.4G 5.4G 61% /u01
tmpfs 2.0G 367M 1.6G 19% /dev/shm
dbfs 1.5M 531K 941K 37% /u02
可以看到这个文件系统是自动拓展的。
问题描述:
问题1:
挂载的时候发现问题Resource temporarily unavailable
下面文档ID 1434327.1 中有详细描述
笔者解决办法:重启电脑使用nouek 版本的内核。
问题2:
如果你使用dbfs_client挂载后,
ls 总是出现下面的错误:
Transport Endpoint is not connected
可能是版本的问题,没有细究,换了一个2.7.4 版本的fuse即可解决
客户端可以使用卸载命令
fusermount -u /u02
如果ls 还是这个错误,那么使用root用户登录
然后 umount /u02即可
文档详细内容:
ID 1434327.1
Resource temporarily unavailable
There is some issue in fuse in recent UEK kernel releases (e.g. 2.6.32-300.7.2.el5uek).
It's fixed in newer kernel (v2.6.32-300.11.1) which is due for a release. fuse user and library rpm is also due for a release.
Applies to:
Oracle Server - Enterprise Edition - Version: 11.2.0.1 to 11.2.0.3 - Release: 11.2 to 11.2
Linux x86
Linux x86-64
Description
After upgrade Linux kernel (e.g. 2.6.32-100.26.2.el5) to UEK (e.g. 2.6.32-300.10.1.el5uek) DBFS is not working.
Likelihood of Occurrence
1) OS upgrade from 2.6.32-100.26.2.el5 to: 2.6.32-300.10.1.el5uek (Linux UEK Kernel).
2) After boot the Linux server using the UEK kernel, DBFS reports the next problems:
$> nohup dbfs_client -o allow_other dbfs@EUSPRD /mnt_dbfs < ~/passwordfile.f &
$> df -k
df: `/mnt_dbfs': Resource temporarily unavailable
3) But, if the Linux box is booted again with the previous kernel release (non-UEK) then DBFS has not issues.
Possible Symptoms
1) DBFS fails after system boots using an UEK kernel.
2) DBFS development team confirmed:
There is some issue in fuse in recent UEK kernel releases (e.g. 2.6.32-300.7.2.el5uek).
It's fixed in newer kernel (v2.6.32-300.11.1) which is due for a release. fuse user and library rpm is also due for a release.
Workaround or Resolution
Therefore, please continue using the previous kernel release ((boot the system with the previous kernel release (non- UEK))) for your DBFS configuration, until the new kernel v2.6.32-300.11.1 is released.
官方文档位置
appdev.112/e25518.pdf
剩下的,大家慢慢研究吧。