您的位置:首页 > 数据库 > Oracle

Linux oracle单机停机迁移数据库(目标不安装oracle软件的情况)

2016-06-20 14:26 961 查看
本次将两台服务器采用直连方式通信(不占用交易网IP),原测试机器配置IP为11.11.11.1,新测试机器配置IP为11.11.11.2。

迁移前后OS版本及数据库版本完全一致。

原测试环境信息如下:

[root@lktest ~]# ifconfig

em1       Link encap:Ethernet  HWaddr 14:18:77:63:B4:4F

          inet addr:**.**.**.**  Bcast:**.**.**.**  Mask:255.255.255.0

          inet6 addr: fe80::1618:77ff:fe63:b44f/64 Scope:Link

          UP BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:4213 errors:0 dropped:0 overruns:0 frame:0

          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:386816 (377.7 KiB)  TX bytes:596 (596.0 b)

          Interrupt:40

em4       Link encap:Ethernet  HWaddr 14:18:77:63:B4:4E

          inet addr:11.11.11.1  Bcast:11.11.11.255  Mask:255.255.255.0

          inet6 addr: fe80::1618:77ff:fe63:b44e/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:286 errors:0 dropped:0 overruns:0 frame:0

          TX packets:177 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:27959 (27.3 KiB)  TX bytes:33913 (33.1 KiB)

          Interrupt:45

[root@lktest ~]# df -h

Filesystem                          Size  Used Avail Use% Mounted on

/dev/mapper/vg_lktest-lv_root      50G  3.1G   44G   7% /

tmpfs                                63G  460K   63G   1% /dev/shm

/dev/sda1                           485M   41M  419M   9% /boot

/dev/mapper/vg_lktest-lv_oradata  1.2T  705G  447G  62% /oradata

/dev/mapper/vg_lktest-lv_u01       79G  5.0G   70G   7% /u01

[root@lktest ~]# free -m

             total       used       free     shared    buffers     cached

Mem:        129013      74301      54711          0        188       7037

-/+ buffers/cache:      67074      61938

Swap:        32767         92      32675

SQL> show parameter spfile

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

spfile                               string      /u01/app/oracle/product/11.2.0

                                                 /dbhome_1/dbs/spfiletest.ora

SQL> show parameter contr

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

control_file_record_keep_time        integer     7

control_files                        string      /oradata/test/control01.ctl, /

                                                 oradata/test/control02.ctl, /o

                                                 radata/test/control03.ctl

control_management_pack_access       string      DIAGNOSTIC+TUNING

SQL> select name from v$datafile;

NAME

--------------------------------------------------------------------------------

/oradata/test/system01.dbf

/oradata/test/sysaux01.dbf

/oradata/test/undotbs01.dbf

/oradata/test/users01.dbf

/oradata/test/USERS.ORA

5 rows selected.

新测试环境信息如下:

[root@lktest1 ~]# cat /etc/issue

Red Hat Enterprise Linux Server release 6.5 (Santiago)

Kernel \r on an \m

