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