前言:恭喜自己跳槽了,但是我这次成了真正的运维内心mmp,只能说不让我开发的话我就跑路
要求:30G+的dmp文件导入到我本地的oracle数据库先做一个数据库的导入
数据库版本19c
好了开始自己的作死之路
首先百度如何导入
看到教程之后首先第一步
我们可以先建立自己的一个用户表空间,创建表空间的格式如下:
create tablespace test --表空间的名字
datafile 'D:\test\test.dbf'
size 50m --初始大小
autoextend on; --自动扩展
创建用户
CREATE USER test --用户名
IDENTIFIED BY test --密码
DEFAULT TABLESPACE test --上面创建的表空间
TEMPORARY TABLESPACE temp;
赋权
GRANT CONNECT TO test;
GRANT RESOURCE TO test;
GRANT dba TO test;--dba为最高级权限,可以创建数据库,表等。
创建目录
create directory dpdata1 as 'd:\testOracle';--创建impdp的导入参数
将这个文件夹的权限给test
grant read,write on directory dpdata1 to test; -- 赋权
查询一下赋权的的地址是否能够所搜索到
select * from dba_directories;
在这里需要插一嘴,因为30G里面的数据库原因吧,放弃了之前需要导入的账号test
使用另外的账号导入
创建表空间
因为一个表空间数据文件的大小最大是32G,所以我采用了添加数据文件的方式扩数据库大小
create tablespace gscloud1912
logging
datafile 'D:\gscloud1912\test.dbf'
size 50m
autoextend on
next 50m maxsize 32767m
extent management local;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test01.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test02.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test03.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test04.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test05.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test06.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test07.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test08.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test09.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test10.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test11.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test12.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test13.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test14.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test15.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test16.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test17.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test18.dbf' size 50m
autoextend on next 50m maxsize 32767m;
alter tablespace gscloud1912
add datafile 'D:\gscloud1912\test19.dbf' size 50m
autoextend on next 50m maxsize 32767m;
创建用户
CREATE USER gscloud1912
IDENTIFIED BY gscloud1912
DEFAULT TABLESPACE gscloud1912
TEMPORARY TABLESPACE temp;
赋权
GRANT CONNECT TO gscloud1912;
GRANT RESOURCE TO gscloud1912;
GRANT dba TO gscloud1912;
导入数据
impdp gscloud1912/gscloud1912 schemas=gscloud1912 directory=dpdata1 dumpfile=gscloud_%U.dmp logfile=impdp.log
dumpfile=gscloud_%U.dmp
这个参数我想重点说一下,就是一个数据库导出之后出现多个dmp文件,
这个时候我们就需要看一下他的导出语句,这是我跟别人要的导出语句
expdp gscloud1912/PerfTest6530 directory=DUMP dumpfile=gscloud_%U.dmp compression=data_only logfile=gscloud20210401.log schemas=gscloud1912 PARALLEL=10 CLUSTER=N exclude=statistics
其中每个人间的命名规范就是gscloud_01.dmp
或者gscloud_02.dmp
一直到10
然后结果基本没有问题,有一些出现的问题都在我的oracle bug专栏中,我的dmp文件大小大概是30G+,原来是数据库的表空间大概是520G,我在导入的过程中还遇到了问题,大概16个小时表空间增加了300G,就是这样。