备份文件大于4G怎么办?

madking 2003-05-01 06:04:13
数据库是9i,我在客户端用8i的data manager备份到本机,因为是fat32,dmp文件超过了4个g,总是出错,怎样解决?
如果一个表一个表备份的话好像一次只能备份一个表,有没有办法一次性多选几个表备份?
另外,如果客户端是9i,用哪个工具进行备份呢?
谢谢!
...全文
318 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
maohaisheng 2003-05-02
  • 打赏
  • 举报
回复
你在命令行下输入
c:\>exp system/manager@orcl filesize=2000M file=(file1.dmp,file2.dmp,file3.dmp) owner=username log=exp.log
madking 2003-05-02
  • 打赏
  • 举报
回复
偶对oracle了解不多,能不能详细说说具体怎么操作?我想备份的是某一个用户的所有表。谢谢!
madking 2003-05-02
  • 打赏
  • 举报
回复
可以了,不过exp的速度好慢啊!
谢谢诸位!揭贴了!
dajian2000 2003-05-02
  • 打赏
  • 举报
回复
我的总结,肯定对你有帮助:

2Gb Export File Size

本文写作时大多数的export 版本使用默认的文件处理API 来创建export 文件。这意味着在相当多的平台上,不能导出大于2GB 的文件。

以下是一些克服的方法:
通常可以导出大于2GB 的文件到裸设备上。
在Unix 上可以使用命名管道来压缩/分割文件
可以导出到磁盘上
ORACLE8i 允许导出到多个文件而不是一个大的文件




其他的2GB 导出问题

ORACLE 最大extent 的大小为2GB.不幸的是许多发行版本的ORACLE 中的export都有一个问题,就是当指定compress=y 时,可能导出的文件中其Next 存储子句会出现大于2GB 的情况。这会导致即使指定了ignore=y 时,import 也会出错。

compress=y 肯能修改storage子句initial子句,指定输出是否压缩碎片的数据段,便于在重建时使用大的extent.

本问题可参见[BUG:708790]和[NOTE:62436.1]




典型的2GB+时export 错误:
. . exporting table BIGEXPORT
EXP-00015: error on row 10660 of table
BIGEXPORT,
column MYCOL, datatype 96
EXP-00002: error in writing to export file
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully


在[BUG:185855]中还提到了一个问题:当导出全库时产生的create tablespace 命令会使用bytes 作为单位。当import 时,生成的数据文件若大于2GB,可能导致ora-2237 错误。
解决办法是先创建表空间(用M 代替bytes),然后导入文件。

补充:

export 大文件可以采取的方法:
1. 裸设备
比如直接倒出到/dev/rlvtest 等。

2. 命名管道(Unix 下)
mknod /tmp/imp_pipe p
compress < /tmp/exp_pipe > export.dmp.Z &
exp file=/tmp/exp_pipe userid=xxx/xxx tables=...

mknod /tmp/imp_pipe p
uncompress < export.dmp.Z>/tmp/imp_pipe &
imp file=/tmp/imp_pipe userid=xxx/xxx tables=...

3.压缩/文件拆分:(以下只在ksh 中有效:)
echo |exp file=>(compress | split -b 1024m - expdmp-) userid=xxx/xxx tables=...
echo | imp file=<(cat expdmp- * |zcat) userid=xxx/xxx tables=...

4.可以直接倒出到磁带
比如exp file=/dev/rmt0 ....

5。可以在ORACLE8i+版本里面,通过使用filesize 和file 相结合,倒出生成多个文件.

maohaisheng 2003-05-02
  • 打赏
  • 举报
回复
system/manager@orcl
用户名/口令@你的数据库

owner=username
username是你要备份的用户

没有指定tables参数就备份所有的表(也还包括其它的数据库对象)
madking 2003-05-02
  • 打赏
  • 举报
回复
system/manager@orcl

这样怎么知道备份的是哪个数据库呢?我要备份特定用户的所有表
3166910 2003-05-01
  • 打赏
  • 举报
回复
干脆做冷备或者热备,这样比你导入导出快!方法自己用google搜索一下!
pengdali 2003-05-01
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=1687966
maohaisheng 2003-05-01
  • 打赏
  • 举报
回复
使用命令exp,有一个参数是filesize可以指定文件的大小,导入到多个文件中

exp system/manager@orcl filesize=2000M file=(file1.dmp,file2.dmp) log=....
RamDisk Plus使用申请专利的存储器管理超高速技术来产生一 个虚拟磁盘。将其称为虚拟,是因为它并不是一个物理硬盘, 而仅仅对操作系统和程序来说看起来象个硬盘一样。RamDisk Plus使用RAM的一部分来产生这个虚拟磁盘。这个RAM磁盘具有 一个驱动器盘符,能够具有文件系统,并且可以在 Windows资 源管理器中看到。因此,你可以从中拷贝、移动以及删除文件 。与物理磁盘非常相似的是,这个RAM 磁盘可格式化,压缩以 及共享,这样它可以被网络上的其它计算机访问。 与RamDisk 的不同之处在于,RamDisk Plus加入了当服务器关机时能够自 动保存RAM 磁盘中内容的能力以及当服务器启动时将数据加载 到RAM磁盘的能力。支持Windows 2000/XP/2003的版本。 对一些数据存取速度要求很高的程序,如数字影像处理或玩3D 游戏装入纹理数据时,受磁盘存取速度的影响,屏幕画面时常 会出现延迟和停顿。SuperSpeed RamDisk这是解决这些问题的 程序能在PC平台上应用的、名为“RAMDisk”(RAM驱动器)的技 术可解电脑玩家们的“燃眉之急”。所谓的RAM 驱动器,实际 上是把系统内存划出一部分当作硬盘使用。对于操作系统来内 存的存取速度远远大于机械磁盘,所以RAM 驱动器肯定要比机 械的硬盘快得多。你可以把整个应用程序都安装在RamDisk 的 驱动器中,然后用内存的速度运行它。使用RAM 驱动器技术对 于延长笔记本电脑电池使用时间也是十分有利的,因为这样做 可以减少访问“耗电大户”。内存支持最小 512MB RAM,推荐 1 GB 或更高,支持类型SDRAM、DDR等。Plus 在标准版的基础 上增加了多磁盘支持,镜像备份等功能。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