oracle v rman status,ORACLE xtts + RMAN
前言:
XTTS(增强的表空间传输)是TTS(表空间传输)的增强版,可实现数据库之间的表空间迁移,特别是在异构环境下数据量特别大时是最佳的选择方案。XTTS+incarnation backup可以极大降低迁移时的停机时间窗口。通过多次增量备份恢复可达到减少和原库之间的日志间隔,从而达到降低最终迁移时的时间窗口。XTTS+incarnation backup 方式非常高效。下面演示如何使用XTTS+incarnationbackup方式迁移或者升级数据库。
说明:
既然环境为12C,那么为什么不使用12c的xtts呢?因为12c的xtts要求原库版本最低为12c所以目前12C的xtts使用范围还是比较小。11GR2提供了XTTS+incarnationbackup 功能,原库最低版本为10G,目标库版本必须为11.2.0.4,所以11GR2 的xtts 目前使用非常广泛。
环境:
Xtt版本:11.2.0.4
从linux 6 +oracle 11.2.0.3 到 linux 7 +oracle12.2.0.1.0
需要迁移表空间如下:
Tablespace Tablespace Alloc Free Used Used Tablespace Segmnet
Name Type Space Mb Space Mb Space Mb Percent % Status Management
-------------------- ---------- ------------------------ ------------ --------- ---------- ----------
YA_CLAIM_IDX PERMANENT 2,048 703 1,345 65.68% ONLINE AUTO
YA_CLAIM_DB PERMANENT 4,096 1,471 2,625 64.09% ONLINE AUTO
5 /u01/app/oracle/oradata/primary/ya_claim.dbf
6 /u01/app/oracle/oradata/primary/ya_claiminx.dbf
主要步骤说明:
1:准备阶段
建立directory 对象和dblink
配置环境变量
配置xtts 配置文件
通过dbms_file_transfer方式传输并转化字节编码(如果需要)
--建议使用dbms_file_transfer方式,即使在12c环境下。Rman方式详见mos文档。
2:前滚阶段
原库执行增量备份
传输增量备份到目标库
转换目标库的增量备份字节编码
--如果在此时原库添加了表空间或者增加了数据文件,那么需要执行额外操作,详见mos。
3:表空间传输阶段
原库表空间设置为只读
重复第二步操作
导入metadata数据到目标库
修改原库表空间为读写模式
4:后续验证数据
数据测试
详细操作步骤:
Note:
source_db: 表示在原库操作
dest_db:表示在目标库操作
1:准备阶段
source_db:
create directory sourcedir as'/u01/app/oracle/oradata/primary'
/
dest_db:
create directory destdir as '+DATA/ORCL/DATAFILE'
/
create public database link ttslink connect tosystem identified by system_user using
'
(DESCRIPTION=
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.55)(PORT=1521))
)
(connect_data =
(sid= primary)
)
)
'
/
select * from dual@ttslink
/
source_db:
[oracle@piamarydb xtt]$ unziprman_xttconvert_v3.zip
Archive: rman_xttconvert_v3.zip
inflating:xtt.properties
inflating:xttcnvrtbkupdest.sql
inflating:xttdbopen.sql
inflating:xttdriver.pl
inflating:xttprep.tmpl
extracting:xttstartupnomount.sql
vi xtt.properties
tablespaces=YA_CLAIM_DB,YA_CLAIM_IDX
platformid=13
srcdir=SOURCEDIR
dstdir=DESTDIR
srclink=TTSLINK
backupformat=/stage_source
stageondest=/stage_dest
backupondest=+DGDATA
asm_home=/u02/soft
asm_sid=+ASM
parallel=3
getfileparallel=4
使用dbms_file_transfer方式传输和转换数据文件。
srcdir,dstdir--指定原库和目标库目录名--详细阅读xtt.properties注释
backupformat--指定增量备份在原库存放位置
stageondest--指定增量备份在目标库存放位置
backupondest--指定增量备份转换后在目标库存放位置,如果指定为ASM磁盘组,需要设置asm_home和asm_sid
因为使用dbms_file_transfer方式,不需要数据文件在原库和目标库存放和转换位置,该方式使用dblink在传输时自动转换字节编码,推荐使用该方式。
scp -r /home/oracle/xtt192.168.56.101:/home/oracle/xtt
mkdir /stage_source
chown -R oracle.oinstall /stage_source
export TMPDIR=/home/oracle/xtt
dest_db:
mkdir /stage_dest
chown -R oracle.oinstall /stage_dest
export TMPDIR=/home/oracle/xtt
source_db:
$ORACLE_HOME/perl/bin/perl xttdriver.pl -S
scp /home/oracle/xtt/xttnewdatafiles.txt192.168.56.101:/home/oracle/xtt
scp /home/oracle/xtt/getfile.sql192.168.56.101:/home/oracle/xtt
dest_db:
$ORACLE_HOME/perl/bin/perl xttdriver.pl -G
监控:
source_db:
USERNAME SID SQL_ID SQL_TEXT EVENT BLOCKER wait(s) SEQ# MODULE
------------ --------------------- ---------------------------- ------------------- --------------- ------- ----------
12 control file parall _ 0 17693 (CKPT)
SYSTEM 35 2q93zsrvbdw48 select grantee#,privilege#,n dbms_file_transfer _ 0 891 oracle@ser
dest_db:
DATAFILE UNPROT COARSE OCT 07 09:00:00 N ya_claim.dbf => +DATA/orcl/DATAFILE/FILE_TRANSFER.366.988882977
DATAFILE UNPROT COARSE OCT 07 09:00:00 N ya_claiminx.dbf => +DATA/orcl/DATAFILE/FILE_TRANSFER.367.988882977
虚拟机环境,4g大小数据文件,速度大概4分钟,效率较高,磁盘使用率没有发现100%,
我的测试环境没有发生格式转换所以速度较快。
原库修改数据,做测试用:
SQL> select count(*) from yaclaim.c_pay;
COUNT(*)
----------
3830915
SQL> delete from yaclaim.c_pay whererownum<1200;
SQL> commit;
SQL> select count(*) from yaclaim.c_pay;
COUNT(*)
----------
3829716
2:前滚阶段:
source_db:
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
磁盘93%--红色,该步骤会消耗IO资源
[oracle@piamarydb xtt]$ ls /stage_source/
0ftf1f4h_1_1 0gtf1f69_1_1 0htf1f6c_1_1 0itf1f76_1_1
scp `cat incrbackups.txt`@192.168.56.101:/stage_dest
scp /home/oracle/xtt/xttplan.txt@192.168.56.101:/home/oracle/xtt
scp /home/oracle/xtt/tsbkupmap.txt@192.168.56.101:/home/oracle/xtt
dest_db:
[grid@serdb ~]$ ls /stage_dest/
0ftf1f4h_1_1 0htf1f6c_1_1
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
Connected to an idle instance.
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
Connected to an idle instance.
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
以为上面为报错信息,再次运行-r , 报错如下
--------------------------------------------------------------------
Start rollforward
--------------------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Error:
------
No tablepsace entries found
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
进入asm磁盘组查看转换的增量备份已经存在,应该已经应用!
ASMCMD> ls -l
Type Redund Striped Time Sys Name
Y ORCL/
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0ftf1f4h_1_1_5 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.256.988884637
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0htf1f6c_1_1_6 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.257.988884637
所以先不管Connected to an idle instance. 信息
3: 表空间传输
source_db: create_scn
$ORACLE_HOME/perl/bin/perl xttdriver.pl -s
alter tablespace YA_CLAIM_DB read only;
alter tablespace YA_CLAIM_IDX read only;
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
scp `cat incrbackups.txt`@192.168.56.101:/stage_dest
scp /home/oracle/xtt/xttplan.txt@192.168.56.101:/home/oracle/xtt
scp /home/oracle/xtt/tsbkupmap.txt@192.168.56.101:/home/oracle/xtt
destdb:
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
Error:
------
Somefailure occurred. Check /home/oracle/xtt/FAILED for more details
If youhave fixed the issue, please delete /home/oracle/xtt/FAILED and run it
againOR run xttdriver.pl with -L option --提示使用-L选择执行
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[oracle@serdb xtt]$ id
[oracle@serdb xtt]$ more FAILED
No tablepsace entries found --这个报错也许是因为上面我们运行了两次。
使用-L 选项执行:
[oracle@serdb xtt]$ $ORACLE_HOME/perl/bin/perlxttdriver.pl -r -L
Connected to an idle instance. --先不理
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
Connected to an idle instance.
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
--------------------------------------------------------------------
End of rollforward phase
--------------------------------------------------------------------
ASMCMD> ls -l
Type Redund Striped Time Sys Name
Y ORCL/
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0ftf1f4h_1_1_5 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.256.988884637
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0htf1f6c_1_1_6 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.257.988884637
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0jtf1gc5_1_1_5 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.259.988885807
BACKUPSET UNPROT COARSE OCT 07 10:00:00 N xib_0ltf1gdv_1_1_6 =>+DGDATA/ORCL/BACKUPSET/2018_10_07/nnndn0_0.258.988885807
建立impdp 脚本:
$ORACLE_HOME/perl/bin/perl xttdriver.pl -e
create directory xttdir as '/stage_dest'
/
修改脚本:
impdp \'/ as sysdba\' directory=xttdirlogfile=tts_imp.log \
network_link=ttslink transport_full_check=no \
transport_tablespaces=YA_CLAIM_DB,YA_CLAIM_IDX \
transport_datafiles='+DATA/ORCL/DATAFILE/ya_claim.dbf','+DATA/ORCL/DATAFILE/ya_claiminx.dbf'
执行报错:
ORA-29342: user YACLAIM does not exist in thedatabase
因为没有该用户!
create user YACLAIM identified by YACLAIM;
[oracle@serdb ~]$ impdp \'/ as sysdba\'directory=xttdir logfile=tts_imp.log network_link=ttslinktransport_full_check=no transport_tablespaces=YA_CLAIM_DB,YA_CLAIM_IDXtransport_datafiles='+DATA/ORCL/DATAFILE/ya_claim.dbf','+DATA/ORCL/DATAFILE/ya_claiminx.dbf'
Import: Release 12.2.0.1.0 - Production on Sun Oct7 10:41:48 2018
Copyright (c) 1982, 2017, Oracle and/or itsaffiliates. All rights reserved.
Connected to: Oracle Database 12c EnterpriseEdition Release 12.2.0.1.0 - 64bit Production
Starting"SYS"."SYS_IMPORT_TRANSPORTABLE_01": "/******** AS SYSDBA"directory=xttdir logfile=tts_imp.log network_link=ttslinktransport_full_check=no transport_tablespaces=YA_CLAIM_DB,YA_CLAIM_IDXtransport_datafiles=+DATA/ORCL/DATAFILE/ya_claim.dbf,+DATA/ORCL/DATAFILE/ya_claiminx.dbf
Processing object typeTRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object typeTRANSPORTABLE_EXPORT/INDEX/INDEX
Processing object typeTRANSPORTABLE_EXPORT/CONSTRAINT/CONSTRAINT
Processing object typeTRANSPORTABLE_EXPORT/INDEX_STATISTICS
Processing object type TRANSPORTABLE_EXPORT/COMMENT
Processing object type TRANSPORTABLE_EXPORT/TRIGGER
Processing object typeTRANSPORTABLE_EXPORT/TABLE_STATISTICS
Processing object typeTRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job"SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completedat Sun Oct 7 10:42:30 2018 elapsed 0 00:00:41
SQL> select count(*) from yaclaim.c_pay;
COUNT(*)
----------
3829716
SQL> @tbs
Tablespace Tablespace Alloc Free Used Used Tablespace Segmnet
Name Type Space Mb Space Mb Space Mb Percent % Status Management
------------------------------ ------------ ------------ ------------ --------- --------------------
TEST PERMANENT 1,517 93 1,424 93.87% ONLINE AUTO
SYSAUX PERMANENT 1,234 243 991 80.30% ONLINE AUTO
SYSTEM PERMANENT 1,304 365 939 72.04% ONLINE MANUAL
YA_CLAIM_IDX PERMANENT 2,048 703 1,345 65.68% READ ONLY AUTO
YA_CLAIM_DB PERMANENT 4,096 1,462 2,634 64.31% READ ONLY AUTO
USERS PERMANENT 5 4 1 25.00% ONLINE AUTO
UNDOTBS1 UNDO 161 124 37 22.71% ONLINE MANUAL
BFTBS PERMANENT 50 44 6 12.12% ONLINE AUTO
UNDOTBS2 UNDO 3,642 3,508 134 3.68% ONLINE MANUAL
DATA PERMANENT 4,096 4,011 85 2.08% ONLINE AUTO
TEMP TEMPORARY 117 115 2 1.71% ONLINE MANUAL
********************---------- ------------ ------------ ------------
Count: 11
Total: 18,270 10,672 7,598
11 rows selected.
alter user YACLAIM DEFAULT TABLESPACE YA_CLAIM_DB
成功!
所以上面的
Connected to an idle instance. --不用理
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
Connected to an idle instance.
ASMCMD-8102: no connection to Oracle ASM; commandrequires Oracle ASM to run
alter tablespace YA_CLAIM_DB read write;
alter tablespace YA_CLAIM_IDX read write;
其实原库是存在standby,xtts 完成后启动备库:
SQL> startup
ORACLE instance started.
Total System Global Area 680607744 bytes
Fixed Size 2231472 bytes
Variable Size 239076176 bytes
Database Buffers 436207616 bytes
Redo Buffers 3092480 bytes
Database mounted.
Database opened.
SQL> alter database recover managed standbydatabase using current logfile disconnect;
Database altered.
SQL> select count(*) from yaclaim.c_pay;
COUNT(*)
----------
3829716
备库数据也已经同步,xtts对备库本来也就没什么影响
oracle v rman status,ORACLE xtts + RMAN相关推荐
- oracle v$context,30.Oracle杂记——Oracle常用动态视图v$session
30.Oracle杂记--Oracle常用动态视图v$session 视图v$session:有关会话的信息 这个视图包含了超级多的列,说明其包含巨大的信息,小伙伴千万要记得使用,不然浪费掉了ORAC ...
- oracle v$system_event,45.Oracle杂记——Oracle常用动态视图v$system_event
45.Oracle杂记--Oracle常用动态视图v$system_event 视图v$system_event 显示一个事件的总共等待. 如果不支持计时机制,那么TIME_WAITED和AVERAG ...
- oracle v$sql last_load_time,Oracle 等待事件V$视图
等待事件V$视图 本节包含一些显示等待事件的V$ 脚本.从个人角度来说,我更喜欢使用STATSPACK 报表.AWR 报表或企业管理器来查找等待事件.也就是说,有些很好的视图可以查看等待事件. Ora ...
- oracle v session表,Oracle技术之V$SESSION_LONGOPS超过系统时间
检查一个系统,意外发现数据库的v$session_longops中时间远远超过了系统时间. 查询结果如下: [oracle@datasd ~]$ sqlplus / as sysdba SQL*Plu ...
- oracle v session表,Oracle临时表(Session临时表与Transaction临时表)
一.临时表与临时表分类 临时表是在Oracle 8i中引入一种新的表的种类.Oracle数据库中的临时表是一种特殊的表,它可以作为临时保存数据的一种方式.Session级临时表是指在一个会话周期内都数 ...
- oracle v¥bh,ORACLE数据库sql语言、函数及常用命令
file=c:\database\ydxt200108170926.dmp log=c:\database\ydxt200108170926.log fromuser=cur touser=cur1 ...
- oracle 测试库搭建,Oracle Study之--通过RMAN克隆测试库
Oracle Study之--通过RMAN克隆测试库 通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库.这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆 ...
- oracle 11g rman catalog,Oracle 11g RMAN复制数据库的测试
RMAN支持两种类型复制:活动数据库复制和基于备份的复制,主要用来建立测试库.分别进行测试 我们把要复制的数据库称为源数据库(SOURCE DB=orcl),复制后的数据库成为目标数据库(TARGET ...
- Oracle 11g 中恢复管理器RMAN介绍
这是我平时摘录的笔记,从管理艺术那本书上摘录出来的,放到这里 RMAN 可在数据库服务器的帮助下从数据库内备份数据文件,可构造数据文件映像副本.控制文件和控制文件映像.对当日志 SPFILE 和RMA ...
- oracle增量恢复dg备库,rman增量恢复DG备库出现GAP的情况
主库归档被意外删除,备库复制出现问题,alter日志如下: Wed Apr 01 10:16:15 2015 Media Recovery Log /tol/archivelog/1_587399_7 ...
最新文章
- Python实现前端AES加密方式分析,***密码学必备!
- 直线和圆交点 halcon_初中数学三角形、四边形、圆辅助线的添加方法
- 整体管理6个过程及相关重点
- SAP Spartacus后台CMS Component和Angular Component的映射关系
- 项目经理让我陪着技术加班
- 队列的链式存储结构及实现
- 单片机按键使用程序 (51单片机)
- mysql语法子查询_(十四)MySQL语法-子查询(二)
- 如何在几秒钟内退出所有 Mac 应用程序?
- JDBC:java数据库连接对象
- UI自动化测试之元素定位
- 控制工程中的数学建模(1)——二阶有源低通滤波器(之一)
- 使用云服务器搭建Linux学习环境
- python 批量视频编辑_python实现批量视频分帧、保存视频帧
- Android内存泄漏leakcanary2.7
- WebStorm--常用插件
- Java 中验证时间格式的 4 种方法
- ccd视觉定位教程_什么是CCD视觉定位自动焊锡机器人?
- 【php】empty()详解
- 各类VRP问题标准算例资源汇总