[root@lktest1 ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda5        99G  2.9G   91G   4% /

tmpfs            32G  228K   32G   1% /dev/shm

/dev/sda3       485M   39M  421M   9% /boot

/dev/sda6        79G  7.4G   68G  10% /u01

/dev/sda8       1.2T  199M  1.1T   1% /oradata

[root@lktest1 ~]# free -m

             total       used       free     shared    buffers     cached

Mem:         64307       8941      55365          0         67       7923

-/+ buffers/cache:        950      63356

Swap:        32767          0      32767

使用oracle用户将原测试服务器oracle安装目录拷贝至新测试服务器:

[oracle@lktest u01]# scp -r app/ 11.11.11.2:/u01/

在新测试服务器上使用oracle用户relink:

[oracle@lktest1 ~]$ relink all

writing relink log to: /u01/app/oracle/product/11.2.0/dbhome_1/install/relink.log

[oracle@lktest1 ~]$

修改新测试服务器上的listener.ora tnsnames.ora中的主机名

配置原测试服务器和目标端oracle用户的等效性(以便后台拷贝数据文件使用):

sshUserSetup.sh -user oracle -hosts "11.11.11.1 11.11.11.2" -advanced –PromptPassphrase

编辑cp.sh脚本,内容如下:

scp -r test oracle@11.11.11.2:/oradata/

因数据量较大,后台执行拷贝命令:

[oracle@lktest oradata]$ nohup ./cp.sh &

[1] 39074

[oracle@lktest oradata]$ nohup: ignoring input and appending output to `nohup.out'

添加开机启动脚本:

[root@lktest ~]# cat /etc/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

su - oracle -c '/bin/bash /home/oracle/scripts/startupdb.sh'

[oracle@lktest ~]$ scp -r scripts/ oracle@11.11.11.2:/home/oracle/

startupdb.sh                                  100%  348     0.3KB/s   00:00

startupdb.sql                                 100%   13     0.0KB/s   00:00

因源端内存128GB,sga_target=64GB;迁移至新机器内存64GB,修改sga_max_size=30g,sgz_target=30g:

alter system set sga_max_size=30g scope=spfile;

alter system set sga_target=30g scope=spfile;

重启测试后正常:

[root@lktest1 ~]# reboot

Broadcast message from root@lktest1

        (/dev/pts/2) at 15:04 ...

The system is going down for reboot NOW!

[root@lktest1 ~]#

Session is closed

Disconnected from server

Last login: Fri Jun 17 14:58:45 2016 from 11.11.11.1

[root@lktest1 ~]#

[root@lktest1 ~]# su - oracle

oracle@lktest1 ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-JUN-2016 15:08:49

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

TNS-01106: Listener using listener name LISTENER has already been started

[oracle@lktest1 ~]$ ps -ef |grep ora_

oracle     3151      1  0 15:07 ?        00:00:00 ora_pmon_test

oracle     3153      1  0 15:07 ?        00:00:00 ora_psp0_test

oracle     3155      1  0 15:07 ?        00:00:00 ora_vktm_test

oracle     3159      1  0 15:07 ?        00:00:00 ora_gen0_test

oracle     3161      1  0 15:07 ?        00:00:00 ora_diag_test

oracle     3163      1  0 15:07 ?        00:00:00 ora_dbrm_test

oracle     3165      1  0 15:07 ?        00:00:00 ora_dia0_test

oracle     3167      1  4 15:07 ?        00:00:04 ora_mman_test

oracle     3169      1  0 15:07 ?        00:00:00 ora_dbw0_test

oracle     3171      1  0 15:07 ?        00:00:00 ora_dbw1_test

oracle     3173      1  0 15:07 ?        00:00:00 ora_dbw2_test

oracle     3175      1  0 15:07 ?        00:00:00 ora_dbw3_test

oracle     3177      1  0 15:07 ?        00:00:00 ora_lgwr_test

oracle     3179      1  0 15:07 ?        00:00:00 ora_ckpt_test

oracle     3181      1  0 15:07 ?        00:00:00 ora_smon_test

oracle     3183      1  0 15:07 ?        00:00:00 ora_reco_test

oracle     3185      1  0 15:07 ?        00:00:00 ora_mmon_test

oracle     3187      1  0 15:07 ?        00:00:00 ora_mmnl_test

oracle     3189      1  0 15:07 ?        00:00:00 ora_d000_test

oracle     3191      1  0 15:07 ?        00:00:00 ora_s000_test

oracle     3201      1  0 15:07 ?        00:00:00 ora_qmnc_test

oracle     3251      1  0 15:07 ?        00:00:00 ora_cjq0_test

oracle     3401      1  0 15:07 ?        00:00:00 ora_q000_test

oracle     3403      1  0 15:07 ?        00:00:00 ora_q001_test

oracle     3451   3426  0 15:08 pts/0    00:00:00 grep ora_

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ WRITE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: