dbms_file_transfer使用简介
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使用简介的更多相关文章
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Cesium简介以及离线部署运行
Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...
随机推荐
- 【Linux高频命令专题(22)】gzip
概述 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间.gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用.gzip不仅 ...
- ubuntu 修改主机及主机名
修改主机: sudo vim /etc/hostname sudo vim /etc/hosts 修改用户名: sudo vim /etc/passwd sudo mv /home/yinggc /h ...
- darwin转发时,摄像机在3G和4G模式下的参数设置
darwin转发时,摄像机在3G和4G模式下的参数设置 我们转发的是摄像机的子码流,因为在不同的网络环境下,为了达到当前网络环境下最清晰,最流畅的目标,在转发前要根据使用的是3G还是4G及信号强度来自 ...
- JavaWeb项目开发案例精粹-第2章投票系统-001设计
1.项目结构 2.数据库设计 # MySQL-Front 5.0 (Build 1.0) /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE */; /*!40101 SET ...
- Ping 命令
Ping”命令是我们在判断网络故障常用的命令 它是用来检查网络是否通畅或者网络连接速度的命令. 它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包, 对方就要 ...
- C++:成员运算符重载函数和友元运算符重载函数的比较
5.2.4 成员运算符重载函数和友元运算符重载函数的比较 (1)对双目运算符而言,成员运算符重载函数参数表中含有一个参数,而友元运算符重载函数参数表中有两个参数:对于单目运算符而言,成员运算符重载函数 ...
- 常用的coco2d-x游戏开发工具(转)
物理编辑工具Physics Editing ToolsMekanimo 网址:http://www.mekanimo.net/PhysicsBench 网址:http://www.cocos2d-ip ...
- MyBatis学习总结3-优化MyBatis配置文件
连接数据库配置优化 可以将数据库连接配置信息卸载conf.xml中,但是为了优化连接,专门写一个properties用于存数据库连接信息,然后在conf.xml中进行引用,里面包括数据库驱动,地址,用 ...
- 用net匹配并替换iOS标准的emoji表情符号
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespaceCommo ...
- UVa 11889 (GCD) Benefit
好吧,被大白书上的入门题给卡了.=_=|| 已知LCM(A, B) = C,已知A和C,求最小的B 一开始我想当然地以为B = C / A,后来发现这时候的B不一定满足gcd(A, B) = 1 A要 ...