好东西不私藏,大家一起分享!爱站云 用心做
广告位 后台主题配置管理

网站首页 爱站云资源网 值得一看 正文

oracle数据库备份,oracle冷备份恢复

爱站云 2020-05-18 值得一看 0 评论

  oracle的功能比较强大,但也可以借助多备份这种应用进行备份。


  怎样用命令备份还原Oracle数据库?


  Oracle中没有备份和还原的概念,应该叫导出和导入。


  一、导出:


  1.获取帮助


  exphelp=y


  2.导出一个完整数据库


  expsystem/managerfile=bible_dblog=dible_dbfull=y


  3.导出数据库定义而不导出数据


  expsystem/managerfile=bible_dblog=dible_dbfull=yrows=n


  4.导出一个或一组指定用户所属的全部表、索引和其他对象


  expsystem/managerfile=seaparklog=seaparkowner=seapark


  expsystem/managerfile=seaparklog=seaparkowner=(seapark,amy,amyc,harold)


  注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。


  SETLINESIZE132


  SETPAGESIZE0


  SETTRIMSPOOLON


  SPOOLc:\seapark.syn


  SELECT'Createpublicsynonym'||synonym_name


  ||'for'||table_owner||'.'||table_name||';'


  FROMdba_synonyms


  WHEREtable_owner='SEAPARK'ANDowner='PUBLIC';


  SPOOLOFF


  5.导出一个或多个指定表


  expseapark/seaparkfile=tanklog=tanktables=tank


  expsystem/managerfile=tanklog=tanktables=seapark.tank


  expsystem/managerfile=tanklog=tanktables=(seapark.tank,amy.artist)


  6.估计导出文件的大小


  全部表总字节数:


  SELECTsum(bytes)


  FROMdba_segments


  WHEREsegment_type='TABLE';


  seapark用户所属表的总字节数:


  SELECTsum(bytes)


  FROMdba_segments


  WHEREowner='SEAPARK'


  ANDsegment_type='TABLE';


  seapark用户下的aquatic_animal表的字节数:


  SELECTsum(bytes)


  FROMdba_segments


  WHEREowner='SEAPARK'


  ANDsegment_type='TABLE'


  ANDsegment_name='AQUATIC_ANIMAL';


  7.导出表数据的子集(oracle8i以上)


  NT系统:


  expsystem/managerquery='Wheresalad_type='FRUIT''tables=amy.salad_type


  file=fruitlog=fruit


  UNIX系统:


  expsystem/managerquery=\"Wheresalad_type=\'FRUIT\'\"tables=amy.salad_type


  file=fruitlog=fruit


  8.用多个文件分割一个导出文件


  expsystem/manager


  file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)


  log=paycheck,filesize=1Gtables=hr.paycheck


  9.使用参数文件


  expsystem/managerparfile=bible_tables.par


  bible_tables.par参数文件:


  #ExportthesampletablesusedfortheOracle8iDatabaseAdministrator'sBible.


  file=bible_tables


  log=bible_tables


  tables=(


  amy.artist


  amy.books


  seapark.checkup


  seapark.items


  )


  10.增量导出


  “完全”增量导出(complete),即备份整个数据库


  expsystem/managerinctype=completefile=990702.dmp


  “增量型”增量导出(incremental),即备份上一次备份后改变的数据


  expsystem/managerinctype=incrementalfile=990702.dmp


  “累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据


  expsystem/managerinctype=cumulativefile=990702.dmp


  二、导入:


  1.获取帮助


  imphelp=y


  2.导入一个完整数据库


  impsystem/managerfile=bible_dblog=dible_dbfull=yignore=y


  3.导入一个或一组指定用户所属的全部表、索引和其他对象


  impsystem/managerfile=seaparklog=seaparkfromuser=seapark


  impsystem/managerfile=seaparklog=seaparkfromuser=(seapark,amy,amyc,harold)


  4.将一个用户所属的数据导入另一个用户


  impsystem/managerfile=tanklog=tankfromuser=seaparktouser=seapark_copy


  impsystem/managerfile=tanklog=tankfromuser=(seapark,amy)touser=(seapark1,amy1)


  5.导入一个表


  impsystem/managerfile=tanklog=tankfromuser=seaparkTABLES=(a,b)


  6.从多个文件导入


  impsystem/managerfile=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)


  log=paycheck,filesize=1Gfull=y


  7.使用参数文件


  impsystem/managerparfile=bible_tables.par


  bible_tables.par参数文件:


  #ImportthesampletablesusedfortheOracle8iDatabaseAdministrator's


  Bible.fromuser=seaparktouser=seapark_copyfile=seaparklog=seapark_import


  8.增量导入


  impsystem./managerinctype=RECTOREFULL=YFILE=A


  如何备份数据库?PL/SQLdeveloper


  1、PL/SQLdeveloper只能将数据库中的数据或存储过程进行导入、导出,不是真正意义上的备份。如果只是将关键数据备份出来,可以使用它的相关功能:


  tools->exportuserobject选择选项,导出.sql文件。


  tools->exporttables->OracleExport选择选项导出.dmp文件。


  2、要对数据库作真正意义上的备份,要在安装ORACLE的服务器上运行备份"exp"命令,打开命令提示符窗运行以下指令:


  exp管理帐户/密码@数据库名file=备份文年名.dmpfull=yINDEXES=ygrants=yconstraints=ycompress=ylog=log文件名.log


  相关知识:


  1、PL/SQLdeveloper是一个很多人使用的操作ORACLE数据库的工具


  2、还原用exp导出的数据库用imp命令。


  3、ORACLE的操作友好度小于MSSQL。


  oracle数据库备份怎么做?


  这个太多了,简单的说下吧


  物理备份:要看你数据库是不是归档,selectlog_modefromv$database;要是archivelog就是归档,noarchivelog就是非归档。


  归档模式下可以进行热备(开着数据库):用RMAN的话登录rman:在数据库的服务器上rMantarget/


  backupdatabase;或者增量backupincrementallevelXdatabase;(X是你的增量级别),你也可以单个数据文件,控制文件,归档日志备份。


  或者镜像backupascopydatabase;


  你也可以在语句后面加format'路径/命名'对备份命名。


  不使用RMAN,先alterdatabasebeginbackup;(全库)或altertablespace表空间名beginbackup;(单个表空间),然后到操作系统下直接复制数据文件,最后alterdatabaseendbackup;


  或altertablespace表空间名endbackup;


  非归档:只能冷备(必须关闭数据库,只能备份全库)


  rman:先正常关闭数据库,登录RMAN:先startupmount,然后按热备的命令走可以增量,但只能备份全库;


  自己备的话:关库以后直接考,不用输alterdatabase那些命令。


  逻辑备份(只能恢复逻辑错误,不能回复受损文件的):


  10g、11g下面用expdp命令:expdp登录名/密码@注册的实例full=yparallel=1dumpfile=名字.dmpcompression=all;导出整个库,当然还可以单个表,或用户的对象导出等。9i以前的用exp命令,具体命令


  自己查查吧。物理备份相对安全,可以完全恢复数据库(当然是在归档模式下),逻辑备份只能恢复逻辑上的数据,文件恢复不了。逻辑备份比物理备份更快更省空间。

< 爱站云SEO >
本站所有文章,未经允许一律不允许转载,违者后果自负
本站为SEO教学博客,学到东西应该懂得感恩作者 无脑喷子永封IP段+删帐号所有评论
本站部分文章存在于网上收集,如侵犯您的权利,请告知管理员,我们会及时删除,并向您赔礼道歉.

酷站网爱站云 官方QQ群:333914614


猜你喜欢

本文暂时没有评论哦(●'◡'●)

欢迎 发表评论:

温馨提示:(登陆后才可以评论哦!点我QQ登录哦,若已登录请忽略)。
«   2021年5月   »
12
3456789
10111213141516
17181920212223
24252627282930
31
网站分类
搜索
最新留言
文章归档
标签列表