在Oracle中,可以理解为一个用户就是一个数据库,然后数据是存放在表空间中的。
导入文件,有两种格式,看导出文件是以什么方式的。有IMP方式和IMPDB方式。
本文为IMPDBN方式
1.创建表空间
格式:
create tablespace 表空间 datafile 'D:\xxx\xxx.dbf' size 1024M autoextend on;
例子:
ming_data是表空间名字。后面是一个路径,一般都是存储表空间的,在app\用户\oradata\rocl目录下,然后自己起个名字就行,会自动创建.dbf文件。
create tablespace ming_data datafile 'D:\software_2\oracle\app\Ming\oradata\orcl\ming_data.dbf' size 1024M autoextend on;
2.创建用户
格式:
create user 新用户名 identified by 密码 default tablespace 表空间;
例子:
用户名为ming,密码为1,表空间为ming_data
create user ming identified by 1 default tablespace ming_data;
3.赋予权限
格式:
grant connect,resource,imp_full_database,unlimited tablespace to 新用户名;
grant dba to 新用户名;
例子:
用户名为ming
grant connect,resource,imp_full_database,unlimited tablespace to ming;
grant dba to ming;
4.建立目录
格式:
create directory 目录名 as '目录路径';
例子:
指定了这个目录后,需要手动在文件夹中创建这个目录
create directory ming_re as 'D:\software_2\oracle\ming_re';
5.对路径授权
格式:
grant read,write on directory 目录名 to 新用户名;
例子:
grant read,write on directory ming_re to ming;
6.导入数据
注:此步骤不是在sql命令下,而是退出sql,用dos命令
格式:
impdp 新用户名/密码 directory=目录名 dumpfile=dmp文件路径 logfile=导出日志路径 TRANSFORM=segment_attributes:n full=y ignore=y REMAP_SCHEMA=旧用户名:新用户名;
例子:
用户名:ming,密码:1,目录名:ming_re
然后这个DMP文件要放在这个目录下方,这个日志文件会自动生成,也是在这个目录里
原来导出的文件的用户名:RG65,自己的新的的用户名:ming
impdp ming/1 directory=ming_re dumpfile=NCDBBACK_20240610235001.DMP logfile=0612.log TRANSFORM=segment_attributes:n full=y ignore=y REMAP_SCHEMA=RG65:ming