[20150930]linux ln建立硬连接.txt

[20150930]linux ln建立硬连接.txt

--前几天同事在建立测试环境时磁盘空间不足,而另外一个空间磁盘空间充足,我说可以通过ln建立软连接来解决这个问题。
--这让我想起我以前管理数据库通过ln建立硬连接来避免oracle数据文件的删除,虽然现在我现在不用这种方式,不过还是做一些简单介
--绍.

1.关于linux的ln命令我不做介绍,自己看看手册。
--仅仅说明一点,做硬链接不能跨文件系统。

2.实际上很简单,我拿测试环境做一次。

RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    510      SYSTEM               ***     /mnt/ramdisk/test/system01.dbf
2    350      UNDOTBS1             ***     /mnt/ramdisk/test/undotbs01.dbf
3    370      SYSAUX               ***     /mnt/ramdisk/test/sysaux01.dbf
4    100      USERS                ***     /mnt/ramdisk/test/users01.dbf
5    100      EXAMPLE              ***     /mnt/ramdisk/test/example01.dbf
6    15       MSSM                 ***     /mnt/ramdisk/test/mssm01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    18       TEMP                 32767       /mnt/ramdisk/test/test01.dbf

$  mkdir -p /mnt/ramdisk/.test
$  ln /mnt/ramdisk/test/* /mnt/ramdisk/.test/                 --*/
--这样就完成了硬连接的建立,当然你可以1个1个建立。

$  cd /mnt/ramdisk/.test/
$  ll -li
total 1678356
47643 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:05 control01.ctl
47644 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:05 control02.ctl
47645 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:05 control03.ctl
47646 -rw-r----- 2 oracle oinstall 104865792 2015-09-30 10:49:34 example01.dbf
47647 -rw-r----- 2 oracle oinstall  16654336 2015-09-30 10:49:34 mssm01.dbf
47648 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:34 redo01.log
47649 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:36 redo02.log
47650 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:36 redo03.log
47651 -rw-r----- 2 oracle oinstall 387981312 2015-09-30 10:49:34 sysaux01.dbf
47652 -rw-r----- 2 oracle oinstall 534781952 2015-09-30 10:49:34 system01.dbf
47653 -rw-r----- 2 oracle oinstall  20979712 2015-09-30 10:48:53 temp01.dbf
47654 -rw-r----- 2 oracle oinstall  18882560 2015-09-30 10:48:53 test01.dbf
47655 -rw-r----- 2 oracle oinstall 367009792 2015-09-30 10:49:34 undotbs01.dbf
47656 -rw-r----- 2 oracle oinstall 104865792 2015-09-30 10:49:34 users01.dbf

$  cd /mnt/ramdisk/test
$  ll -li
total 1678356
47643 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:23 control01.ctl
47644 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:23 control02.ctl
47645 -rw-r----- 2 oracle oinstall   7389184 2015-09-30 10:52:23 control03.ctl
47646 -rw-r----- 2 oracle oinstall 104865792 2015-09-30 10:49:34 example01.dbf
47647 -rw-r----- 2 oracle oinstall  16654336 2015-09-30 10:49:34 mssm01.dbf
47648 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:34 redo01.log
47649 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:36 redo02.log
47650 -rw-r----- 2 oracle oinstall  52429312 2015-09-30 10:49:36 redo03.log
47651 -rw-r----- 2 oracle oinstall 387981312 2015-09-30 10:49:34 sysaux01.dbf
47652 -rw-r----- 2 oracle oinstall 534781952 2015-09-30 10:49:34 system01.dbf
47653 -rw-r----- 2 oracle oinstall  20979712 2015-09-30 10:48:53 temp01.dbf
47654 -rw-r----- 2 oracle oinstall  18882560 2015-09-30 10:48:53 test01.dbf
47655 -rw-r----- 2 oracle oinstall 367009792 2015-09-30 10:49:34 undotbs01.dbf
47656 -rw-r----- 2 oracle oinstall 104865792 2015-09-30 10:49:34 users01.dbf

--ls -li  i参数是显示文件i节点号。对比上下是一样的。

3.你还可以做一些加固:

#  chown root:root .test
#  chmod 444 .test

--这样oracle用户根本无法进入/mnt/ramdisk/.test目录
$  cd /mnt/ramdisk/.test
-bash: cd: /mnt/ramdisk/.test: Permission denied

--因为/mnt/ramdisk/.test仅仅有读权限,oracle用户也无法删除里面的文件。而数据库正常运行。

