数据库备份呢,其实大家并不陌生,但是总有些玩不明白,我知道一部分,大家看到了可以给指正补充。
1.有expdp和exp,他俩速度不同,导入时候方式不同,expdp可以并行,,,,其实大家应该更常用plsql等工具直接导出吧,我感觉那种其实和exp应该是一个道理,
2.使用工具导出,有时候会找不到导出工具,可以先打开首选项,然后再回到导出页面,刷新,
要注意一个地方,如果导出时报:“未找到段 (0,0) 的存储定义”,这是说明有些没有数据的表,他并没有导出,当然可以设置系统参数,也可以回头查漏补缺,但是这很不方便!
3.使用expdp导出,具体命令就不再细说了,他是需要利用oracle的directoriy对应的目录导出,要注意这个目录对数据库用户授权;可以使用超级管理员来查dba_directories表,创建、授权。
4.expdp导出时候,不是使用sqlplus和plsql搞得,他是使用具有数据库权限的用户,例如oracle,直接敲命令,有时候windows的会无法识别expdp,那就切换到oracle的安装目录bin下,再来试试。另外有时候也是因为那个目录打不开的缘故,需要新建目录!
5.用户不同也可以转,表已存在可以替换或者删除。
SQL>create directory exp_dump as 'd:\exp';
SQL>grant read,write on directory exp_dump to aaa;
expdp aaa/aaa dumpfile=aaa%u.dmp directory=exp_dump logfile=aaaexpdp.log job_name=exp_aaa schemas=aaa compression=all TABLE_EXISTS_ACTION=REPLACE ;
include=PROCEDURE
当然PROCEDURE 也可以换成其它对象如:
INDEX,TABLE,FUNCTION,VIEW,DATABASE LINK,SYNONYM,PACKAGE BODY,SEQUENCE,LOB,PACKAGE
impdp aaa/aaa dumpfile=aaa%u.dmp directory=exp_dump remap_schema=aaa:bbb logfile=bbbimpdp.log job_name=imp_bbb table_exists_action=replace;
还有一个imp的也记录下
drop user aop_center_01 cascade;
select tablespace_name from dba_data_files;
create user aop_center_01 identified by "01aop_center" default tablespace AOP_CENTER_01_TBS;
grant connect,resource,dba,create view to aop_center_01 ;
imp aop_center_01/01aop_center file=/home/oracle/backup/aopcenter20220609.dmp log=/home/oracle/backup/aopcenter20220609.log full=y ignore=y;