oracle 增量备份恢复策略(基础知识)
EXP和IMP是Oracle提供的一种逻辑备份工具。逻辑备份创建数据库对象的逻辑拷贝并存入一
个二进制转储文件。这种逻辑备份需要在数据库启动的情况下使用,
其导出实质就是读取一个数据库记录集(甚至可以包括数据字典)并将这个记录集写入一个文件,这些记录的导出与其物理位置无关,导入实质就是读取转储文件并
执行其中的命令。此备份方式是通过Oracle的实用工具export和import来实施的,
export是把数据库中的数据导出,import是把export卸出的数据导入数据库中。通过此工具可以衍生出多种功能,
比如整个数据库的备份、表结构重建、数据的传输、用户的改变等等。
Oracle Export/Import工具提供了灵活多样的功能和导出/导入模式,最常使用的三种模式是User、table和full database。除此以外,还可以在导出/导入时决定是否包含与对象有关的数据字典信息,如索引、约束、权限等等。
注意:通过逻辑备份可以备份整个数据库, 或仅备份部分重要数据。因为是逻辑上的备份,故只能用于逻辑的恢复数据, 一旦数据库被物理损坏, 导致不能启动,逻辑备份的数据不能帮助恢复数据库。
1. Export/Import的使用举例:(以下操作均为在
(1). 将一个用户的对象导入到另一个用户模式中:
把数据库中原有的用户Export至一个dmp文件(如把用户olduser的对象导出到文件olduser0701.dmp中):
$ exp sys/password file= olduser0701 owner=olduser grant=N indexes=Y rows=Y
从dmp文件中把一个用户的对象import至一个用户的模式中(从olduser0701.dmp中,把用户olduser的对象导入到用户newuser中):
$imp sys/password file=olduser0701 fromuser=olduser touser=newuser indexes=Y rows=Y
(2). 导入时避免出现ORA-00942(表或是图不存在)错误:
因为,导出是按照在数据库中对象建立的顺序进行的,从而在导入时,数据库对象之间的依赖性会引起某些先导入对象找不到其依赖对象(如view、
procedure等等),就会引起ORA-00942(表或是图不存在)错误。通常解决这种问题的方法是,做两次导入工作,第一遍导入时设置如下:
$ imp sys/password file=demo0701 full=Y commit=y rows=Y
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
大块,优点:
1、顺序读、索引读性能好
因为大块容纳的行相对小块数据
多,在进行全表扫描的时候,或者索引扫描的时候,所需要的物理读、逻辑读都要少。
它也能减小索引的树高。对于索引访问
的性能有所提高。
2、大块能容纳比较大的行
容纳大行个人理解,一定程度上可以避免行迁移、行链接。减小大行的读取块 ......
1.修改/etc/oratab ,添加$ORACLE_SID:$ORACLE_HOME:Y --
Y代表OS启动则DB启动必须设置为Y,否则dbstart和dbstop不可用,N为不启动,$ORACLE_SID是DB
SID,$ORACLE_HOME是DB 绝对路径
2.修改/etc/rc.d/rc.loacl,加入以下:
#listener command
COMM_LISTENER=/opt/oracle/product/10.2.0/db_1/bin/lsnrctl
L ......
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
今天用系统清理工具把系统垃圾清理了一番,结果在打开oracle 数据库时出现了错误:SQL> connect / as sysdba;
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。 ......
在oracle数据库中插入数据时,运行插入语句,先是把数据放入到缓存中,这时数据并没有真正的进入数据库,这是oracle数据库跟其它数据库中的不同点,这是要运行commit这个事务提交,才能真正的把数据放到数据库中。 ......