1. oracle数据库怎么备份恢复
Oracle数据库导出操作
导入导出都要进行目录创建与授权。
在pl/sql里面编写也可以
select * from dba_directories(这个是查看创建的目录)
drop directory exp_dir(删除指定名称的目录)
create or replace directory expdp_dir as ‘E:/exp’
grant read ,write on directory expdp_dir to public
2. 如何备份oracle数据库
1、热备:完善的数据备份应该使用归档模式,用rman或者备份工具进行备份;
2、冷备:关闭数据库,备份控制文件、spfile、数据文件;
3、数据迁移工具:exp/imp
exp可以根据选择导出全库、用户、指定表的结构和数据;
imp时如果目的库没有创建对应的表,注意目的库的表空间名称要和源数据库的一致;
exp可能存在数据不一致的可能,即主从表数据不一致,会导致错误漏掉一些记录。
3. oracle数据库备份
EXP 毕竟也需要连接到数据库,也就是需要提供用户名,密码,所以你说的数据库模式导出,是无法正常实现的。但是使用DBA用户登陆,可以实现导出整个数据库的类似功能。
数据库模式:
EXP SYSTEM/PASSWD@ORACLE FULL = Y FILE = 'DB081222.DMP' LOG = 'DB081222.LOG'
用户模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG'
表模式:
EXP USER/PASSWD@ORACLE FILE = 'USER081222.DMP' LOG = 'USER081222.LOG' TABLES = ('TABLE_1','TABLE_2')
IMP 语句只要把上面3个语句中的 'EXP' 换成 'IMP' 就行了
如果还有不明白的,可以在命令行中输入EXP -HELP 或者 IMP -HELP 查看帮助!
4. ORACLE数据库如何备份数据最好是备份哪些东西
Oracle数据库的三种标准的备份方法:
1.导出/导入(EXP/IMP)。
2.热备份。
3.冷备份。
注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。
一、导出/导入(Export/Import)
利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导入数据(Import)
Oracle支持三种方式类型的输出:
(1)、表方式(T方式),将指定表的数据导出。
(2)、用户方式(U方式),将指定用户的所有对象及数据导出。
(3)、全库方式(Full方式),瘵数据库中的所有对象导出。
数据导入(Import)的过程是数据导出(Export)的逆过程,分别将数据文件导入数据库和将数据库数据导出到数据文件。
2、增量导出/导入
增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。
增量导出包括三种类型:
(1)、“完全”增量导出(Complete)
即备份三个数据库,比如:
expsystem/managerinctype=completefile=040731.dmp
(2)、“增量型”增量导出
备份上一次备份后改变的数据,比如:
expsystem/managerinctype=incrementalfile=040731.dmp
(3)、“累积型”增量导出
累计型导出方式是导出自上次“完全”导出之后数据库中变化了的信息。比如:
expsystem/managerinctype=cumulativefile=040731.dmp
数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效的完成。
比如数据库的被封任务可以做如下安排:
星期一:完全备份(A)
星期二:增量导出(B)
星期三:增量导出(C)
星期四:增量导出(D)
星期五:累计导出(E)
星期六:增量导出(F)
星期日:增量导出(G)
如果在星期日,数据库遭到意外破坏,数据库管理员可按一下步骤来回复数据库:
第一步:用命令CREATEDATABASE重新生成数据库结构;
第二步:创建一个足够大的附加回滚。
第三步:完全增量导入A:
impsystem/managerinctype=RESTOREFULL=yFILE=A
第四步:累计增量导入E:
impsystem/managerinctype=RESTOREFULL=YFILE=E
第五步:最近增量导入F:
impsystem/managerinctype=RESTOREFULL=YFILE=F
二、冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言,冷备份时最快和最安全的方法。冷备份的优点是:
1、是非常快速的备份方法(只需拷文件)
2、容易归档(简单拷贝即可)
3、容易恢复到某个时间点上(只需将文件再拷贝回去)
4、能与归档方法相结合,做数据库“最佳状态”的恢复。
5、低度维护,高度安全。
但冷备份也有如下不足:
1、单独使用时,只能提供到“某一时间点上”的恢复。
2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态。
3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢。
4、不能按表或按用户恢复。
如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:
1、所有数据文件
2、所有控制文件
3、所有联机REDOLOG文件
4、Init.ora文件(可选)
值得注意的使冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的。
下面是作冷备份的完整例子。
(1)关闭数据库
sqlplus/nolog
sql>connect/assysdba
sql>shutdownnormal;
(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
sql>cp<file><backupdirectory>
(3)重启Oracle数据库
sql>startup
三、热备份
热备份是在数据库运行的情况下,采用archivelogmode方式备份数据库的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:
1.数据文件一个表空间一个表空间的备份。
(1)设置表空间为备份状态
(2)备份表空间的数据文件
(3)回复表空间为正常状态
2.备份归档log文件
(1)临时停止归档进程
(2)log下那些在archiveredelog目标目录中的文件
(3)重新启动archive进程
(4)备份归档的redolog文件
3.用命令来备份控制文件
热备份的优点是:
1.可在表空间或数据库文件级备份,备份的时间短。
2.备份时数据库仍可使用。
3.可达到秒级恢复(恢复到某一时间点上)。
4.可对几乎所有数据库实体做恢复
5.恢复是快速的,在大多数情况下爱数据库仍工作时恢复。
热备份的不足之处:
1.不能出错,否则后果不堪设想。
2.假如热备份不成功,所得结果则不能用于时间点的恢复。
3.因为难于维护,所以需要特别仔细小心,不允许在操作时半途而废。
关于Oracle数据库的备份方式就为大家讲解到这里,以后大家需要进行数据库备份工作时可以参照上文中讲解的,从上文中任选一种,就可以完成Oracle数据库的备份,希望上文中涉及到的内容对大家能够有所帮助。
5. oracle数据库备份方法
Oracle数据库分为单机版和RAC版本。
常规的单机版Oracle数据库,备份软件可以实现对其的定时备份与恢复,也可以实现实时备份与恢复。
而Oracle RAC是一个特殊的数据库版本,是一个多节点的数据库,实现对该数据库的定时备份与恢复比较容易,实时备份与恢复的话相对困难,费用也非常高。
6. oracle数据备份
份:
在SQL*PLUS中
1.NOARCHIVELOG模式的备份(冷备份)
1)关闭数据库
2)备份数据文件
A 查找数据文件的位置
SELECT * FROM V$DATAFILE
B 备份数据文件
$ C:\orajd\ora92\oradata\ora200\*.dbf d:\bak\*.*;
3)备份控制文件
A 查找控制文件
select * from v$controlfile;
B 备份控制文件
$ C:\orajd\ora92\oradata\ora200\*.ctl d:\bak\*.*;
4)备份重做日志文件
A 查找重做日志文件
select * from v$logfile;
B 备份重做日志文件
$ C:\orajd\ora92\oradata\ora200\*.log d:\bak\*.*;
2.ARCHIVELOG模式的备份(热备份)
1)查询备份的数据文件于哪一个表空间有关
SELECT V$TABLESPACE.NAME,V$DATAFILE.NAME
FROM V$TABLESPACE JOIN V$DATAFILE USING(TS#);
2)备份数据文件
alter tablespace 表空间 BEGIN BACKUP;
$ COPY 数据文件 存放路径
ALTER TABLESPACE 表空间 END BACKUP;
3)查询是否还有表空间处于备份模式
SELECT * FROM V$BACKUP; STATUS不是ACTIVE即可以
SELECT V$TABLESPACE.NAME,V$BACKUP.STATUS,V$DATAFILE.NAME
FROM V$TABLESPACE JOIN V$DATAFILE USING (TS#) JOIN V$BACKUP USING (FILE#);
4)备份控制文件
ALTER DATABASE BACKUP CONTROLFILE TO '目标路径及文件名';
3.逻辑备份
1)数据库方式(导出用户要具有exp_full_database权限)
exp system/system@ora110 full=y file="f:\full.dmp"
2)用户方式
exp system/system@ora110 owner=(czgk,scott) file="f:\user.dmp"
3)表方式
exp czgk/czgk@ora110 tables=(users,budget) file="f:\table.dmp"
恢复:
1.冷备份恢复
方案一:
1.SHUTDOWN;
2.$ COPY 存放路径 数据文件 $ COPY F:\BAK\*.DBF C:\ORADATA\*.*;
3.$ COPY 存放路径 控制文件 $ COPY F:\BAK\*.CTL C:\ORADATA\*.*;
4.$ COPY 存放路径 日志文件 $ COPY F:\BAK\*.LOG C:\ORADATA\*.*;
5.STARTUP;
方案二:
1.STARTUP MOUNT;
2.ALTER DATABASE DATAFILE 数据文件 OFFLINE DROP; ALTER DATABASE DATAFILE 'C:\ORADATA\USERS01.DBF' OFFLINE DROP;
3.ALTER DATABASE OPEN;
2.热备份恢复
方案一:
1.SHUTDOWN;
2.$ COPY 存储数据文件 数据文件;
3.startup mount;
4.recover datafile 数据文件; 价值恢复只能存档模式下
example:
recover datafile 'c:\orajd\oradata\ora200\users01.dbf';
5.ALTER DATABASE OPEN;
方案二:
1.STARTUP MOUNT;
检查是否运行在归档模式
2.ALTER DATABASE DATAFILE 数据文件 OFFLINE; //system01.dbf不能设置未OFFLINE状态
3.ALTER DATABASE OPEN;
3.逻辑恢复
1)数据库方式(导入用户要具有exp_full_database权限)
imp system/system@ora110 full=y file="f:\full.dmp"
2)用户方式
imp system/system@ora110 fromuser=aaa,bbb touser=ccc file="f:\user.dmp"
imp system/system@ora110 fromuser=aaa,bbb touser=ccc,ccc file="f:\user.dmp"
看有什么错误
3)表方式
imp system/system@ora110 fromuser=aaa touser=ccc file="f:\user.dmp"
注意:导出用户要和导入用户相同可以用上面的方法,否则用
imp czgk/czgk@ora110 full=y file="f:\table.dmp"
7. 怎么把oracle数据库数据备份
使用PL/SQL Developer登录你需要备份的数据库;
选择工具->导出用户对象;
在对象列表中选择需要备份的对象,再选择一个sql类型的输出文件,点击【导出】,这只是导出数据结构;
选择工具->导出表;
在列表中选择需要导出数据的表,再选择【SQL插入】,选择一个sql类型的文件,点击【导出】,这一步是把数据导出数据库。
6
这样就得到两个sql,分别是备份数据结构和备份数据的。
8. oracle数据库备份怎么做
这个太多了,简单的说下吧
物理备份:要看你数据库是不是归档,select log_mode from v$database;要是archivelog就是归档,noarchivelog就是非归档。
归档模式下可以进行热备(开着数据库):用RMAN的话 登录rman:在数据库的服务器上rman target /
backup database;或者增量backup incremental level X database;(X是你的增量级别),你也可以单个数据文件,控制文件,归档日志备份。
或者镜像backup as database;
你也可以在语句后面加format '路径/命名'对备份命名。
不使用RMAN,先alter database begin backup;(全库)或alter tablespace 表空间名 begin backup;(单个表空间),然后到操作系统下直接复制数据文件,最后alter database end backup;
或alter tablespace 表空间名 end backup;
非归档:只能冷备(必须关闭数据库,只能备份全库)
rman:先正常关闭数据库,登录RMAN:先startup mount,然后按热备的命令走可以增量,但只能备份全库;
自己备的话:关库以后直接考,不用输alter database 那些命令。
逻辑备份(只能恢复逻辑错误,不能回复受损文件的):
10g、11g下面用expdp命令:expdp 登录名/密码@注册的实例 full=y parallel=1 mpfile=名字.dmp compression=all;导出整个库,当然还可以单个表,或用户的对象导出等。9i以前的用exp命令,具体命令
自己查查吧。物理备份相对安全,可以完全恢复数据库(当然是在归档模式下),逻辑备份只能恢复逻辑上的数据,文件恢复不了。逻辑备份比物理备份更快更省空间。
9. 怎么从oracle数据库备份数据库
1、首先先确认oracle服务器上oracle中标红的相关的服务是否已经正常启动。
10. oracle 数据库怎么备份
1、EXP 备份:也称 Oracle 逻辑备份,恢复时需要的停机时间较长,因 IMP 导入恢复后不能应用归档日志,所损失的数据量较大; 对于大型数据库,EXP 会显得力不从心。
2、冷备份:也称 OS 备份,冷备份虽然恢复起来比较容易,但需要数据库停下来进行备份,备份造成停机时间的较长。而对于商业应用的数据库而言,这段时间恰恰是用来进行数据处理的。
3、RMAN(热备份):可以像冷备份一样实现数据库的全备份,而且不会影响到数据库的运行。但数据库必须在归档模式下运行;且备份文件必须存放在数据库所在服务器的磁盘上,或者数据库服务器可以直接访问的外部设备上,如磁盘柜、磁带机等。
4、StandBy 备份:在生产数据库(主数据库)的基础上,创建一个备用数据库(StandBy数据库),备用数据库实时自动与生产数据库同步。但处于只读和空闲状态,不接收用户连接和业务处理。如果生产数据库出现故障,可以立即以主数据库的模式启动 StandBy数据库,接替生产数据库的工作。采用这种备份方式,故障修复时间最短,数据丢失最少。但缺点是,必须单独提供 StandBy 数据库服务器,成本比较高。一般在金融和电信等实时性要求较高的行业广泛采用。