DBA 对OS的依赖、一丁点儿也不亚于DB、对于Oracle DBA、尤为突出
     DB和OS的感情也与日俱增、耦合度高的让人一度以为这两要劳燕双飞了

例如、Oracle里面、

而且、故障诊断以及性能调优时、OS层的APP可能直接拖垮DB、比如:

好吧、我承认、扯这些无非就是想强调OS对DB、那剪不断、理还乱的感情嘛、、

⑴ 慎用 mv 
     
        mv 、music video、2 种元素混搭、呵呵、I'm kidding、它的效用一如它的名字、有 2:
        
        ① 移动文件
        ② 重命名文件
        
        多功能(mv心理独白:靠、我才2个功能、多乎哉?不多也!)、这是它的优点也是缺点
        你想想啊、如果、我操作:# mv a.sql ./b、我的本意是想把a.sql移动到当前目录b下
        但、次奥哦、傻b不给力、傻b不在当前目录、或者你把傻b给错写成傻x、这下完了、
        移动操作就摇身一变成重命名了、满心期待的乾坤大挪移咋就搞成72变哩、、、
        重命名而已嘛、数据没丢、不必大惊小怪的、吓唬谁呢、可是、、可是、请君看如下场景:
        
        偶的如意算盘是把a.sql b.sql c.sql 移动到当前目录abc下:

# find . -type f |awk  '{print "mv " $1 " " "./abc"}'
mv ./c.sql ./abc
mv ./a.sql ./abc
mv ./b.sql ./abc # find . -type f |awk '{print "mv " $1 " " "./abc"}' | sh
# ls
abc

天啊、555555、我的数据呢??怎么就剩下一个abc呢??这不科学呀、哦、、我肯定得被烧鱿鱼了
        
        经验教训:
        
        mv 移动时、保险点、用绝对路径、确保所在对象当前路径有、并且不要写错了
        
        
     
     
     ⑵ 慎用 rm
     
        Server上、发现空间不足、于是想删除一些临时日志来腾点空间
        以为自己已经在日志目录下了、也没仔细看、就直接运行 rm
        结果把系统中很多非常关键的脚本都清掉了、惊出一身冷汗
        本来就很忙、还花费了一下午的时间才把删除的文件重新恢复
        
        经验教训:
        
        1.备份,备份,还是备份;
        2.慎用或者alias rm='rm -i'或者不用rm命令;
        3.操作前,保持头脑清醒,知道自己在干什么;
        
        
        
     ⑶ 中文显示
     
        这第三小点呀、其实蛮常见的、论坛上很多人提问、为啥我OEM打开是乱码、为神马?神马啊
        
        赶脚中文无法显示、常见原因如下:
        
        ① 中文字符库没装 、yum install fonts-chinese
        ② 编码问题、用doc2unix转换一下、这一般发生在windows文件直接拷贝在Linux下打开
        ③ LC_ALL没设为LC_ALL=zh_CN.GBK;export LC_ALL、这个会覆盖LANG变量、而NLS_LANG是和数据库相关的环境变量
        
        
        
     ⑷ 清理磁盘空间
     
        
        有人问:啊、我expdp 到一半时怎么就给挂住了?求大神解释、赏分100、立马结贴
        如果我看到了、偶会拍案而起、走、看看磁盘空间去、
        是的、应该这样的、磁盘空间不足、常常导致APP挂起、然后故障就应时而起、大有蔚为大观之象也
        
        那咋办哩?有兴趣的朋友可参看偶之前的 2 篇文章:
        
        GNU/Linux 下寻找占用硬盘的大文件点击打开链接     
        
        秒删海量数据文件的方法点击打开链接

⑸ chmod 777
     
        人都是有惰性的、为图方便、777干上去、特别是初级DBA、完事了、拍拍屁股、K歌走起、
        然、这和DB 授权操作 "grant dba to sb" 有啥区别呢?
        SO、你不是完事了、你是摊上事了、摊上大事了
        
        经验教训:
        
        chmod g+w filename;
        
        虽然麻烦点(PS:其实也不麻烦)、安全了好多、晚上睡觉都可以直接打呼噜了
        
        
     ⑹ 转义
     
        抓急呀抓急、我们常常碰到某些文件或者目录、明明可见、却不能编辑、就好像它在嘲讽你:
        看不见我哈、你看不见我哟、你真看不见我哦。。。、我草、此时该是一肚子火

案例一:无法进入也无法删除的钉子目录
细心的你、应该发现了、NA和NC之间少了个NB哇、这中间用空格隔开了 [root@temp Desktop]# ls
NA NC
[root@temp Desktop]# cd NA NC
bash: cd: NA: 没有那个文件或目录
[root@temp Desktop]# rm -rf NA NC
[root@temp Desktop]# ls
NA NC

这便是令人闻风伤蛋的转义、有很多比如空格,换行啊,回车等等符号
        这个时候我们必须要考虑将这些操作写进\和/之间,这样才能让Linux成为知书达理的贤内助

        

     

     
⑺ 最熟悉的陌生人 

     

        越令你熟悉的命令越危险
        记住这句话、因为它是某位伟人说的、而这个伟人就是我 -_-!
        
        举个例子吧、比如:uname -a和 hostname 
        在Unix环境下、难免冲动了点、原本想uname -a、结果哩、敲成 hostname -a、我靠、完了、直接把主机名给改了
        在Linux环境下、还好、-a 只是表示把主机别名给陈列出来而已、
        
        这只是个简单的例子、我只想借助这个例子强调、小心你熟悉的命令!!

        

        

     
