一、逻辑备份恢复
逻辑导出导入有以下四种级别:
(1)库级(full)
(2)用户级(owner)
(3)模式级(schema)
(4)表级(table)
dexp导出
1.全库导出
./dexp USERID=SYSDBA/SYSDBA@192.168.6.136:32141 FILE=db_str.dmp DIRECTORY=/data/dbbak LOG=db_str.log FULL=Y COMPRESS=Y
./dexp USERID=SYSDBA/SYSDBA@192.168.6.136:32141 FILE=/data/dbbak/db_str.dmp LOG=/data/dbbak/db_str.log FULL=Y COMPRESS=Y
2.导出用户
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/data/dbbak COMPRESS=Y
3.导出模式
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/data/dbbak COMPRESS=Y
4.导出表
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/data/dbbak COMPRESS=Y
5.导出 OTHER.READER 表中满足"WHERE AGE=19"条件的数据
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=SYSDBA.YIN0620 QUERY="WHERE id=1" DIRECTORY=/data/dbbak COMPRESS=Y
6.导出 SYSDBA 模式数据,但是其中表 TEST 只导出定义,不导出数据
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=SYSDBA QUERY="TEST:\"WHERE 1=2\"" DIRECTORY=/data/dbbak COMPRESS=Y
7.设置 EXCLUDE=(CONSTRAINTS),将当前用户下的 table1、table2 的对象信息导出时不导出约束
./dexp SYSDBA/SYSDBA:32141 FILE=db_str.dmp LOG=db_str.log TABLES=SYSDBA.YIN0620 EXCLUDE=CONSTRAINTS DIRECTORY=/data/dbbak COMPRESS=Y
8.设置 EXCLUDE="TABLES:"LIKE 'TEMP%'",TABLES:"IN ('TEST1')"",不导出以“TEMP”开头的表,并且不导出 TEST1 表
./dexp SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log EXCLUDE="TABLES:\"LIKE 'TEMP%'\",TABLES:\"IN ('TEST1')\"" DIRECTORY=/data/dbbak COMPRESS=Y
9.将当前用户下的 table1 的对象约束和索引信息导出
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1 DIRECTORY=/mnt/data/dexp INCLUDE=CONSTRAINTS,INDEXES COMPRESS=Y
10.只导出以“TEMP”开头的表
./dexp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log INCLUDE="TABLES:\"LIKE 'TEMP%'\"" COMPRESS=Y
11.不导出表中数据
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp NOLOGFILE=Y FULL=Y DIRECTORY=/mnt/data/dexp ROWS=N COMPRESS=Y
dimp导入
1.导入指定模式
./dimp SYSDBA/SYSDBA@192.168.0.248:8888 FILE=/data/dbbak/dexp01.dmp LOG=dimp02.log DIRECTORY=/data/dbbak SCHEMAS=SYSDBA,OTHER,PERSON
./dimp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 FILE=db_str.dmp DIRECTORY=/mnt/data/dexp LOG=db_str.log FULL=Y
2.导入整个数据库
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y
DIRECTORY=/mnt/data/dimp
3.导入用户 USER01 用户数据
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dimp
4.导入模式
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp
5.导入表
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp
6.设置线程数导入
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp PARALLEL=2
7.排除约束导入表数据
./dimp SYSDBA/SYSDBA FILE=/mnt/data/db_str.dmp LOG=db_str.log TABLES=table1,table2 EXCLUDE=CONSTRAINTS DIRECTORY=/mnt/data/dimp
8.将表的索引/约束创建信息写入指定的文件
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y INDEXFILE=/mnt/data/dimp/dimp.log
9.将 SYSDBA 模式中的数据导入到 PERSON 模式中
./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_SCHEMA=SYSDBA:PERSON
10.将源表 T1 中的数据导入到目的表 T2 中
./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_TABLE=T1:T2
11.将 MAIN 表空间中的数据导入到 TS 表空间
./dimp SYSDBA/SYSDBA FILE=/mnt/data/dexp/imp_exp.dmp DIRECTORY=/mnt/data/dimp FULL=Y REMAP_TABLESPACE=MAIN:TS
dexpdp导出
1.登录数据库
disql sysdba/SYSDBA:32141
CREATE OR REPLACE DIRECTORY GYFDIR AS '/data/dbbak';
2.执行全库导出
./dexp USERID=SYSDBA/SYSDBA@192.168.6.136:32141 FILE=dexpDP.dmp LOG=dexpDP.log FULL=Y DIRECTORY=GYFDIR COMPRESS=Y




