dbms_file_transfer这个包可以在两个位置传输文件,分别可以有以下位置:

a 从一个asm diskgroup传输到另外一个asm diskgroup

b 从一个asm diskgroup传输到本地磁盘文件

c 从本地磁盘文件传输到asm

d 从一个计算机传输到另外一台计算机

分别有三种方法:

a copy_file 文件从一个目录拷贝到另外一个目录,只能本地传输

b get_file 把远程的文件拷贝到本地的目录中

c put_file 把本地文件拷贝到远程的目录中

1、 创建一个测试表空间

SQL> create tablespace kel;

Tablespace created.

SQL> select file_name from dba_data_files where tablespace_name='KEL';

FILE_NAME
--------------------------------------------------------------------------------
+RECOVER/omf/datafile/kel.272.852423821

2、创建测试表

SQL> create table a (id int,name char(10)) tablespace kel;

Table created.

3、 插入测试数据

SQL> insert into a values (1,'aa');

1 row created.

4、 用analyze进行分析

SQL> analyze table a compute statistics;--对表进行分析

Table analyzed.
SQL> select blocks from user_tables where table_name='A';--数据表占用5个块

    BLOCKS
----------
5 SQL> select dbms_rowid.rowid_relative_fno(rowid) r_fno,--这个表的数据存放在数据文件5的12块上
2 dbms_rowid.rowid_block_number(rowid) b_no,id
3 from a order by 1,2; R_FNO B_NO ID
---------- ---------- ----------
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1 R_FNO B_NO ID
---------- ---------- ----------
5 12 1
5 12 1
5 12 1
5 12 1
5 12 1 16 rows selected.

5、查看数据文件5的位置

SQL> select name from v$datafile where file#=5;

NAME
--------------------------------------------------------------------------------
+RECOVER/omf/datafile/kel.272.852423821

6、创建两个目录

SQL> create directory sd as '+recover/omf/datafile';--创建的时候,目录是必须存在的,否则会出现错误

Directory created.

SQL> create directory dd as '/home/oracle/backuptest';--删除目录的语法是drop directory name

Directory created.

7、 将数据文件offline

SQL> alter database datafile 5 offline;

Database altered.

8、 把文件从ASM拷贝到本地文件系统中

SQL> begin
2 dbms_file_transfer.copy_file('sd','KEL.272.852423821','dd','kel.dbf');
3 end;
4 / PL/SQL procedure successfully completed.

9、确认拷贝成功

[oracle@kel backuptest]$ ls -l kel.dbf
-rw-r----- 1 oracle oinstall 104865792 Jul 9 00:40 kel.dbf

10、对文件进行检查

[oracle@kel backuptest]$ dbv file=kel.dbf 

DBVERIFY: Release 10.2.0.1.0 - Production on Wed Jul 9 00:42:10 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = kel.dbf

DBVERIFY - Verification complete

Total Pages Examined         : 12800
Total Pages Processed (Data) : 5
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 11
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 12784
Total Pages Marked Corrupt : 0 ---表示文件没有坏块
Total Pages Influx : 0
Highest block SCN : 587508 (0.587508)

11、使用bbed破坏数据文件

查看bbed的两个参数文件:

[oracle@kel backuptest]$ cat bbed.par --自己编辑生成的参数文件
blocksize=8192
listfile=list
mode=edit
[oracle@kel backuptest]$ cat list
5 /home/oracle/backuptest/kel.dbf 104865792 --表示的含义为文件号、文件名、文件大小
[oracle@kel backuptest]$ bbed parfile=bbed.par  --BBED的密码为blockedit
Password: BBED: Release 2.0.0.0.0 - Limited Production on Wed Jul 9 00:46:52 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. ************* !!! For Oracle Internal Use only !!! *************** BBED> set dba 5,12 --注意5,12的由来,注意上面分析的结果
DBA 0x0140000c (20971532 5,12) BBED> find /c a
File: /home/oracle/backuptest/kel.dbf (5)
Block: 12 Offsets: 7923 to 8191 Dba:0x0140000c
------------------------------------------------------------------------
61612020 20202020 20202c01 0202c102 0a616120 20202020 2020202c 010202c1
020a6161 20202020 20202020 2c010202 c1020a61 61202020 20202020 202c0102
02c1020a 61612020 20202020 20202c01 0202c102 0a616120 20202020 2020202c
010202c1 020a6161 20202020 20202020 2c010202 c1020a61 61202020 20202020
202c0102 02c1020a 61612020 20202020 20202c01 0202c102 0a616120 20202020
2020202c 010202c1 020a6161 20202020 20202020 2c010202 c1020a61 61202020
20202020 202c0102 02c1020a 61612020 20202020 20202c01 0202c102 0a616120
20202020 2020202c 010202c1 020a6161 20202020 20202020 2c010202 c1020a61
61202020 20202020 200106f4 f6 <32 bytes per line> BBED> dump /v dba 5,12 offset 2170 count 16
File: /home/oracle/backuptest/kel.dbf (5)
Block: 12 Offsets: 2170 to 2185 Dba:0x0140000c
-------------------------------------------------------
00000000 00000000 00000000 00000000 l ................ <16 bytes per line> BBED> modify 100 dba 5,12
File: /home/oracle/backuptest/kel.dbf (5)
Block: 12 Offsets: 2170 to 2185 Dba:0x0140000c
------------------------------------------------------------------------
64000000 00000000 00000000 00000000 <32 bytes per line> BBED> exit

