--挂载磁盘 自用记录非必须 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/
然后输入密码即可