oracle在linux下数据库冷备份其实是很简单的,大家都知道在linux下只要是环境变量部署妥当,什么程序都可以随便的移动,当然是在环境变量修改或配置正确的前提下。前面我写过一篇mysql数据库的冷备份,其实就是用的以上原理,那oracle数据库也是可以的,都是在linux下吗,肯定要遵循操作系统的规则。在我实际的工作中,经常把数据库冷备份然后在别的服务器上恢复,主要是为了简单方便和节省时间。当然,oralce数据库服务器硬盘在发生灾难的时候,不得不进行这样的恢复,这里指的是计较数据的时效性。我的备份方式是安装目录全文件CP,而不是单单CP时间文件、控制文件等。

   我的配置环境centos 6.4 x86 Oracle 11g R2 ,下面我的安装过程记录下来

   一、yum补全依赖的软件包

   yum install  binutils-2.*

   yum install  compat-libstdc++-33* 

   yum install elfutils-libelf-0.*

   yum install elfutils-libelf-devel-*

   yum install glibc-common-2.* glibc-devel-2.* glibc-headers-2.* libaio-0.*

   yum install libaio-devel-0.*

   yum install libgcc-4.* 

   yum install libstdc++-4.* libstdc++-devel-4.* 

   yum install make-3.* 

   yum install sysstat-*

   yum install unixODBC-2.* unixODBC-devel-2.* 

注意:为避免与pdksh冲突,ksh-2*包可以不安装或在安装完pdksh以后再安装,我一般都不安装ksh-2*包。我下载安装的是pdksh-5.2.14-37.el5_8.1.x86_64.rpm

   最后yum install libXp

   二、建立oracle的组和用户

   因是冷备份,所以不需要建立oralce的目录,直接去建立组和用户并指定目录。

   groupadd oinstall

   groupadd dba

   useradd -m -g oinstall -G dba oracle

   chown -R oracle:oinstall /opt/ora11/

wKiom1NaHtaB6RGgAABP7Pln6xk252.jpg

   三、修改内核的配置

添加kernel.shmmax = 536870912 
   kernel.shmmni = 4096  
   kernel.sem = 250 32000 100 128  
   net.ipv4.ip_local_port_range = 9000 65500 
   net.core.rmem_default = 4194304 
   net.core.rmem_max = 4194304 
   net.core.wmem_default = 262144 
   net.core.wmem_max = 1048576 
   fs.aio-max-nr = 1048576

   fs.file-max = 6815744      

   /sbin/sysctl -p  使配置生效

oracle linux下数据迁移到不同服务器_第1张图片

   四、修改系统的限制资源    

   vim /etc/security/limits.conf

添加 oracle soft nproc 2047

     oracle hard nproc 16384

     oracle soft nofile 1024

     oracle hard nofile 65536

     oracle soft stack 10240                      

oracle linux下数据迁移到不同服务器_第2张图片

   五、修改profile

   vim /home/oracle/.bash_profile

添加ORACLE_BASE=/opt/ora11/oracle  
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 
    ORACLE_SID=souakcms  
    LD_LIBRARY_PATH=$ORACLE_HOME/lib  
    PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin  
    export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH              

oracle linux下数据迁移到不同服务器_第3张图片

    这里是关键的地方,一定要细心配置,把oralce安装路径和目录配置对。

    六、验证变量环境

    最好reboot下服务器,防止有的修改未生效带来报错。大家可能觉得少些步骤,其实在oracle

R2后就不需别的配置。

    su - oracle  登入oracle用户

    输入sqlplus / as sysdba

oracle linux下数据迁移到不同服务器_第4张图片

    能进入这步说明,环境变量已配置成功,下面我们就要启动oracle。

    七、登入oracle

    这时,我们不要急于启动oracle,还需做些启动数据库的准备工作。

wKiom1NbAOOSyVL7AAAxZU0YoNk327.jpg

    进入上面路径, vi tnsnames.ora   

oracle linux下数据迁移到不同服务器_第5张图片

   vi listener.ora

oracle linux下数据迁移到不同服务器_第6张图片

    首先启动监听

oracle linux下数据迁移到不同服务器_第7张图片

  可以了,登录数据库,启动试试吧

oracle linux下数据迁移到不同服务器_第8张图片

慎重起见我先挂载,出现下图说明无问题

oracle linux下数据迁移到不同服务器_第9张图片

打开数据库吧

oracle linux下数据迁移到不同服务器_第10张图片

试试关闭数据库正常不?

wKiom1NbBayTGb-zAAA5BlvyOIw829.jpg

    冷迁移oracle数据库就完成了,呵呵 是不是有些成功的小喜悦呢,赶紧使用PLSQLDeveloper登入,这时你会发现还是打不开,因为什么你应该知道的,呵呵!

    命令进入oracle

alter user system identified by admin888;
alter user system account unlock;

    一切都搞定!