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

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

2.B机器操作

A机器操作

0.系统版本:
[[email protected] 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
[[email protected] 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
show parameter control_files

这里需要根据当前的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 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.系统版本:
[[email protected] 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
[[email protected] irnop]# cat /etc/issue
Red Hat Enterprise Linux Server release 6.5 (Santiago)
Kernel \r on an \m

1.安装依赖包和调整系统参数

略。可参考:http://www.linuxidc.com/Linux/2015-05/117559.htm

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;

时间: 2024-12-18 05:25:06

Linux同平台Oracle数据库整体物理迁移的相关文章

如何手动的干净的删除linux上的ORACLE数据库

最近在用VMWARE虚拟机做ORACLE的数据库实验,我们都知道在WINDOWS上,我可以到添加删除程序里去自动删除已经安装的所有的应用程序,但是在LINUX上没有这个服务可以进行自动的删除,于是尝试了下手动的删除ORACLE数据库.具体步骤如下: 1,先查下ORACLE_SID,ORACLE_HOME.ORACLE_BASE的信息: [[email protected] dbs]$ echo $ORACLE_SID PROD [[email protected] dbs]$ echo $ORA

Linux下修改Oracle数据库字符集命令

常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle数据库到本地机器上 操作指令: [[email protected] ~]$ sqlplus /nolog SQL> conn /as sysdba; SQL>select userenv('language') from dual; SQL>SHUTDOWN IMMEDIATE SQL&g

linux下重启oracle数据库

在linux下重启oracle数据库及监听器: 方法1: 用root以ssh登录到linux,打开终端输入以下命令: cd $ORACLE_HOME   #进入到oracle的安装目录 dbstart           #重启服务器 lsnrctl start     #重启监听器 cd $ORACLE_HOME   #进入到oracle的安装目录dbstart           #重启服务器lsnrctl start     #重启监听器 -------------------------

连接Linux服务器操作Oracle数据库

连接Linux服务器操作Oracle数据库 由于项目已经上线,现场的数据库服务器不允许直接用Oracle的客户端plsqldev.exe来连接,只能通过Linux服务器的命令来操作. 以下是用SecureCRT 5.1客户端连接Linux服务器来操作Oracle数据库: 1.连接到Linux服务器(输入服务器的ip地址) ssh 10.199.94.227 连接成功后会提示输入密码,输入成功会提示. 2.切换到操作Oracle数据库 su - oracle 切换成功会提示相关数据库的实例.例如:

Linux 下安装oracle数据库

原文出处       http://www.linuxidc.com/Linux/2015-02/113222.html 需要安装Oracle DataGuard,所以先要安装单台Oracle11g,下面是Linux下单台Oracle11g的详细安装过程. 1,安装环境 硬件环境:2台linux虚拟机,CentOS6.4 ,4G ,4核,磁盘50G Oracle软件版本: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of

Linux环境下Oracle数据库启动停止命令

切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [[email protected] ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-NOV-2016 03:36:45 Copyright (c) 1991, 2009, Oracle. All righ

LINUX下为ORACLE数据库设置大页--hugepage

在Linux中配置hugepage可以提高oracle的性能,减少oracle sga的页交换,类似于aix中的lagepage. 为什么 使用大页? LINUX内存的默认块大小是4K如果SGA为:128Gselect 128*1024*1024/4 from dual;33554432个(三千多万),select 128*1024/2 from dual; 65536个每个内存页,有一个页表项(大概10个字节),记录页的状态.位置默认块大小是4K时--页表大小:320M.在大页下2M时,页表只

AppAssure备份Windows平台Oracle数据库

环境: AppAssure Core : 5.4.3.106 Oracle:  11g Enterprise Edition Release 11.2.0.1.0 -64bit OS: Windows Server 2012 R2 (Core Server and OracleDB) 备份恢复步骤如下: 1. 检查数据库模式, 查看数据库是否处于归档模式中 sqlplus / as sysdba SQL > archive log list 2. 若为非归档,则修改数据库归档模式 SQL > 

linux 命令启动Oracle数据库

首先使用oracle用户登录Linux,然后在shell命令行中执行下面的命令: 第一步:打开Oracle监听lsnrctl start 第二步:进入sqlplussqlplus /nologSQL> 第三步:使用sysdab角色登录sqlplusSQL> conn /as sysdba 第四步:启动数据库SQL> startup经过上面的四个步骤,startup oracle数据库就可以启动了.