Toggle navigation
首页
问答
IT问答
生活问答
电脑知识
百科
测评
oracle数据库怎么备份恢復
发布于2022-01-13 02:22:11
8
个回答
网友回答
2022-01-13
racle
方法/步骤
1
单击开始,这里输入cmd,打开dos窗口
2
输入命令
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112.dmp
这里说明一下
这里的bms是指备份时,登录数据库实例TCDB的用户名;
这里的/是语法符号。
这里的BMSPASS是用户bms登录数据库TCDB时的密码;
@是语法符号。
这里的TCDB是Oracle数据库的实例名。
这里的file=E:\DBback\dbback20160112.dmp 是只指备份文件的存放路径。
3
等待导出完成,如果看到这里的导出成功,说明备份完成了。
4
打开备份时指定的存储路径,就可以看到备份文件了。
5
如果在导出命令的最后加上full=y的参数,也就是
exp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112.dmp full=y
意思是将用户bms在TCDB数据库实例中的所有文件都备份,也就是完整备份。
6
数据库还原使用语法
imp bms/BMSPASS@TCDB file=E:\DBback\dbback20160112.dmp
这里的E:\DBback\dbback20160112.dmp是备份文件的存放路径
网友回答
2022-01-13
1,在公司,不知道你公司数据库是什么操作系统,暂且当成是windows吧
开始-运行-cmd
然后进到一个相对空间比较大的盘符及目录,执行以下:
exp 数据库用户名/密码 file=生成的文件名.dmp log=日志.dmp full=y
这样会在你进的那个目录下生成一个dmp文件,用移动硬盘copy
2,回家,装oracle,版本最好与你公司相同
建用户,与公司相同,权限、表空间等最好也一样,省得导入的时候麻烦
3,cmd下进入你copy回家的东西的目录,执行:
imp 你家数据库的用户名/密码 file=之前导出的文件名 log=日志 full=y ignore=y
基本就差不多了
网友回答
2022-01-13
oracle备份的几种方法:
1).导出/导入(EXP/IMP)。
2).热备份。
3).冷备份。
注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、 导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
exp amis/amis@amisdb tables= B_S_AGT_LNE_ACCT_H_0714 file=B_S_AGT_LNE_ACCT_H_0714.dmp
imp odsbdata/odsbdata@amisdb file= B_S_AGT_DEP_ACCT_TDE_H_0714.dmp full=y ignore=y
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、 增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
exp system/manager inctype=incremental file=040731.dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
exp system/manager inctype=cumulative file=040731.dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(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、 Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1) 关闭数据库
sqlplus /nolog
sqlconnect /as sysdba
sqlshutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
sqlcp file backup directory
(3) 重启Oracle数据库
sqlstartup
三、 热备份
热备份是在数据库运行的情况下,采用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. 假如热备份不成功,所得结果则不能用于时间点的恢复(scn)。
如果是全库一般需要配置一个rman.
oracle的恢复方案:
oracle 恢复表到以前的某个状态
1.用bda登录进去
select * from sys.smon_scn_time; --scn 与时间的对应关系
每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入sys.smon_scn_time表。
以下是我在测试机上做了一个测试:
select * from table as of scn 3296161275
select * from table as of scn 3296200982;
然后我们恢复到这个检查点。
以上是oracle的备份和恢复方案。
网友回答
2022-01-13
您好,两方法:
1、指定恢复时间点,RMAN会自动寻找最合适的备份集来恢复。
2、使用备份集的TAG来来恢复。
可以通过set until time来指定。RMAN会自动找指定时间前最近的一个FULL备份来恢复。
a.instance由一些ORACLE进程和内存组成,用来连接数据库
b.oracle跟mysql,sqlserver的设计思想不一样,不要把mysql的架构套用到学习oracle架构上
c.表空间是个逻辑概念,表逻辑上存在于表空间中,而物理上存在于数据文件中。一个表空间可以有多个数据文件。建表时指定表空间,真实数据就是通过dbwr进程写到相应数据文件中。
d.备份分物理备份跟逻辑备份。物理备份就是备份数据文件,可以是备份集或者COPY,工具比如RMAN。逻辑备份就是备份的一些DDL,DCL,DML操作,相当于mysqldump,工具比如EXP,EXPDP。
网友回答
2022-01-13
最常用的有:
RMAN 备份
冷备份
导出/导入 exp / imp
网友回答
2022-01-13
Oracle10G数据库中,数据库文件的备份与恢复可以有很多的方式来实现,这里介绍一种基于用户管理的备份与恢复。基于用户管理的备份是指使用OS命令来备份数据库物理文件。
备份数据库
数据库一致性备份:关闭数据库以后备份数据库物理文件,这时数据文件scn值完全一致,所以称之为数据库的一致性备份或冷备份,适用于归档模式与非归档模式。
对基于用户管理的冷备份的暂时理解:在数据库shutdown状态下使用OS命令直接拷贝数据库物理文件。
数据库非一致性备份:在open状态下备份数据库物理文件,这时数据库内容可能会改变导致数据文件scn不一致,所以称之为数据库的非一致性备份或热备份,只适用于归档模式。
基于用户管理的完全恢复(归档模式下)
1.在open状态下备份数据库物理文件(数据库非一致性备份,热备份,不影响业务运行)
2.删除数据文件来模拟文件丢失(只是删除了所有的数据文件;控制文件等其它文件处于正常状态)
3.对数据文件进行恢复
4.应用归档日志
5.查看数据是否完全恢复
--sysdba执行备份
SQL conn / as sysdba
Connected.
SQL select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf
/oracle/10g/oracle/product/10.2.0/oradata/oralife/undotbs01.dbf
/oracle/10g/oracle/product/10.2.0/oradata/oralife/sysaux01.dbf
/oracle/10g/oracle/product/10.2.0/oradata/oralife/users01.dbf
/oracle/10g/oracle/product/10.2.0/oradata/oralife/example01.dbf
SQL alter database begin backup;
Database altered.
SQL host cp /oracle/10g/oracle/product/10.2.0/oradata/oralife/*.dbf /oracle/10g/oracle/bakup/database/ --备份所有数据文件
SQL alter database backup controlfile to '/oracle/10g/oracle/bakup/database/oralife.ctl'; --备份控制文件
Database altered.
SQL alter system archive log current; --归档当前日志组
System altered.
进行完全恢复
copy备份的数据文件到指定的目标位置,进行恢复:
SQL recover database --open状态
ORA-00283: recovery session canceled due to errors
ORA-01124: cannot recover data file 1 - file is in use or recovery
ORA-01110: data file 1:
'/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf'
SQL shutdown immediate --open状态
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/oracle/10g/oracle/product/10.2.0/oradata/oralife/system01.dbf'
ORA-01208: data file is an old version - not accessing current version
SQL startup force mount; --进入mount状态进行恢复
ORACLE instance started.
Total System Global Area 528482304 bytes
Fixed Size 1220360 bytes
Variable Size 163578104 bytes
Database Buffers 356515840 bytes
Redo Buffers 7168000 bytes
Database mounted.
SQL recover database
Media recovery complete.
SQL alter database open;
Database altered.
没有出现应用归档日志,应用归档日志有几种方式:
Specify log: {RET=suggested | filename | AUTO | CANCEL}
当在open状态下对数据文件进行恢复时,应该将其offline,恢复完成后,再将其online;所有的恢复应该尽量在open状态下完成。
网友回答
2022-01-13
尊敬的客户,您好:
为了更有效解决您的问题,建议您通过“金蝶桌面服务系统”获取服务支持,在“金蝶桌面服务系统”中您可以选择多种方式解决您的问题,不仅可以通过“知识库”、“文档中心”等实现自助服务,还可以通过“服务预约”与我们的服务工程师取得联系,或者在“需求反馈”中及时将您对金蝶产品的任何建议反馈给金蝶公司,欢迎您体验!下载地址:
http://kdweibo.com/GxA
感谢您对金蝶公司的支持!
网友回答
2022-01-13
关键是你备份目的是什么,这和你的多少个用户用多少个表空间没有关系。
如果你是只想对单个用户进行恢复,而且能够承担数据损失的话那就使用exp备份。如果是为了全库的安全考虑的话那就配个rman。
IT问答最新文章
1
vivo Y97性价比怎么样?
2
台电X98 Pro采用什么处理器?和微软Surface 3的一样吗?
3
可以当笔记本来用是吧
4
骁龙888+5000mAh,红米这款新机能否成为最具性价比?
5
红米新发布的红米note9系列值得购买吗?是不是很有性价比?
6
这台还会发布吗?
7
联想威6更好还是红米redmibook14增强版更好啊?
8
新电脑为什么会叫
9
iPhone13什么时候上市 有5g?
10
荣耀 50 玩游戏流畅么?
相关阅读
1
电视遥控器按键学习了机顶盒遥控器的按键了,怎么恢復
2
mame怎么恢復默认按键
3
佳能2016复印机怎么恢復出厂设置
4
iphone6恢復出厂设置的时候卡住,怎么中断操作?
5
苹果电脑网络恢復系统应该怎么操作
6
备份在电脑里的手机文件怎么恢復到手机了
7
小米6手机照片误删了怎么恢復
8
硬盘盘片划伤,数据怎么恢復?
9
我的手机是苹果,刚才玩手机不小心把qq图标弄不见了,怎么恢復呢?可以肯定的是并没有被我删除。求大神
10
华为p10手机短信误删除了怎么恢復
11
Oracle数据库中用条语句查看数据库中的全部的表?
12
开始安装oracle数据库口令是什么
回到
顶部