• Linux同平台数据库整体物理迁移


    Linux同平台数据库整体物理迁移
    需求:A机器不再使用,要将A机器的Oracle迁移到B机器。
    之前写过类似需求的文章:http://www.cnblogs.com/jyzhao/p/3968504.html
    本文这次旨在更多用到自动化通用的整合脚本去实现同平台的数据库整体迁移。

    1. A机器操作
    2. B机器操作

    A机器操作

    ## 0.系统版本: ## [root@DB-A tmp]# uname -a Linux DB-A 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux [root@DB-A tmp]# cat /etc/issue Red Hat Enterprise Linux Server release 6.4 (Santiago) Kernel on an m ## 1.A数据库当前信息 ## select status from v$instance union all select open_mode from v$database union all select * from v$version where rownum = 1; ## 2.确认参数文件的位置 ## show parameter pfile

    这里需要根据当前的spfile创建pfile文件,后面要用到。

    create pfile from spfile;
    

    3.数据文件、临时文件、控制文件、重做日志文件的位置

    set linesize 140 pagesize 100
    select name from v$datafile union all
    select name from v$tempfile union all
    select name from v$controlfile union all
    select member from v$logfile;
    

    4.干净关闭数据库:

    shutdown immediate;
    

    5.确定ORACLE软件目录并打包传到B机器

    echo $ORACLE_BASE
    /ora/app/oracle
    tar -zcvf /tmp/oracle.tar.gz /ora/app/oracle
    

    将打包的Oracle软件目录以及所有的参数文件,控制文件,数据文件,临时文件,重做日志文件都拷贝到B机器。

    B机器操作

    ## 0.系统版本: ## [root@DB-B irnop]# uname -a Linux DB-B 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux [root@DB-B irnop]# cat /etc/issue Red Hat Enterprise Linux Server release 6.5 (Santiago) Kernel on an m ## 1.安装依赖包和调整系统参数 ## 略。可参考:[http://www.cnblogs.com/jyzhao/p/3891769.html](http://www.cnblogs.com/jyzhao/p/3891769.html) ## 2.解压ORACLE_HOME到B机器上规划的软件安装目录:/u01/app/oracle ## tar zxvf oracle.tar.gz 解压后的oracle目录直接mv到/u01/app下 ## 3.修改参数文件pfile并启动数据库到nomount ## 根据B机器实际情况修改数据库占用内存的值,并确认参数文件中写的路径都是存在的。 `startup nomount pfile='$ORACLE_HOME/dbs/initirnop.ora'`
    SQL> startup nomount pfile='$ORACLE_HOME/dbs/initirnop.ora'
    ORACLE instance started.
    
    Total System Global Area 2.3717E+10 bytes
    Fixed Size  2239176 bytes
    Variable Size1.3153E+10 bytes
    Database Buffers 1.0536E+10 bytes
    Redo Buffers   25612288 bytes
    

    4.启动到mount

    SQL> alter database mount;
    
    Database altered.
    

    5.数据文件,临时文件,日志文件的rename重定向

    set linesize 140 pagesize 100
    select 'alter database rename file '''||name||''' to ''/xxx'||name||''';' from v$datafile union all
    select 'alter database rename file '''||name||''' to ''/xxx'||name||''';' from v$tempfile union all
    select 'alter database rename file '''||member||''' to ''/xxx'||member||''';' from v$logfile;
    

    根据实际情况将old_name替换成new_name

    old_name: /xxx/oradata
    new_name: /new/oradata  
    

    然后执行重定向SQL,检查当前路径是否修改正确:

    select name from v$datafile union all
    select name from v$tempfile union all
    select member from v$logfile;
    

    修改系统的目录权限:

    chown -R oracle:oinstall /new/oradata
    

    6.打开数据库:

    SQL> alter database open;
  • 相关阅读:
    Linux指令面试题01-进程查看与终止
    微信网页授权
    腾讯视频怎么转成mp4模式 软件 工具 方法 最新【已解决】
    表操作,多对一、多对多、一对一
    初识数据库,基础sql语句
    IO多路复用
    协程:gevent
    线程:threading
    进程:multiprocessing
    利用socket与ssl模块读取网页内容
  • 原文地址:https://www.cnblogs.com/jyzhao/p/4503138.html
Copyright © 2020-2023  润新知