(1)向oracle数据库中导入完整的数据库(后缀名:dmp)
step1: 建立临时表空间(取名为:libsys_temp)
create temporary tablespace libsys_temp
tempfile 'D:\oracle\libsys_temp.dbf' // 指定空间存放路径
size 1000M //为临时表空间分配磁盘空间
autoextend on
next 10M maxsize 2048M //若存入的数据量超过了分配的空间大小,
//则以每次新增10M的大小增大表间,但最大为2048M!
extent management local; //设置表空间的区管理为本地管理,为的是减少分配extent的时
step2: 建立数据表空间,用于存储导入的数据库中的所有数据(取名:libsys_data)
create tablespace libsys_data
logging //指明导入过程记入日志中
datafile 'D:\oracle\libsys_ data.dbf' //指定数据库保存的路径
size 10240M //注意表空间应足够大,否则导入将出错!
autoextend on
next 100M maxsize 20480M
extent management local;
step3: 创建用户并指定表空间(PS:需拥有dba权限)
create user libsys identified by abc123 //设置用户名:libsys, 码:abc123.
default tablespace libsys _data //为用户指定刚刚建立的表空间libsys_data, 以便保存与此用户相关的所有数据.
step4: 给用户授权(需授予dba,connect和resource三个权限,否则无法完成数据库导入)
step5: 将拷贝来的完整的数据库文件(此处为:'libsys.dmp')导入到自己机器中的oracle数据库中
imp libsys/abc123 file='D:\libsys.dmp' full=y ignore=y;
//full=y表示全部导入,ignore=y表示忽略数据库中已存在的表,否则可能出错。
(特别注意:在进行step5之前,需要输入“exit”命令退出并返回到'cmd'命令后,才能做导入导出操作!!!!)
另外:若只想将数据库dmp文件中的部分表(此处为:item表)导入,则只需加上表名即可,方法如下:
imp libsys/abc123 file='D:\libsys.dmp' tables=(item); //其中的item为libsys.dmp数据库文件中的一张表对象.
(2)将oracle数据库中的数据导出
A. 导出完整的数据库(此处数据库为:libsys_data):
B. 将指定用户的数据表导出(此处为:用户xdw和用户newuser):
C.导出指定的数据库中的表(此处为:student表和teacher表):
D.导出数据库中表的指定字段(此处为:学生姓名中的姓为"王")的数据(此处为:student表):