imp system/sys@orcl file='d:\iep0724dmp' fromuser=iep touser=iep
导出数据、备份dmp文件:
exp system/orcl@orcl file='d:\iep0629dmp' owner=iep
到cmd下面执行下试试吧,注意修改硬盘路径,如果提示exp命令不存在,说明oracle安装对应bin目录未加入环境变量path,可以到oracle对应bin目录下再执行导出/导入命令(加到环境变量也行)
有两种方式:
1、虚拟机配置成hostonly的方式,也就是从windows能够访问到虚拟机里面的aix,然后在windows上安装oracle的客户端,配置客户端的tnsnamesora,从windows里面通过imp命令导入到虚拟机里面的数据库。
2、将备份文件上传到虚拟机里面,然后在虚拟机里面通过imp明年导入到数据库。
oracle备份的几种方法:\x0d\1)导出/导入(EXP/IMP)。\x0d\ 2)热备份。\x0d\ 3)冷备份。\x0d\ 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。\x0d\ 一、 导出/导入(Export/Import)\x0d\ 利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。\x0d\ 1、简单导出数据(Export)和导入数据(Import)\x0d\ Oracle支持三种方式类型的输出:\x0d\(1)、表方式(T方式),将指定表的数据导出。\x0d\exp amis/amis@amisdb tables= B_S_AGT_LNE_ACCT_H_0714 file=B_S_AGT_LNE_ACCT_H_0714dmp \x0d\imp odsbdata/odsbdata@amisdb file= B_S_AGT_DEP_ACCT_TDE_H_0714dmp full=y ignore=y\x0d\ (2)、用户方式(U方式),将指定用户的所有对象及数据导出。\x0d\ (3)、全库方式(Full方式),瘵数据库中的所有对象导出。\x0d\ 数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。\x0d\ 2、 增量导出/导入\x0d\ 增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。导出文件名缺省为exportdmp,如果不希望自己的输出文件定名为exportdmp,必须在命令行中指出要用的文件名。\x0d\ 增量导出包括三种类型:\x0d\ (1)、“完全”增量导出(Complete)\x0d\ 即备份三个数据库,比如:\x0d\ exp system/manager inctype=complete file=040731dmp\x0d\ (2)、“增量型”增量导出\x0d\ 备份上一次备份后改变的数据,比如:\x0d\ exp system/manager inctype=incremental file=040731dmp\x0d\ (3)、“累积型”增量导出\x0d\ 累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:\x0d\ exp system/manager inctype=cumulative file=040731dmp\x0d\ 数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。\x0d\ 比如数据库的被封任务可以做如下安排:\x0d\ 星期一:完全备份(A)\x0d\ 星期二:增量导出(B)\x0d\ 星期三:增量导出(C)\x0d\ 星期四:增量导出(D)\x0d\ 星期五:累计导出(E)\x0d\ 星期六:增量导出(F)\x0d\ 星期日:增量导出(G)\x0d\ 如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:\x0d\ 第一步:用命令CREATE DATABASE重新生成数据库结构;\x0d\ 第二步:创建一个足够大的附加回滚。\x0d\ 第三步:完全增量导入A:\x0d\ imp system/manager inctype=RESTORE FULL=y FILE=A\x0d\ 第四步:累计增量导入E:\x0d\ imp system/manager inctype=RESTORE FULL=Y FILE=E\x0d\ 第五步:最近增量导入F:\x0d\ imp system/manager inctype=RESTORE FULL=Y FILE=F\x0d\二、 冷备份\x0d\ 冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:\x0d\ 1、 是非常快速的备份方法(只需拷文件)\x0d\ 2、 容易归档(简单拷贝即可)\x0d\ 3、 容易恢复到某个时间点上(只需将文件再拷贝回去)\x0d\ 4、 能与归档方法相结合,做数据库“最佳状态”的恢复。\x0d\ 5、 低度维护,高度安全。\x0d\ 但冷备份也有如下不足:\x0d\ 1、 单独使用时,只能提供到“某一时间点上”的恢复。\x0d\ 2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。\x0d\ 3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。\x0d\ 4、 不能按表或按用户恢复。\x0d\ 如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:\x0d\ 1、 所有数据文件\x0d\ 2、 所有控制文件\x0d\ 3、 所有联机REDO LOG文件\x0d\ 4、 Initora文件(可选)\x0d\ 值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。\x0d\ 下面是作冷备份的完整例子。\x0d\ (1) 关闭数据库\x0d\ sqlplus /nolog\x0d\ sql>connect /as sysdba\x0d\ sql>shutdown normal;\x0d\ (2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件\x0d\ sql>cp \x0d\ (3) 重启Oracle数据库\x0d\ sql>startup\x0d\ 三、 热备份\x0d\ 热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下 *** 作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:\x0d\ 1 数据文件一个表空间一个表空间的备份。\x0d\ (1) 设置表空间为备份状态\x0d\ (2) 备份表空间的数据文件\x0d\ (3) 回复表空间为正常状态\x0d\ 2 备份归档log文件\x0d\ (1) 临时停止归档进程\x0d\ (2) log下那些在archive rede log目标目录中的文件\x0d\ (3) 重新启动archive进程\x0d\ (4) 备份归档的redo log文件\x0d\ 3 用alter database bachup controlfile命令来备份控制文件\x0d\ 热备份的优点是:\x0d\ 1 可在表空间或数据库文件级备份,备份的时间短。\x0d\ 2 备份时数据库仍可使用。\x0d\ 3 可达到秒级恢复(恢复到某一时间点上)。\x0d\ 4 可对几乎所有数据库实体做恢复\x0d\ 5 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。\x0d\ 热备份的不足之处:\x0d\ 1 不能出错,否则后果不堪设想。\x0d\ 2 假如热备份不成功,所得结果则不能用于时间点的恢复(scn)。\x0d\如果是全库一般需要配置一个rman\x0d\oracle的恢复方案:\x0d\oracle 恢复表到以前的某个状态\x0d\1用bda登录进去\x0d\select from syssmon_scn_time; --scn 与时间的对应关系 \x0d\每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入syssmon_scn_time表。 \x0d\以下是我在测试机上做了一个测试:\x0d\select from table as of scn 3296161275\x0d\\x0d\select from table as of scn 3296200982;\x0d\\x0d\然后我们恢复到这个检查点。\x0d\以上是oracle的备份和恢复方案。
Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、 导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、 简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为exportdmp,如果不希望自己的输出文件定名为exportdmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如: exp system/manager inctype=complete file=040731dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如: exp system/manager inctype=incremental file=040731dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如: exp system/manager inctype=cumulative file=040731dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:
第一步:用命令CREATE DATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A: imp system/manager inctype=RESTORE FULL=y FILE=A
第四步:累计增量导入E: imp system/manager inctype=RESTORE FULL=Y FILE=E
第五步:最近增量导入F: imp system/manager inctype=RESTORE FULL=Y FILE=F
二、 冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、 是非常快速的备份方法(只需拷文件)
2、 容易归档(简单拷贝即可)
3、 容易恢复到某个时间点上(只需将文件再拷贝回去)
4、 能与归档方法相结合,做数据库“最佳状态”的恢复。
5、 低度维护,高度安全。
但冷备份也有如下不足:
1、 单独使用时,只能提供到“某一时间点上”的恢复。
2、 再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、 若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、 不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、 所有数据文件
2、 所有控制文件
3、 所有联机REDO LOG文件
4、 Initora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1) 关闭数据库 sqlplus /nolog
sql>;connect /as sysdba
sql>;shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件 sql>;cp ; ;
(3) 重启Oracle数据库 sql>;startup
三、 热备份
热备份是在数据库运行的情况下,采用archivelog mode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下 *** 作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1 数据文件一个表空间一个表空间的备份。
(1) 设置表空间为备份状态
(2) 备份表空间的数据文件
(3) 回复表空间为正常状态
2 备份归档log文件
(1) 临时停止归档进程
(2) log下那些在archive rede log目标目录中的文件
(3) 重新启动archive进程
(4) 备份归档的redo log文件
3 用alter database bachup controlfile命令来备份控制文件
热备份的优点是:
1 可在表空间或数据库文件级备份,备份的时间短。
2 备份时数据库仍可使用。
3 可达到秒级恢复(恢复到某一时间点上)。
4 可对几乎所有数据库实体做恢复
5 恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足是:
1 不能出错,否则后果严重
2 若热备份不成功,所得结果不可用于时间点的恢复
3 因难于维护,所以要特别仔细小心,不允许“以失败告终”。
===== 导出、导入 整个用户的情况。
用于导出 test 用户下的所有数据
EXP test/test@源数据库 file=testdmp owner=test
用于将前面导出的 test 用户下的所有数据 倒入到 test2 用户下
IMP test2/test2@目标数据库 file=testdmp FROMUSER=test TOUSER=test2
===== 导出、导入 单个表的情况。
导出 TEST_MAIN,TEST_SUB 这2个表
EXP test/test@源数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
导入 TEST_MAIN,TEST_SUB 这2个表
IMP test2/test2@目标数据库 file=testdmp tables=(TEST_MAIN,TEST_SUB)
这个就看人家当初是怎么备份的了
如果是用 Oracle 10g 的 expdp 导出的话, 那么导入也相应复杂一点
Oracle 10g 开始, 新增数据泵工具 导出导入 的工具
数据泵工具导出的步骤:
1、创建DIRECTORY
create directory dir_dp as 'C:/OracleData'
2、授权
Grant read,write on directory dir_dp to obpos;
3、执行导出
expdp obpos/obpos schemas=obpos directory=dir_dp dumpfile=obposdmp logfile=obposlog
C:\>expdp obpos/obpos schemas=obpos directory=dir_dp dumpfile=obposdmp logfile=obposlog
Export: Release 102010 - Production on 星期二, 29 1月, 2013 16:52:12
Copyright (c) 2003, 2005, Oracle All rights reserved
连接到: Oracle Database 10g Express Edition Release 102010 - Production
启动 "OBPOS""SYS_EXPORT_SCHEMA_01": obpos/ schemas=obpos directory=dir
_dp dumpfile=obposdmp logfile=obposlog
正在使用 BLOCKS 方法进行估计
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 5375 MB
已成功加载/卸载了主表 "OBPOS""SYS_EXPORT_SCHEMA_01"
OBPOSSYS_EXPORT_SCHEMA_01 的转储文件集为:
C:\ORACLEDATA\OBPOSDMP
作业 "OBPOS""SYS_EXPORT_SCHEMA_01" 已于 16:52:56 成功完成
EXPDP导出的各种模式:
1、 按表导出:
EXPDP obpos/obpos tables="OBPOS""ROOM","OBPOS""ROOMBOOKD" dumpfile=expdp_Roomdmp logfile=expdp_Roomlog directory=dir_dp job_name=my_job
2、按查询条件导出:
EXPDP obpos/obpos tables="OBPOS""ROOM" dumpfile =expdp_Room2dmp logfile=expdp_Room2log directory=dir_dp job_name=my_job query='"where rownum<5"'
3、按表空间导出:
EXPDP obpos/obpos dumpfile=expdp_tablespacedmp tablespaces=USERDBF logfile=expdp_tablespacelog directory=dir_dp job_name=my_job
4、导出方案
EXPDP obpos/obpos DIRECTORY=dir_dp DUMPFILE=schemadmp SCHEMAS=obpos
5、导出整个数据库:
EXPDP obpos/obpos dumpfile=fulldmp full=y logfile=fulllog directory=dir_dp job_name=my_job
IMPDP导入的各种模式:
授权
Grant read,write on directory dir_dp to test;
1、按表导入
impdp obpos/obpos dumpfile=obposdmp logfile=obposlog directory=dir_dp tables=MR_USER job_name=my_job
impdp obpos/obpos dumpfile=expdp_Roomdmp logfile=obposlog directory=dir_dp tables=ROOM job_name=my_job
(注: 因为导出的时候, 是用 obpos 用户,以 schemas=obpos 的机制导出的。 导入的时候, 如果用 test 用户导入, 好像表不会导入到 test 的用户下面 )
这种 A 用户导出, B 用户导入的情况下。 需要使用 REMAP_SCHEMA 参数 REMAP_SCHEMA = 导出的用户名:导入的用户名
impdp obpos/obpos REMAP_SCHEMA=obpos:test dumpfile=expdp_Roomdmp logfile=obposlog directory=dir_dp tables=ROOM job_name=my_job
2、按用户导入(可以将用户信息直接导入,即如果用户信息不存在的情况下也可以直接导入)
impdp obpos/obpos schemas=obpos dumpfile=obposdmp logfile=impdplog directory=dir_dp job_name=my_job
3、不通过expdp的步骤生成dmp文件而直接导入的方法:
--从源数据库中向目标数据库导入表 p_street_area
impdp gwm/gwm directory=dir_dp NETWORK_LINK=igisdb tables=p_street_area logfile=p_street_arealog job_name=my_job
igisdb 是目的数据库与源数据的链接名,dir_dp 是目的数据库上的目录
4、更换表空间
采用remap_tablespace参数
--导出gwm用户下的所有数据
expdp system/orcl directory=data_pump_dir dumpfile=gwmdmp SCHEMAS=gwm
注:如果是用sys用户导出的用户数据,包括用户创建、授权部分,用自身用户导出则不含这些内容
--以下是将gwm用户下的数据全部导入到表空间gcomm(原来为gmapdata表空间下)下
impdp system/orcl directory=data_pump_dir dumpfile=gwmdmp remap_tablespace=gmapdata:gcomm
可以采用以下方法Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUSEXE或者DOS(命令行)中执行,
DOS中可以执行时由于 在oracle 8i 中 安装目录ora81BIN被设置为全局路径,
该目录下有EXPEXE与IMPEXE文件被用来执行导入导出。
oracle用java编写,SQLPLUSEXE、EXPEXE、IMPEXE这两个文件有可能是被包装后的类文件。
SQLPLUSEXE调用EXPEXE、IMPEXE所包裹的类,完成导入导出功能。
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochudmp中
exp system/manager@TEST file=d:daochudmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochudmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgntdmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochudmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。数据的导入
1 将D:daochudmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochudmp
imp aichannel/aichannel@HUST full=y file=d:datanewsmgntdmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:daochudmp中的表table1 导入
imp system/manager@TEST file=d:daochudmp tables=(table1)
oracle 数据库备份的步骤是:
直接通过exp命令备份需要内容就可以了。可以参考下以下导出备份的方法:
1、将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochudmp中
exp system/manager@TEST file=d:\daochudmp full=y
2、将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochudmp owner=(system,sys)
3、将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochudmp tables=(table1,table2)
4、将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:\daochudmp tables=(table1) query=\" where filed1 like '00%'\"
以上就是关于oracle数据库备份全部的内容,包括:oracle数据库备份、aix6下的oracle10.2.4数据库如何导入数据库备份、Oracle数据库两个用户名使用同一表空间如何备份与恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)