我的新浪微博:http://weibo.com/u/1602714773 CSDN博客:http://blog.csdn.net/hunterno4

Oracle数据库迁移

上一篇 / 下一篇  2013-03-30 17:06:20 / 个人分类:数据库

使用imp与exp迁移数据库

对于数据量在G级或G级以内,强调高可用性,可以容忍少量数据丢失的数据库系统,exp/imp是普遍使用的逻辑备份方式

一、Windows环境下

1.创建表空间

create tablespace bank_tbs datafile 'F:\APP\ASUS\ORADATA\ORCL\bank_data01.DBF' size 5M autoextend on maxsize 10G;
2.创建用户
create user bankuser identified by bankuser default tablespace bank_tbs;
3.授权
grant connect,resource to bankuser;
4.建表
create table dept(
deptno number(2) constraint pk_dept primary key,
deptname varchar2(32),
loc varchar2(32));

create table emp(
empno number(2) constraint pk_emp primary key,
empname varchar2(10),
job varchar2(10),
mgr number(2),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(2) constraint fk_emp references dept);

create  table bonus(
ename varchar2(10),
job varchar2(9),
sal number,
comm number);

create table salgrade(
grade number,
logsal number,
hisal number);
5.插入数据

二、Linux环境下
1.创建表空间
SQL>create tablespace bank_tbs datafile '/app/oracle/oradata/orcl/bank_data01.dbf' size 5M autoextend on maxsize 10G;
2.创建用户
create user bankuser identified by bankuser default tablespace bank_tbs;
3.授权
grant connect,resource to bankuser;

三、Windows环境下
1.从Windows数据库中导出数据到dump文件中
F:\>exp bankuser/bankuser@ORCL file=F:\app\bankuser\bankuser.dmp log=F:\app\bankuser\bankuserexp.log

2.从dump文件中导入数据到Linux数据库中

F:\>imp bankuser/bankuser@ixdba fromuser=bankuser touser=bankuser file=F:\app\bankuser\bankuser.dmp log=F:\app\bankuser\bankuserimp.log

3.验证

select * from user_tables;


使用impdp与expdp迁移数据库

 impdp、expdp可以看作是imp、exp的升级版,区别:

exp和imp是客户端工具程序,可以在客户端使用,也可以在服务端使用

expdp和impdp是服务端的工具程序,只能在服务湍使用,不能在客户端使用

另外,试验了下,使用exp、imp对于没有数据的表,经过导出导入后,这张表就丢失了,而expdp、impdp不会


一、Linux环境下

1.创建导出数据的目录

SQL>create or replace directory expdp_dir as '/home/oracle/expdp_dir';

2.目录授权给bankuser用户

SQL> grant read,write on directory expdp_dir to bankuser;
3.从数据库中导出数据到dump文件
$ expdp bankuser/bankuser  directory=expdp_dir dumpfile=test.dmp logfile=test.log

二、Windows环境下

1.从linux系统中取得dump文件

2.创建用于导入数据的目录

SQL> create directory impdp_dir as 'F:\app\bankuser';

3.目录授权给bankuser用户

SQL> grant read,write on directory impdp_dir to bankuser;

4.从dump文件中导入数据到数据库中

F:\>impdp bankuser/bankuser@ORCL directory=impdp_dir dumpfile=test.dmp logfile=test.log

5.验证

select * from user_tables;


TAG: 迁移 数据库 Oracle ORACLE oracle oracle数据库 expdp

 

评分:0

我来说两句

Open Toolbar