**ORACLE 数据库 备份**
-
cmd 连接oracle
-
sysdba 的方式连接oracle,连接过程中出现报错(分析原因,检查三 oacle监听是否启动,oracle 实例是否启动,注册表oralce_sid 是否正确,分析原因oracle_sid 不正确)。
修改后解决:
创建expdp 导出目录:
SQL>create directory dump_dir as ‘E:\xxx’;
查询系统导出目录:
-
cmd 命令执行导出
全量导出:主要以sysdba 的方式进行导出
第一种:“full=y”,全量导出数据库;
expdp user/passwd@orcl dumpfile=expdp.dmp directory=data_dir full=y logfile=expdp.log;
第二种:schemas按用户导出;
expdp user/passwd@orcl schemas=user dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第三种:按表空间导出;
expdp sys/passwd@orcl tablespace=tbs1,tbs2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第四种:导出表;
expdp user/passwd@orcl tables=table1,table2 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
第五种:按查询条件导;
expdp user/passwd@orcl tables=table1=‘where number=1234’ dumpfile=expdp.dmp directory=data_dir logfile=expdp.log;
4. impdp 导入数据库。
4.1 根据expdp 导出的表空间 tablespace1创建表空间
create tablespace tablespace1 datafile ‘d:\data1’ size 20m autoextend on;
4.2 创建用户 create user user1 identified by xxx default tablespace tablespace1 temporary tablespace temp;
4.3 创建目录 create directory dump_dir as ‘D:/database’;
4.4 给用户赋权限
create read,write on directory dump_dir to user1;
第一种:“full=y”,全量导入数据库;
impdp user/passwd@orcl directory=dump_dir dumpfile=expdp.dmp full=y;
第二种:同名用户导入,从用户A导入到用户A;
impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp logfile=impdp.log;
不同命用户导入:user1 为源用户,user2为将要导入的用户
impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp remap_schema=user1:user2 logfile=impdp.log;
不同表空间导入:tablespace1为源表空间,tablespace2为将要导入的表空间。
impdp A/passwd schemas=A directory=dump_dir dumpfile=expdp.dmp remap_tablespace=tablespace1:tablespace2 logfile=impdp.log;