当前位置:Oracle研究中心 > 运维DBA >
时间:2016-07-01 22:25 来源:Oracle研究中心 作者:惜分飞 点击: 次
DBFS(Oracle Database File System)就是Oracle数据库11gR2中提供的能够在Linux和Solaris操作系统中将Oracle数据库当成文件系统来使用的功能.
在DBFS内部,文件是以SecureFiles LOBs(对比与以前的BasicFiles LOBs)的形式存储在数据表中.这个功能第一个是存储图片或者文档,第二个功能就是在RAC或者XD中部署OGG是一个不错的选择.
[root@oracleplus ~]# mount /dev/cdrom /media mount: block device /dev/cdrom is write-protected, mounting read-only [root@oracleplus ~]# cd /media/Server [root@oracleplus Server]# ls fuse* fuse-2.7.4-8.0.1.el5.x86_64.rpm fuse-devel-2.7.4-8.0.1.el5.x86_64.rpm fuse-libs-2.7.4-8.0.1.el5.x86_64.rpm fuse-devel-2.7.4-8.0.1.el5.i386.rpm fuse-libs-2.7.4-8.0.1.el5.i386.rpm [root@oracleplus Server]# rpm -ivh fuse-libs-2.7.4-8.0.1.el5.x86_64.rpm warning: fuse-libs-2.7.4-8.0.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:fuse-libs ########################################### [100%] [root@oracleplus Server]# rpm -ivh fuse-devel-2.7.4-8.0.1.el5.x86_64.rpm warning: fuse-devel-2.7.4-8.0.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:fuse-devel ########################################### [100%] [root@oracleplus Server]# rpm -ivh fuse-2.7.4-8.0.1.el5.x86_64.rpm warning: fuse-devel-2.7.4-8.0.1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159 Preparing... ########################################### [100%] 1:fuse ########################################### [100%]
[root@oracleplus Server]# cd / [root@oracleplus /]# mkdir dbfs [root@oracleplus /]# chown ora11g:oinstall dbfs [root@oracleplus /]# ls -l|grep dbfs drwxr-xr-x 2 ora11g oinstall 4096 Sep 1 16:41 dbfs [root@oracleplus /]# echo "/usr/local/lib" >> /etc/ld.so.conf.d/usr_local_lib.conf [root@oracleplus /]# export ORACLE_HOME=/u01/oracle11 [root@oracleplus /]# ln -s $ORACLE_HOME/lib/libclntsh.so.11.1 /usr/local/lib/libclntsh.so.11.1 [root@oracleplus /]# ln -s $ORACLE_HOME/lib/libnnz11.so /usr/local/lib/libnnz11.so [root@oracleplus /]# ln -s /lib64/libfuse.so.2 /usr/local/lib/libfuse.so.2 [root@oracleplus /]# cd /usr/local/lib [root@oracleplus lib]# ls -l total 0 lrwxrwxrwx 1 root root 35 Sep 1 16:45 libclntsh.so.11.1 -> /u01/oracle11/lib/libclntsh.so.11.1 lrwxrwxrwx 1 root root 19 Sep 1 16:46 libfuse.so.2 -> /lib64/libfuse.so.2 lrwxrwxrwx 1 root root 29 Sep 1 16:46 libnnz11.so -> /u01/oracle11/lib/libnnz11.so [root@oracleplus lib]# ldconfig [root@oracleplus lib]# chmod +x /usr/bin/fusermount [root@oracleplus lib]# ls -l /usr/bin/fusermount lrwxrwxrwx 1 root root 15 Sep 1 16:37 /usr/bin/fusermount -> /bin/fusermount [root@oracleplus lib]# ls -l /bin/fusermount -rwsr-x--x 1 root fuse 23544 Oct 18 2011 /bin/fusermount
SQL> create tablespace dbfs_ts 2 datafile '/u01/oradata/ora11g/oracleplus01.dbf' 3 size 20m autoextend on next 10m maxsize 30g; Tablespace created. SQL> create user dbfs identified by dbfs 2 default tablespace dbfs_ts 3 quota unlimited on dbfs_ts; User created. SQL> grant create session, resource, create view, dbfs_role to dbfs ; Grant succeeded.
[ora11g@oracleplus admin]$ cd $ORACLE_HOME/rdbms/admin [ora11g@oracleplus admin]$ sqlplus dbfs/dbfs@ora11g SQL*Plus: Release 11.2.0.3.0 Production on Sat Sep 1 16:43:04 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> @dbfs_create_filesystem.sql dbfs_ts my_dbfs No errors. -------- CREATE STORE: begin dbms_dbfs_sfs.createFilesystem(store_name => 'FS_MY_DBFS', tbl_name => 'T_MY_DBFS', tbl_tbs => 'dbfs_ts', lob_tbs => 'dbfs_ts', do_partition => false, partition_key => 1, do_compress => false, compression => '', do_dedup => false, do_encrypt => false); end; -------- REGISTER STORE: begin dbms_dbfs_content.registerStore(store_name=> 'FS_MY_DBFS', provider_name => 'sample1', provider_package => 'dbms_dbfs_sfs'); end; -------- MOUNT STORE: begin dbms_dbfs_content.mountStore(store_name=>'FS_MY_DBFS', store_mount=>'my_dbfs'); end; -------- CHMOD STORE: declare m integer; begin m := dbms_fuse.fs_chmod('/my_dbfs', 16895); end; No errors.
[ora11g@oracleplus ~]$ more /home/ora11g/oracleplus_pwd dbfs [ora11g@oracleplus ~]$ nohup dbfs_client dbfs@ora11g /dbfsoracleplus.chf [ora11g@oracleplus my_dbfs]$ ll total 2 -rw-r--r-- 1 ora11g oinstall 1736 Sep 1 21:05 oracleplus.chf
卸载dbfs
[ora11g@oracleplus ~]$ fusermount -u /dbfs [ora11g@oracleplus ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 3.9G 3.2G 462M 88% / /dev/sda1 99M 24M 71M 25% /boot tmpfs 1006M 184M 822M 19% /dev/shm /dev/sdb1 20G 8.9G 9.9G 48% /u01
删除filesystem
cd $ORACLE_HOME/rdbms/admin sqlplus dbfs_user/dbfs_user SQL> @dbfs_drop_filesystem.sql my_dbfs
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【学习笔记】Oracle DBFS Linux和Solaris将Oracle数据库当成文件系统使用
本文由大师惜分飞原创分享,网址:http://www.oracleplus.net/arch/676.html
Powered by Oracle研究中心 OraclePlus Inc.
BY DedeCMS 京ICP备14022373号-5
声明:Oracle研究中心部分文章源自互联网,转载均按原文作者要求转载,如有疑问联系QQ:1026002015,协商未果24小时删除。