Linux下导出导入(expdp/impdp)Oracle

--挂载磁盘 自用记录非必须 echo "/dev/sdb1 /u01 ext4 defaults 0 0" >> /etc/fstab;

--root登录后切换到 oracle账户 su - oracle

--然后登录dba登录 sqlplus / as sysdba

--A:expdp 导出步骤如下:

--1.先查询要导出的用户下面的表空间 select distinct  tablespace_name from dba_segments where owner='用户名';

--2.创建并授权导出空间

CREATE OR REPLACE DIRECTORY DUMP_DIR AS '/u01/app/oracle/oradata/dumr_dir';

--3.导出 在oracle用下执行

expdp DIDP/DIDP@orcl schemas=DIDP directory=DUMP_DIR dumpfile=2019_08_06_DIDP.dmp  
logfile=2019_08_06_DIDP.log;

--导出命令解释

expdp 用户名/密码@数据库 schemas=模式 directory=DUMP_DIR dumpfile=2018_03_15_xxxx.dmp  logfile=2018_03_15_xxx.log

各参数解释:

用户名:为你要导出的用户的用户名
密码:为你要导出的用户的密码
数据库:为你要导出的数据库实例名
模式:为你要导出的schema,这里就理解为你要导出的用户名
directory:即你刚才创建的DUMP目录,也就是说你将要导出的数据文件和日志文件存放在哪个目录下
dumpfile:导出的文件名字,这里文件名可以随便起
logfile:记录导出的日志,同样这里的log文件名可以随便起

--4.将导出的文件 拷贝致指定需要恢复的服务器 新建文件夹 注意权限 最好用oracle用户创建

--B:导入步骤如下:

--1.创建临时表空间
create temporary tablespace temp tempfile '/u01/app/oracle/oradata/orcl/temp.dbf' size 200m
autoextend on next 100m maxsize 20480m extent management local;

--2.创建表空间
create tablespace DIDP datafile '/u01/app/oracle/oradata/orcl/DIDP.dbf' size 32M autoextend
on next 32M MAXSIZE UNLIMITED;

--3.创建用户指定表空间
create user DIDP identified by "DIDP" default tablespace DIDP temporary tablespace temp;

--4.修改密码
alter user DIDP identified by DIDP;

--5.给用户分配权限  可以再plsql执行
grant connect,resource,dba to DIDP;

CREATE OR REPLACE DIRECTORY DUMP_DIR AS '/u01/azwj/datatemp';--将备份文件拷入此文件夹

GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO system;

GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO public;

GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO DIDP;

--6.导入恢复  在 oracle账户下执行

impdp DIDP/DIDP@orcl schemas=DIDP directory=DUMP_DIR dumpfile=2019_08_06.DMP  
logfile=2019_08_06.log;

--7. 编译失效Objects 进入dbasql 执行

EXEC dbms_utility.compile_schema('PUBLIC',false);
EXEC dbms_utility.compile_schema('DIDP',false);

--其他关键:

--关闭数据库
shutdown immediate

--启动到mount状态
startup mount

--修改数据库为归档模式
alter database archivelog;

--查询数据库当前归档模式
select log_mode from v$database;

archive log list

--打开数据库
alter database open;

--Linux主机之间拷贝文件 需要两台机器互通

在文件所在主机.2.183输入命令:

scp /remote_backup/expdp/dump20221012.dmp root@10.0.2.184:/data/oracle/backup/

然后输入密码即可

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值