oracle19c 数据库备份还原

1、环境

数据库: 127.0.0.1:1521/PDBJN

用户名/密码 :ELEUSER/W4R8cwwO2Yu

数据库表空间:BUSINESS_HB

备份文件:jnhb_20211130.dmp

2、备份

-- 全表备份
exp
ELEUSER/W4R8cwwO2Yu@127.0.0.1:1521/PDBJN file=jnhb_20211130.dmp full=y
-- 指定表备份
exp ELEUSER/W4R8cwwO2Yu@127.0.0.1:1521/PDBJN file=jnhb_20211130.dmp tables=NET_PORT,NET_CAP_PORT_2022_01,NET_CAP_PORT_2022_02
-- 如果密码中有@特殊符号,要加引号,例如

  expdp 'idc_dbms/"Jlidc@2021"'@10.**.*.***:21521/orcl dumpfile=idc_dbms_20220210.dmp tables=NET_PORT,NET_CAP_PORT_2022_01,NET_CAP_PORT_2022_02

3、还原

-- 将刚刚备份的文件放在对应的位置,我这里放在/home/oracle/u01/app/oracle/admin/jnhbj/dpdump/D318100D28584959E055000000000001

-- 切换用户
su - oracle

-- 进入备份文件的路径

cd /home/oracle/u01/app/oracle/admin/jnhbj/dpdump/D318100D28584959E055000000000001

-- 还原
imp ELEUSER/W4R8cwwO2Yu@127.0.0.1:1521/PDBJN file=jnhb_20211130.dmp fromuser=ELEUSER ignore=y 

-- 如果库的用户和表空间不同,要指定表空间还原,例如

  impdp 'idc_dbms_test/"Zxit@2018"'@192.168.0.***:1521/orcl dumpfile=idc_dbms_20220210.dmp ramap_schema=idc_dbms:jlidc_dbms_test remap_tablespace=idc_dbms:jlidc_dbms_test table_exists_action=replace

4、解决报错ORA-01950: no privileges on tablespace 'BUSINESS_HB'

 

 

 

-- 报错ORA-01950: no privileges on tablespace 'BUSINESS_HB',分析为表空间'BUSINESS_HB'的配额不足,我们将它设置为自动扩容

-- 进入到sql模式
sqlplus / as sysdba
-- 查看实例
show pdbs;
-- 进入实例
 alter session set container=PDBJN;
-- 查看表空间的文件为/home/oracle/u01/app/oracle/oradata/JNHBJ/business.dbf
select tablespace_name,file_name,autoextensible from dba_data_files;
-- 修改表空间BUSINESS_HB对应的文件为自动扩容
alter database datafile '/home/oracle/u01/app/oracle/oradata/JNHBJ/business.dbf' autoextend on;
-- 每个表空间文件最大扩容20G,没有了则需要新增

ALTER TABLESPACE IDC_DBMS ADD DATAFILE '/home/app/oracle/oradata/orcl/idc_dbms_0218.dbf' SIZE 1G AUTOEXTEND on next 1G maxsize  unlimited; 

 

 

 

 

 

 

 

 

5、验证

--重复步骤3

 

posted @ 2021-12-22 17:44  落泪秋  阅读(2502)  评论(0编辑  收藏  举报