12、再次检查数据文件

[oracle@kel backuptest]$ dbv file=kel.dbf 

DBVERIFY: Release 10.2.0.1.0 - Production on Wed Jul 9 00:49:44 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

DBVERIFY - Verification starting : FILE = kel.dbf
Page 12 is marked corrupt
Corrupt block relative dba: 0x0140000c (file 5, block 12)
Bad check value found during dbv:
Data in bad block:
type: 6 format: 2 rdba: 0x0140000c
last change scn: 0x0000.0008f6f4 seq: 0x1 flg: 0x06
spare1: 0x0 spare2: 0x0 spare3: 0x0
consistency value in tail: 0xf6f40601
check value in block header: 0xaa87
computed block checksum: 0x64 DBVERIFY - Verification complete Total Pages Examined : 12800
Total Pages Processed (Data) : 4
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 11
Total Pages Processed (Seg) : 0
Total Pages Failing (Seg) : 0
Total Pages Empty : 12784
Total Pages Marked Corrupt : 1 --数据文件出现坏块
Total Pages Influx : 0
Highest block SCN : 587507 (0.587507)

13、 把文件拷贝回ASM

SQL> begin
2 dbms_file_transfer.copy_file('dd','kel.dbf','sd','kel.dbf');
3 end;
4 / PL/SQL procedure successfully completed.

14、对文件进行更名

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
+RECOVER/omf/datafile/system.256.852236093
+RECOVER/omf/datafile/undotbs1.258.852236095
+RECOVER/omf/datafile/sysaux.257.852236095
+RECOVER/omf/datafile/users.259.852236095
+RECOVER/omf/datafile/kel.272.852423821 SQL> alter tablespace kel rename datafile '+RECOVER/omf/datafile/kel.272.852423821'
2 to '+recover/omf/datafile/kel.dbf'; Tablespace altered. SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
+RECOVER/omf/datafile/system.256.852236093
+RECOVER/omf/datafile/undotbs1.258.852236095
+RECOVER/omf/datafile/sysaux.257.852236095
+RECOVER/omf/datafile/users.259.852236095
+RECOVER/omf/datafile/kel.dbf

15、 将数据文件online

SQL> alter database datafile 5 online;
alter database datafile 5 online
*
ERROR at line 1:
ORA-01113: file 5 needs media recovery
ORA-01110: data file 5: '+RECOVER/omf/datafile/kel.dbf'

16 、恢复坏块

[oracle@kel backuptest]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Wed Jul 9 00:57:03 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: OMF (DBID=680034237)

RMAN> recover datafile 5;

Starting recover at 09-JUL-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=148 devtype=DISK starting media recovery
media recovery complete, elapsed time: 00:00:03 Finished recover at 09-JUL-14

17、 把数据文件online

SQL> alter database datafile 5 online;

Database altered.

dbms_file_transfer使用简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. Project Euler 88:Product-sum numbers 积和数

    Product-sum numbers A natural number, N, that can be written as the sum and product of a given set o ...

  2. Debug过程中的mock (及display窗口的使用)

    转载:http://m.blog.csdn.net/blog/u012516903/18004965 在debug的时候,有3个地方可以进行mock测试 测试代码如下: 1.使用display窗口 W ...

  3. IOS开发--上传图片

    IOS图片上传功能实现总结 IOS图片上传主要分两种方式实现,一个是将图片信息以表单的形式上传,一种是将图片以JSON的格式上传. 首先要讲的是以这两个方式上传的一个比较明显的区别就是HTTP Hea ...

  4. java:异常处理

    异常:编译正常,但运行出错,会中断正常指令流 RuntimeException:运行时异常 分为:uncheck exception.和check exception(除了RuntimeExcepti ...

  5. 59. Spiral Matrix II

    题目: Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order. ...

  6. 什么是I帧,P帧,B帧

    视频压缩中,每帧代表一幅静止的图像.而在实际压缩时,会采取各种算法减少数据的容量,其中IPB就是最常见的.  简单地说,I帧是关键帧,属于帧内压缩.就是和AVI的压缩是一样的. P是向前搜索的意思.B ...

  7. linux PATH环境变量

    $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接 shell下输出path值: echo $PATH: w ...

  8. php程序员应具有的7种能力

    php程序员应具有什么样的能力,才能更好的完成工作,才会有更好的发展方向呢?在中国我想您不会写一辈子代码的,那样不可能,过了黄金期,您又怎么办呢?看了本文后,希望对您有所帮助. 一,php能力 1,了 ...

  9. 车牌识别LPR(七)-- 字符特征

    第七篇:字符特征 选择的字符特征应该满足以下条件: (1)选取的字符特征具有较强的鲁棒性,不受字符变形.弯曲等影响. (2)两个字符的字符特征不能完全相同,但部分相同是允许的,即选择的字符特征是唯一的 ...

  10. wince和window mobile winphone

    windows mobile是微软在2000年左右推出的针对移动平台的操作系统,这个系统一直使用到三年前,微软开始启用metro界面,将windows mobile改名为windows phone. ...