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. 应用程序出现挂死,.NET Runtime at IP 791F7E06 (79140000) with exit code 80131506.

    工具出现挂死问题 1.问题描述 工具出现挂死问题,巡检IIS发现以下异常日志 现网系统日志: 事件类型:    错误 事件来源:    .NET Runtime 描述: Application: Di ...

  2. Linux内核的同步机制

    本文详细的介绍了Linux内核中的同步机制:原子操作.信号量.读写信号量和自旋锁的API,使用要求以及一些典型示例 一.引言 在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程 ...

  3. ZipArchive框架的文件压缩和解压

    导入第三方框架ZipArchive之后还要在系统库文件中导入一个如下文件(搜索libz出来的任何一个都可以)   导入的头文件是#import "Main.h" 文件压缩 -(vo ...

  4. 88. Merge Sorted Array

    题目: Given two sorted integer arrays A and B, merge B into A as one sorted array. Note:You may assume ...

  5. Google Hacking技术

    (1)google hack database https://www.exploit-db.com/google-hacking-database/ (2)查找包含某关键字的特定类型文件 命令:关键 ...

  6. <<c 和指针 >> 部分笔记。

    最近竟然对指针有些迷惑了,分不清指针的指向.废话少说,复习.(下面内容来自<<c和指针>>) =指针 ==内存和地址 尽管一个字包含了4个字节,它仍然只有一个地址.至于是最左边 ...

  7. url、href、src 详解

    发现自己居然没把url.href.src关系及使用搞清楚,今天就理一下.主要包括:url.src.href定义以及使用区别.顺便试下在segmentfault来一发. URL(Uniform Reso ...

  8. IIS 无法打开页面,只能重启的问题

    最终解决方案: 要变通解决此问题,启用 EnableAggressiveMemoryUsage 注册表项在注册表中.当启用了 EnableAggressiveMemoryUsage 注册表项 Http ...

  9. HDU 4717 The Moving Points(三分)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717 题意:给出n个点的坐标和运动速度(包括方向).求一个时刻t使得该时刻时任意两点距离最大值最小. ...

  10. jenkins 状态管理

    如何安装Jenkins as rpm: $ sudo service jenkins restart Usage: /etc/init.d/jenkins {start|stop|status|res ...