Oracle 数据泵expdp、impdp 导入导出 保姆及别

你想要的都在这里

检查cpu核数

cat /proc/cpuinfo| grep “processor”| wc -l

设置归档
alter system set log_archive_dest_1=‘LOCATION=/data/tb_oracle/arch’;

删除用户
drop user username cascade;

创建文件
create directory expdp_dir as ‘/home/oracle’;

授权
grant read,write on directory expdp_lc to scjy;
grant DATAPUMP_EXP_FULL_DATABASE,IMPORT FULL DATABASE to scjy;

1、只导出数据,目标数据库进行数据覆盖,保留视图等内容

expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_dataonly_%U.dump logfile=expdp_dataonly.log content=data_only parallel=4;

impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_dataonly_%U.dump logfile=impdp_dataonly.log table_exists_action=replace ;

或者
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_dataonly_%U.dump logfile=impdp_dataonly.log table_exists_action=truncate ;

2、正常导出

expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4;
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=impdp_data.log parallel=4;

3、按照用户导出

expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4 schemas=username1,username2;
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=impdp_data.log parallel=4 schemas=username1,username2;

4、按照集群方式导出

expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4 cluster=no;

impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4 cluster=no;

5、使用具体用户导出

expdp scjy/scjy@10.10.10.1:1521/scjy directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4;
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=impdp_data.log parallel=4 ;

6、19c可拔插数据库

expdp scjy/scjy@10.10.10.1:1521/scjy directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4;
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=impdp_data.log parallel=4 ;

7、导出用户,在导入的时候 导入默认表空间修改了的

expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=expdp_data.log parallel=4 schemas=scjy;

impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_data_%U.dump logfile=impdp_data.log parallel=4 schemas=scjy remap_tablespace=source_tablespace:目标表空间;

8、只导出数据表结构

expdp ‘/ as sysdba’ directory=EXPDP_2020 dumpfile=expdp_asm_20230323.dump logfile=expdp_asm_20230323.log schemas=AMS content=METADATA_ONLY

9、数据库只导入索引 存在的表就进行跳过

impdp ‘/ as sysdba’ directory=impdp dumpfile=expdp_LC00019999_%U.dump logfile=impdp_LC00019999.log cluster=n schemas=LC00019999 parallel=2 remap_tablespace=USERS:CWBASE0001 TABLE_EXISTS_ACTION=SKIP;

10、数据库不相同的字符集之间进行导出导入

导出和原来一致
expdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_ams_%U.dump logfile=expdp_ams_20230421.log cluster=n schemas=AMS parallel=4;

1)导入表结构

impdp ‘/ as sysdba’ directory=impdp dumpfile=expdp_ams_%U.dump logfile=impdp_ams_20230421.log cluster=n schemas=AMS parallel=4 content=METADATA_ONLY remap_tablespace=ETL:AMS,ARCHIVES:AMS;

2)改字段大小
select ‘alter table AMS.’||t.TABLE_NAME||’ modify ‘||t.COLUMN_NAME||’ ‘||t.data_type||’(‘||ceil(t.DATA_LENGTH*1.5)||’);’
from DBA_tab_columns t
where t.DATA_TYPE=‘VARCHAR2’
AND t.TABLE_NAME =‘table1’ and t.owner=‘AMS’;

3)到数据
impdp ‘/ as sysdba’ directory=expdp dumpfile=expdp_ams_%U.dump logfile=impdp_ams_20230421.log cluster=n schemas=AMS parallel=4 content=DATA_ONLY;

执行无效对象编译
@?/rdbms/admin/utlrp.sql

查看数据导入 具体线程那个表

impdp ‘/ as sysdba’ attach=SYS_IMPORT_SCHEMA_02

列如
Worker 8 Status:
Instance ID: 1
Instance name: wbdb
Host name: localhost.localdomain
Object start time: Wednesday, 22 March, 2023 11:12:58
Object status at: Wednesday, 22 March, 2023 11:12:58
Process Name: DW07
State: EXECUTING
Object Schema: LC00019999
Object Name: GSPAURESULT
Object Type: SCHEMA_EXPORT/TABLE/TABLE_DATA
Completed Objects: 1
Completed Rows: 18,225,733
Completed Bytes: 15,853,546,928
Percent Done: 19
Worker Parallelism: 1

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库提供了expdpimpdp命令用于备份和恢复数据库。这两个命令的使用方式如下: 1. expdp命令 expdp命令用于备份Oracle数据库,它能够将某个schema或整个数据库导出到一个二进制文件中。具体命令格式如下: ``` expdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name ``` 其中: - `username/password@connect_string`:指定连接Oracle数据库的用户名、密码和连接字符串。 - `DIRECTORY=directory_name`:指定备份文件的目录。 - `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。 - `SCHEMAS=schema_name`:指定要备份的schema名称,多个schema可以用逗号分隔。 执行命令后,Oracle数据库会将指定的schema或整个数据库导出到一个二进制文件中。 2. impdp命令 impdp命令用于恢复Oracle数据库,它能够将之前导出的二进制文件导入数据库中。具体命令格式如下: ``` impdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name ``` 其中: - `username/password@connect_string`:指定连接Oracle数据库的用户名、密码和连接字符串。 - `DIRECTORY=directory_name`:指定备份文件所在的目录。 - `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。 - `SCHEMAS=schema_name`:指定要恢复的schema名称,多个schema可以用逗号分隔。 执行命令后,Oracle数据库会将指定的schema或整个数据库从备份文件中恢复出来。 需要注意的是,expdpimpdp命令需要在Oracle数据库服务器上执行,而不是在客户端。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值