猪八戒网站建设公司,网站浏览量提升,搜索引擎google,wordpress下一页代码文章目录 往期回顾1. 数据库备份的分类1.1 逻辑备份与物理备份#xff08;1#xff09;逻辑备份#xff08;2#xff09;物理备份#xff08;3#xff09;归档模式与非归档模式 1.2 完全备份/差异备份/增量备份 2. Oracle 逻辑备份2.1 EXP/IMP#xff08;1#xff09;E… 文章目录 往期回顾1. 数据库备份的分类1.1 逻辑备份与物理备份1逻辑备份2物理备份3归档模式与非归档模式 1.2 完全备份/差异备份/增量备份 2. Oracle 逻辑备份2.1 EXP/IMP1EXP导出 2IMP导入2.2 EXPDP/IMPDP 往期回顾 【Oracle】Oracle系列之一–Oracle数据类型 【Oracle】Oracle系列之二–Oracle数据字典 【Oracle】Oracle系列之三–Oracle字符集 【Oracle】Oracle系列之四–用户管理 【Oracle】Oracle系列之五–Oracle表空间 【Oracle】Oracle系列之六–Oracle表分区 【Oracle】Oracle系列之七–表的创建与管理 【Oracle】Oracle系列之八–SQL查询 【Oracle】Oracle系列之九–Oracle常用函数 【Oracle】Oracle系列之十–Oracle正则表达式 【Oracle】Oracle系列之十一–PL/SQL 【Oracle】Oracle系列之十二–视图、记录、同义词、序列 【Oracle】Oracle系列之十三–游标 【Oracle】Oracle系列之十四–触发器 【Oracle】Oracle系列之十五–存储过程
1. 数据库备份的分类
1.1 逻辑备份与物理备份
数据库备份按照备份状态分为逻辑备份与物理备份。
1逻辑备份
利用SQL从数据库中抽取数据并存为二进制文件的形式进行备份。业务数据库采用此种方式不需要在归档模式下。如Oracle中对数据库对象用户、表、存储过程利用EXPORT导出利用IMPORT把逻辑备份文件导入数据库Oracle exp/imp。
优点可以只备份某些表或某些特定的数据可以在不同版本之间进行跨平台恢复可以压缩后存储节省空间。缺点对于大规模的数据库执行语句耗时较长无法保证完全一致性如同时有新数据插入。
2物理备份
物理备份是指直接拷贝数据库存储介质上的所有内容包括操作系统层面和数据库引擎层面这样就能够完整地还原整个数据库。一般需要外部存储设备。
优点速度快且可靠能够提供一致性快照。缺点只能提供到“某一时间点”上的恢复无法选择性地按表或用户进行备份和恢复只能全库备份和恢复不能用于跨平台迁移。
冷备份发生在数据库已经正常关闭的情况下脱机状态所有的数据文件都处于离线状态。在实施备份过程中数据库不能做其他工作可以保证数据的完整性和一致性。 热备份在数据库运行情况下联机状态进行不会影响正常的业务操作可在表空间或数据库文件级备份并且对用户透明能够保持业务连续性备份时间短可达到秒级恢复恢复到某一时间点。热备份要将日志置为归档模式需要考虑到正在写入或修改的数据可能导致数据不一致性问题采取特殊措施来确保数据完整性。
3归档模式与非归档模式
归档模式归档模式下数据库将历史记录保存到一组称为“归档日志”的特殊文件中。这些日志包含先前已提交的事务的详细信息使得可以恢复或还原丢失或损坏的数据。由于需要频繁地写入日志文件性能会有所降低。 非归档模式非归档模式下当一个事务被提交时其结果直接写入主要数据文件中。而不像归档模式那样额外生成日志文件。这种方式虽然可以提高性能并降低空间开销但也存在数据丢失或损坏时无法完全恢复的风险。
1.2 完全备份/差异备份/增量备份
1完全备份Full备份全部选中文件并不依赖文件的存档属性来确定备份哪些文件每个文件都被标记为已备份消除存档属性。
2差异备份Differential备份上次完全备份后发生变化的所有文件备份后不标记为已备份文件不消除存档属性。备份时间长占空间多恢复快。
3增量备份Incremental针对上次备份后无论哪种备份备份上次备份后所有发生变化的文件备份后标记文件消除存档属性。备份时间短占空间少恢复慢。
组合示例
完备差备周一进行完全备份周二到周五进行差异备份。若周五数据被破坏需还原周一的完全备份及周五的差异备份。 完备增备周一进行完全备份周二到周五机型增量备份。若周五数据被破坏需还原周一的完全备份及周二至周五的增量备份。
2. Oracle 逻辑备份
Oracle支持两种类型的逻辑备份导出/导入实用程序与数据泵。
2.1 EXP/IMP
1EXP导出
完全模式
exp SYSTEM/MANAGER BUFFER64000 file C:\full.dmp fullY用户模式
exp detail12/detail12 owner(detail12,detail11) file/home/oracle/detail.dmpexp detail12/detail12RACDB_192.168.1.13 filed:/detail.dmp其中RACDB_192.168.1.13为Oracle Net Configuration Assistant的网络服务名。
表模式
exp detail12/detail12 ownerdetail12 tables(T_JBXX) file/home/oracle/t_jbxx.dmp如果T_JBXX为分区表使用tables(T_JBXX1:P1T_JBXX2:P2)的形式。
query字段格式
querywhere dept_dateto_date(2014-02-01 00:00:10,yyyy-mm-dd hh24:mi:ss)注意不导入权限和索引可加入 GRANTSY INDEXESY
关键字说明
关键字说明 (默认值)USERID用户名/口令FULL导出整个文件 (N)BUFFER数据缓冲区大小OWNER所有者用户名列表FILE输出文件 (EXPDAT.DMP)TABLES表名列表COMPRESS导入到一个区 (Y)RECORDLENGTH IO记录的长度GRANTS导出权限 (Y)INCTYPE增量导出类型INDEXES导出索引 (Y)RECORD跟踪增量导出 (Y)DIRECT直接路径 (N)TRIGGERS导出触发器 (Y)LOG屏幕输出的日志文件STATISTICS分析对象 (ESTIMATE)ROWS导出数据行 (Y)PARFILE参数文件名CONSISTENT交叉表的一致性 (N)CONSTRAINTS导出的约束条件 (Y)OBJECT_CONSISTENT只在对象导出期间设置为只读的事务处理 (N)FEEDBACK每 x 行显示进度 (0)FILESIZE每个转储文件的最大大小FLASHBACK_SCN用于将会话快照设置回以前状态的 SCNFLASHBACK_TIME用于获取最接近指定时间的 SCN 的时间QUERY用于导出表的子集的 select 子句RESUMABLE遇到与空格相关的错误时挂起 (N)RESUMABLE_NAME用于标识可恢复语句的文本字符串RESUMABLE_TIMEOUTRESUMABLE 的等待时间TTS_FULL_CHECK对 TTS 执行完整或部分相关性检查TABLESPACES要导出的表空间列表TRANSPORT_TABLESPACE导出可传输的表空间元数据 (N)TEMPLATE调用 iAS 模式导出的模板名
2IMP导入
完全模式
imp SYSTEM/MANAGER BUFFER64000 fileC:\full.dmp fullY用户模式
imp detail12/detail12 fromuser(detail12detail11) touser(detail12detail11) file/home/oracle/detail.dmp表模式
imp detail12/detail12 ownerdetail12 tables(T_JBXX) file/home/oracle/t_jbxx.dmp注意
IMP导入必须指定FullY或提供fromuser/touser参数或提供tables参数。 导入前需按要求设置字符集export NLS_LANGAMERICAN_AMERICA.ZHS16GBK 忽略创建表错误可加入IGNOREY不导入权限和索引可加入 GRANTSY INDEXESY 导入时发生IMP-00032错误表示SQL语句超过缓冲区长度可以加入选项buffer100000000 关键字说明
关键字说明 (默认值)USERID用户名/口令FULL导入整个文件 (N)BUFFER数据缓冲区大小FROMUSER所有者用户名列表FILE输入文件 (EXPDAT.DMP)TOUSER用户名列表SHOW只列出文件内容 (N)TABLES表名列表IGNORE忽略创建错误 (N)RECORDLENGTH IO记录的长度GRANTS导入权限 (Y)INCTYPE增量导入类型INDEXES导入索引 (Y)COMMIT提交数组插入 (N)ROWS导入数据行 (Y)PARFILE参数文件名LOG屏幕输出的日志文件CONSTRAINTS导入限制 (Y)DESTROY覆盖表空间数据文件 (N)INDEXFILE将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES跳过不可用索引的维护 (N)FEEDBACK每 x 行显示进度 (0)TOID_NOVALIDATE跳过指定类型 ID 的验证FILESIZE每个转储文件的最大大小STATISTICS始终导入预计算的统计信息RESUMABLE在遇到有关空间的错误时挂起 (N)RESUMABLE_NAME用来标识可恢复语句的文本字符串RESUMABLE_TIMEOUTRESUMABLE 的等待时间COMPILE编译过程 程序包和函数 (Y)STREAMS_CONFIGURATION导入流的一般元数据 (Y)STREAMS_INSTANTIATION导入流实例化元数据 (N)
2.2 EXPDP/IMPDP
1数据泵介绍
Oracle Database 10g引入了最新的数据泵(Data Dump)技术使DBA或开发人员可以将数据库元数据(对象定义)和数据快速移动到另一个oracle数据库中与Export / Import相比它提供更好的性能、安全性和灵活性。
并行处理 Oracle 数据泵支持并行处理通过指定 PARALLEL 参数启用这使得导入和导出任务更加快速和高效。 可定制 数据泵允许用户选择要包含或排除的对象类型如表、视图、约束等以及要包含或排除的特定对象。 压缩 Oracle 数据泵支持压缩功能可减少导出文件的大小并提高传输速度。 安全性 数据泵支持 SSL 加密协议来保护敏感信息在安全方面非常有优势。 多平台兼容性 Oracle 数据泵支持多个平台上运行例如 Windows 和 Linux 等操作系统。 2数据泵的使用
EXP和IMP是客户段工具程序它们既可以在可以客户端使用也可以在服务端使用。 EXPDP和IMPDP是服务端的工具程序他们只能在ORACLE服务端使用不能在客户端使用。
使用EXPDP工具时其转储文件只能被存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此使用EXPDP工具时必须首先建立DIRECTORY对象并且需要为数据库用户授予使用DIRECTORY对象权限。
使用Data Pump可将整个数据库或特定模式及其对象如表格、索引、约束和其数据导出/导入还可指定选项例如表空间、压缩级别、加密和远程导出/导入的网络链接。
Data Pump包括两个客户端实用程序expdpExport Data Pump和impdpImport Data Pump。
e.g.
create directory imp_dir as D:\imp_dir;
GRANT READ, WIRTE ON DIRECTORY imp_dir TO detail;expdp scott/tiger DUMPFILEtmp_dump.dmp DIRECTORY imp_dirimpdp scott/tiger DUMPFILEtmp_dump.dmp DIRECTORY imp_dir