RMAN数据库迁移

Posted 囧囧友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RMAN数据库迁移相关的知识,希望对你有一定的参考价值。

2015年12月3日23:30

RMAN源数据库(IP地址:192.168.0.254)备份:

SQL>shutdown immediate

SQL>startup nomount

SQL>alter database mount;

------cmd

Rman target /

------Rman命令:

RMAN>run{Backup database format \'E:\\databak\\dbfull_%U.bak\';

Backup current controlfile format \'E:\\databak\\controlfile_%U.bak\';}

数据备份到E盘databak文件夹,备份文件大小47.7GB,如下图:

 

 

2015年12年4日00:10 -- 01:30

拷贝RMAN备份数据

从源数据库,拷贝到目标数据库(IP地址:192.168.200.88),拷贝到E盘databak文件夹。

 

2015年12年4日01:30 -- 02:20

RMAN恢复目标数据库

SQL>shutdown immediate

SQL>startup nomount

------cmd

Rman target /

------Rman命令:

RMAN>restore controlfile from \'E:\\databak\\CONTROLFILE_0AQNU72U_1_1.BAK\';

RMAN>alter database mount;

RMAN>restore database;

….

-----恢复完成后打开数据库,详细命令如下:

SQL>alter database open resetlogs;

 

2015年12年4日02:30 -- 02:40

验证目标数据库,修改目标数据库IP地址为192.168.0.254

 

 

2015年12年4日09:00 -- 09:30

处理两个问题

 

1、第一个问题:

ORA-01187:由于验证测试失败而无法从文件  读取

问题分析:

select * from dba_temp_files;查询临时表空间,报错如下图:

怀疑是temfile临时文件损坏了。

解决办法:

是删除旧的数据文件,创建新的数据文件。

alter tablespace temp add tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\TEMP01.DBF\' size 100M;

alter database tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\TEMP01.DBF\' drop;

alter tablespace temp add tempfile \'D:\\APP\\ADMINISTRATOR\\ORADATA\\ORCL\\TEMP01.DBF\' size 200m reuse;

select * from v$datafile;

select * from dba_temp_files;

 

2、第二个问题:

Oracel数据库连接时出现:ORA-12518:监听程序无法分发客户机连接

问题分析:

应用程序客户端原连接客户正常,并且可以正常数据交互;新增加客户连接数据库时,报错。PLSQL连接服务器也报同样的错误提示。

怀疑是连接数据库进程数process和会话数sessions受限。

解决办法:

查询当前ORACLE数据库的进程数process和系统会话数sessions,查看spfile参数文件中的设置。并适当调整其大小值。

select count(*) from v$process; 

select count(*) from v$session; 

注:系统进程数process和系统会话数session之间存在一个关系:process数=session数*1.1+5

 

Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 

Connected as sys

SQL> show parameter processes;

 

NAME                                 TYPE        VALUE

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

aq_tm_processes                      integer     0

cell_offload_processing              boolean     TRUE

db_writer_processes                  integer     2

gcs_server_processes                 integer     0

global_txn_processes                 integer     1

job_queue_processes                  integer     1000

log_archive_max_processes            integer     4

processes                            integer     300

 

SQL> show parameter session;

 

NAME                                 TYPE        VALUE

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

java_max_sessionspace_size           integer     0

java_soft_sessionspace_limit         integer     0

license_max_sessions                 integer     0

license_sessions_warning             integer     0

session_cached_cursors               integer     50

session_max_open_files               integer     10

sessions                             integer     480

shared_server_sessions               integer     

 

SQL> show parameter sga

 

NAME                                 TYPE        VALUE

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

lock_sga                             boolean     FALSE

pre_page_sga                         boolean     FALSE

sga_max_size                         big integer 3280M

sga_target                           big integer 0

 

SQL> show parameter pga

 

NAME                                 TYPE        VALUE

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

pga_aggregate_target                 big integer 0

 

以上是关于RMAN数据库迁移的主要内容,如果未能解决你的问题,请参考以下文章

使用rman迁移数据库到异机

Oracle数据库从RMAN备份集片段还原指定单个归档日志进行日志挖掘分析

RMAN迁移数据库(不改变文件目录)

转 TTSAIX平台数据库迁移到Linux--基于RMAN(真实环境)

通过RMAN duplicate迁移数据库(单机到单机)

Oracle 11g使用rman从单实例迁移到RAC