首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux同平台数据库整体物理迁移

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

作者头像
Alfred Zhao
发布2022-05-06 14:19:48
发布2022-05-06 14:19:48
46800
代码可运行
举报
运行总次数:0
代码可运行

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

需求:A机器不再使用,要将A机器的Oracle迁移到B机器。

之前写过类似需求的文章:https://cloud.tencent.com/developer/article/1431998

本文这次旨在更多用到自动化通用的整合脚本去实现同平台的数据库整体迁移。

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

A机器操作

代码语言:javascript
代码运行次数:0
运行
复制
 ## 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 \r 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文件,后面要用到。

代码语言:javascript
代码运行次数:0
运行
复制
create pfile from spfile;

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

代码语言:javascript
代码运行次数:0
运行
复制
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.干净关闭数据库:

代码语言:javascript
代码运行次数:0
运行
复制
shutdown immediate;

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

代码语言:javascript
代码运行次数:0
运行
复制
echo $ORACLE_BASE
/ora/app/oracle
tar -zcvf /tmp/oracle.tar.gz /ora/app/oracle

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

B机器操作

代码语言:javascript
代码运行次数:0
运行
复制
 ## 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 \r 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'` 
代码语言:javascript
代码运行次数:0
运行
复制
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

代码语言:javascript
代码运行次数:0
运行
复制
SQL> alter database mount;

Database altered.

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

代码语言:javascript
代码运行次数:0
运行
复制
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

代码语言:javascript
代码运行次数:0
运行
复制
old_name: /xxx/oradata
new_name: /new/oradata  

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

代码语言:javascript
代码运行次数:0
运行
复制
select name from v$datafile union all
select name from v$tempfile union all
select member from v$logfile;

修改系统的目录权限:

代码语言:javascript
代码运行次数:0
运行
复制
chown -R oracle:oinstall /new/oradata

6.打开数据库:

代码语言:javascript
代码运行次数:0
运行
复制
SQL> alter database open;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • A机器操作
    • 3.数据文件、临时文件、控制文件、重做日志文件的位置
    • 4.干净关闭数据库:
    • 5.确定ORACLE软件目录并打包传到B机器
  • B机器操作
    • 4.启动到mount
    • 5.数据文件,临时文件,日志文件的rename重定向
    • 6.打开数据库:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档