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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值