[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.當然這種方式不是沒有缺點:
--資料檔案還是在同一個檔案系統下,這個好比全部雞蛋放在一個籃子裡面,僅僅能夠防止一些誤操作。
--而且在增加資料檔案的情況下,也需要手工加入對應目錄,管理上須人工干預。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1812272/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- LINUX ln命令硬連線軟連線詳細解釋Linux
- linux 建立連線命令 ln -s 軟連結Linux
- 【linux命令之ln命令詳解(軟連結和硬連結)】Linux
- LINUX 硬連線和軟連線Linux
- linux 的軟連線與硬連線Linux
- Linux軟連線和硬連結Linux
- linux20-ln軟連結Linux
- ln命令:軟連結與硬連結的區別與應用
- [20160911]windows下建立硬連結.txtWindows
- Linux下 ln -s 軟連結用法Linux
- ln 超連結
- linux下建立迴圈連線Linux
- linux ln 軟連結的妙用 -太愛了Linux
- 連結檔案 (硬連線 與 符號連線)符號
- Linux ln 命令Linux
- Linux硬連結和軟連線有哪些知識點?Linux入門Linux
- 糾結的連結——ln、ln -s、fs.symlink、requireUI
- linux 軟硬連結Linux
- Linux軟連結和硬連結Linux
- linux硬連結和軟連結Linux
- linux下mysql安裝、授權、建立使用者、連線navicat、連線entityLinuxMySql
- Linux基礎命令---lnLinux
- 06 建立MySQL連線MySql
- laravel建立軟連線Laravel
- ElasticSearch連線池建立Elasticsearch
- HTTPS建立連線HTTP
- TCP的連線建立TCP
- ubuntu建立軟連線Ubuntu
- Connection (建立連線)
- Linux(8) —— 硬連結和軟連結Linux
- linux下軟連結與硬連結Linux
- Linux 硬連結與軟連結(zt)Linux
- 軟連線、硬連結 和 i節點(inode)
- Linux下原始檔建立硬連結後壓縮原始檔的問題Linux
- linux目錄和硬連結Linux
- Linux 常用基本命令 lnLinux
- Linux下 ln 命令詳解Linux
- Linux 軟連結和硬連結簡介Linux