我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle中dbfs文件系统怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle中dbfs文件系统怎么用

这篇文章主要介绍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_class="lazy" data-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

三、ServerOracle数据库配置

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   

  2 datafile '/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 –s determined_path /libfuse.so

5. Run ldconfig to 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 < passwordfile.f &

示例

[oracle@mytest~]$ mkdir /u01/dbfs

[oracle@mytest~]$ ls -l /u01

drwxr-xr-x 2 oracle oinstall       4096 Aug 2 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 < passwd.t &

[1] 11665

[oracle@mytest ~]$ nohup: appending outputto `nohup.out'

[oracle@mytest ~]$ df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda1              30G   15G  14G  53% /

/dev/sda3             3.9G  473M 3.3G  13% /tmp

tmpfs                 2.0G  943M 1.1G  48% /dev/shm

/dev/hdc              3.7G  3.7G    0 100% /mnt

dbfs                  1.5M   57K 1.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> select pathname , item , pathtype  from t_dir1 ;       

2.  PATHNAME             ITEM                 PATHTYPE  

3.  -------------------- ----------------------------   

4.  /test.t               test.t                      1  

5.  /sub_dir             sub_dir                    2  

6.  /sub_dir/test2.t        test2.t                     1  

7.  /                   ROOT                     2  

8.  /.sfs                .sfs                        2  

9.  /.sfs/attributes        attributes                   2  

10. /.sfs/tools            tools                      2  

11. /.sfs/snapshots        snapshots                  2  

12. /.sfs/RECYCLE      RECYCLE                 2  

13. /.sfs/content          content                    2  

14.    

15. 10 rows selected.  

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文件系统怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle中dbfs文件系统怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中怎么使用ZFS文件系统

本文小编为大家详细介绍“Linux中怎么使用ZFS文件系统”,内容详细,步骤清晰,细节处理妥当,希望这篇“Linux中怎么使用ZFS文件系统”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ZFS文件系统是一个革命性
2023-06-28

Linux系统中怎么开启Initrd文件系统

Linux系统中怎么开启Initrd文件系统,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。initial RAM diskLinux初始RAM磁盘(initrd)是在系统引
2023-06-12

Linux系统中怎么统计文件夹下文件数量

这篇文章主要讲解了“Linux系统中怎么统计文件夹下文件数量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中怎么统计文件夹下文件数量”吧!一种是:代码如下:ls -l |gre
2023-06-10

Linux系统中怎么加密文件

这篇文章主要讲解了“Linux系统中怎么加密文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux系统中怎么加密文件”吧!在Linux系统安装时选择使用EFS首先将介绍一个非常简单的方
2023-06-17

Linux系统中怎么创建文件

Linux系统中怎么创建文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。对应英文:touch命令:touch [目录名]作用:如果文件不存在,新建文件Linu
2023-06-28

Linux系统中怎么拷贝文件

Linux系统中怎么拷贝文件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。首先,无论本地还是远程,需要移动或拷贝的文件较多且都不太大时,用cp命令和mv命令效率较低,可以先使用
2023-06-12

linux系统中怎么查找文件

今天给大家介绍一下linux系统中怎么查找文件。文章的内容小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着小编的思路一起来阅读吧。Linux系统中查找文件有两个方法:第一种方法是就是使用find命
2023-06-28

Linux系统中怎么使用mlocate查找文件

这期内容当中小编将会给大家带来有关Linux系统中怎么使用mlocate查找文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统中一切皆为文件,一个系统可能存在数十万个文件。那么如何快速的查找
2023-06-28

Linux系统中怎么利用Bzip2压缩文件

今天就跟大家聊聊有关Linux系统中怎么利用Bzip2压缩文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。安装 Bzip2命令如下:make -f Makefile-libbz2_
2023-06-12

在Fedora 9中怎么启用ext4文件系统

这篇文章主要讲解了“在Fedora 9中怎么启用ext4文件系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Fedora 9中怎么启用ext4文件系统”吧!提供ext4文件系统的支持,可
2023-06-10

win7系统中怎么打开dat文件

小编给大家分享一下win7系统中怎么打开dat文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.双击打开“我的电脑”,然后再打开硬盘C。其实硬盘C里面可以找到
2023-06-28

Linux系统中怎么执行python文件

本篇内容主要讲解“Linux系统中怎么执行python文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中怎么执行python文件”吧!方法:在.py文件的第一行加上下面的任意一行
2023-06-28

怎么在Linux系统中查找文件

本篇文章为大家展示了怎么在Linux系统中查找文件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。linux查找文件1.1 find命令Linux find 命令是所有 Linux 命令中最有用的一个
2023-06-16

怎么在Linux系统中加密文件

今天就跟大家聊聊有关怎么在Linux系统中加密文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1. oppnssl md5 加密字符串的方法 a.手动输入命令及过程
2023-06-10

Linux系统中怎么创建文件夹

这篇文章的内容主要围绕Linux系统中怎么创建文件夹进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!linux创建文件夹命令对应英文:make dir
2023-06-28

怎么在Ubuntu中安装使用ZFS文件系统

这篇文章主要介绍“怎么在Ubuntu中安装使用ZFS文件系统”,在日常操作中,相信很多人在怎么在Ubuntu中安装使用ZFS文件系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Ubuntu中安装使用Z
2023-06-16

linux系统中怎么使用mysql导入sql文件

这篇文章主要介绍“linux系统中怎么使用mysql导入sql文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux系统中怎么使用mysql导入sql文件”文章能帮助大家解决问题。上传sql文
2023-06-28

怎么在python中利用os处理系统文件

怎么在python中利用os处理系统文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python有哪些常用库python常用的库:1.requesuts;2.scrapy
2023-06-14

编程热搜

目录