⑻ 虚空间增长

     

        

        有这样一个场景:
        你发现、磁盘空间满了、但你却无论如何也找不出大文件?
        导致你不知道到底是什么原因空间暴满,从而无从解决问题
        
        这便是所谓的虚空间增长
        
        举例说明:某时候有个程序由于某种异常在持续不断的往某文件里不停写入
        可是如果该文件在被不断写进的过程被人不小心给删除了
        由于程序未退出,写进动作还在进行中。。。。,这时空间就会不断变大
        但是我们却找不到这个大文件,原因很简单,被删除了当然找不到
        除非找到这个进程并强制杀掉这个进程,虚增长的空间才会立即释放,否则空间满问题就无法解决
        
        
        经验教训:
        
        在删除文件的时候(尤其在生产环境操作中)、应该再多做一步:观察进程的动作
        如果查看到引用某文件的进程还没停止、就暂时不要考虑去删除该文件

        

        

     

     
不知不觉、夜阑珊、顾影自怜、有谁怜?净自伤怀、不如睡去、未完待续

     

     

By David Lin 
2013-06-23
Good Luck 

DBA 应该要注意Linux 环境下的一些操作的更多相关文章

  1. oracle11G在linux环境下的卸载操作

    1.使用SQL*PLUS停止数据库[oracle@OracleTest oracle]$ sqlplus logSQL> connect / as sysdbaSQL> shutdown ...

  2. Linux环境下没有权限操作文件或目录

    linux下有超级用户(root)和普通用户,普通用户不能直接操作没有权限的目录,如果出现了没有权限的提示,可以尝试用su命令解决. 比如: #mkdir aaa 我要创建一个aaa的文件夹,没有操作 ...

  3. linux环境下mongodb启动操作

    pkill mongod 进入mongo shell :运行 db.shutdownServer() 1.进入mongo的shell  : mongo --port 1008 2.进入bin目录下 m ...

  4. linux环境下固定ip操作

    背景: 使用虚拟机管理软件VMvare workstation 安装好liunx虚拟机(centos)成功,下面为了固定linux的ip进行一系列设置 参考的文件有部分不是很详细,在借鉴它的基础上进行 ...

  5. linux环境下写C++操作mysql(二)

    main.cpp #include<stdio.h> #include<stdlib.h> #include"mysqlInterface.h" int m ...

  6. linux环境下写C++操作mysql(一)

    /***************** connect.cpp g++ connect.cpp -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ ...

  7. linux环境下,接着lnmp,安装redis

    linux环境下,安装redis   操作记录: 回到家目录 cd ~查看   ls进入   lump cd lnmp1.3-fullls??? sudo  ./addons.sh //---进入后选 ...

  8. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  9. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

随机推荐

  1. 【Tomcat】本地域名访问设置

    原路径:localhost:8080/tidyko 1.去掉8080端口 打开%TOMCAT_HOME%/conf/server.xml 修改里面的 <Connector connectionT ...

  2. BZOJ 1925: [Sdoi2010]地精部落( dp )

    dp(i,j)表示1~i的排列中, 以1~j为开头且开头是下降的合法方案数 这种数列具有对称性, 即对于一个满足题意且开头是上升的n的排列{an}, 令bn = n-an+1, 那么{bn}就是一个满 ...

  3. DE1-SOC的sof文件无法下载解决办法

    按照前面友晶科技的文档介绍一步步的做,后面发现根本无法下载sof文件. 通常思维: 一,器件选错了.器件选择错误会导致sof文件无法下载,至于这个ID具体怎么识别我没有追究.如果是这种错误Quartu ...

  4. ubuntu学习: apt-get命令

    1.apt-get update 更新软件源本地缓存文件 2.apt-cache search 查找软件包,找到想要安装的包,如 sudo apt-cache search mysql-server ...

  5. KINGSO介绍

    kingso_intro - Taocode KINGSO介绍 KINGSO是一种高效的垂直化的搜索引擎,其包含query解析.检索.过滤.统计.排序功能,不包含抓取部分.它对商品搜索做了针对性的优化 ...

  6. 组件接口(API)设计指南-文件夹

    组件接口(API)设计指南-文件夹 组件接口(API)设计指南[1]-要考虑的问题 组件接口(API)设计指南[2]-类接口(class interface) 组件接口(API)设计指南[3]-托付( ...

  7. AES SHA-1 SM3 MD5

    AES是美国国家标准技术研究所NIST旨在代替DES的21世纪的加密标准. 输入:128bit 的消息分组 输出:128bit 的密文分组 密钥长度及圈数 128 10 192 12 256 14 消 ...

  8. iOS WebCore的WebEvent和EventHandler

    WebEvent是iOS专有的类,负责封装和携带从UIKit得到的系统事件信息,并由WebKit层的WAKResponder子类传递到WebCore的EventHandler. UIKit层的逻辑可参 ...

  9. source insight 中文注释为乱码解决

    1. source insight 中文注释为乱码解决 http://blog.csdn.net/bingfeng1210/article/details/7527059 2. Source Insi ...

  10. 基于visual Studio2013解决C语言竞赛题之1005整理队形

         题目 解决代码及点评 /************************************************************************/ ...