$  rm /mnt/ramdisk/.test/control01.ctl
/bin/rm: cannot remove `/mnt/ramdisk/.test/control01.ctl': Permission denied

--你还可以使用chattr +i 加固.test目录(仅仅对ext2以上文件系统有效),这样root用户也无法增加文件,删除文件【注意能修改文件内
--容或者覆盖文件】

4.当然这种方式不是没有缺点:
--数据文件还是在同一个文件系统下,这个好比全部鸡蛋放在一个篮子里面,仅仅能够防止一些误操作。
--而且在增加数据文件的情况下,也需要手工加入对应目录,管理上须人工干预。

时间: 2024-07-30 10:49:09

[20150930]linux ln建立硬连接.txt的相关文章

[20160911]windows下建立硬链接.txt

[20160911]windows下建立硬链接.txt --大家知道linux ln命令可以建立硬连接或者软连接.参考: http://blog.itpub.net/267265/viewspace-1812272/ --实际上windows下也有类似ln命令,只不过许多人很少在命令行使用windows,对于里面的命令行命令知道的更少. --通过例子说明,使用fsutil就可以建立硬连接.补充一点建立这种硬连接仅仅支持NTFS文件系统,不要指望支持FAT32. --实际上这个测试,主要有用户需求

linux软连接和硬连接的区别

1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).ln命令默认产生硬链接. 具体用法是:ln –s 源文件 目标文件. [硬连接] 硬连接指通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).在Linux中,多个文件名指向同一索引节点是存在的.一般这种连接就是硬连接.硬连接的作用是允许一个文件拥有多个有效路径名,这

[20160921]linux下建立samba服务器.txt

[20160921]linux下建立samba服务器.txt --工作需要,需要在linux下配置samba服务.好久不做这些事情,做一个安装笔记: 1.安装samba软件包 # rpm -qa | grep samba samba-client-3.0.33-3.39.el5_8 samba-common-3.0.33-3.39.el5_8 samba-3.0.33-3.39.el5_8 --注意安装samba-3.0.33-3.39.el5_8需要 perl-Convert-ASN1-0.2

linux系统文件属性-硬连接、软连接

1 硬链接概念 硬链接是指通过索引节点(Inode)来进行链接,在Linux(ext2,ext3)文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号(Inode Index)简称Inode,即在系统中文件的编号. 在Linux文件系统中,多个文件名指向同一个索引节点(Inode)是正常且允许的.这种情况的文件就称为硬链接,硬链接的作用之一是允许一个文件拥有多个有效路径名(多个入口),这样用户就可以建立硬链接到重要的文件,以防止"误删"源数据

linux下建立循环连接

1.cd /u01/winscp2.ln -s  /u01/winscp aaa3.这样就可以形成一个环. [ /u01/winscp/aaa 62]# ls -ltotal 6324-rw-r--r-- 1 root root       6 Jun  2 10:35 aalrwxrwxrwx 1 root root      11 Jun  2 10:57 aaa -> /u01/winscp-rw-r--r-- 1 root root    2621 Jun  2 10:32 b1.txt

Linux软连接和硬链接

Linux链接概念 链接--是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. 硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本概念之一. 通过剖析硬链接与软链接的联系与区别,我们可更好的了

详解linux软连接和硬链接_Linux

本篇文章详细介绍了linux软连接和硬链接,废话不多说,接着往下看把. 一 链接文件 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. [软连接] 另外一种连接称之为符号连接(Symbolic Link),也叫软连接.软链接文件有类似于Windows的快捷方式.它实际上是一个特殊的文件.在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息. 链接文件甚至可以链接不存在的文件,这就产

linux文件系统(四)——软连接与硬连接

声明:本Linux文件系统博客,共分四节,是根据网上多个相关博客,以及自己的理解加上相关资料总结而成.(作者:lvyilong316) 1. 特点概述 (1)软连接可以 跨文件系统 ,硬连接不可以 .实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 .ln aa.txt /root/bb 失败 . (2)关于 I节点的问题 .硬连接不管有多少个,都指向的是同一个I节点,会把

如何区分Linux的硬连接和软连接

一.Linux下的两种连接文件及创建方式 在Linux下面的连接文件有两种--软连接和硬连接,虽然都是连接文件,但两者却有很大的区别.一种是类似于Windows的快捷方式功能的文件(或目录),这种连接称为软连接:另一种则是通过文件系统的inode连接来产生新文件名,而不是产生新文件,这种称为硬连接. 创建连接文件的方法非常简单,就是使用ln命令,ln file1 file2,则创建硬连接,file2为file1的硬连接,ln -s file1 file2,则创建软连接,file2为file1的软