迁移库@

/**
我现在采用了一个新的方式,重新搭建数据库。

步骤:

1、先导出数据库,但不包含表数据。rows=N

2、查询数据小于50M的表。

3、导出小于50M的表数据,包含对象。rows=y parfile=d:\useingdb\table.txt

4、导入数据库。

5、导入表数据。
**/

--1.统计用户db_user下的表空间查询出。

--2.用plsql 导出用户对象(job 要另外建立);
--db_user.sql
--3.查询小于50M表 tables=(table1,table2,table3) 保存在table.txt中;
select t.segment_name, sum(t.bytes) / 1024 / 1024

from user_segments t
WHERE t.segment_type LIKE 'TABLE%'
group by t.segment_name
having sum(t.bytes) / 1024 / 1024 <50

--4.导出数据 表数据小于50M tables=(table1,table2,table3) 保存在table.txt中;
exp db_user/db_user@to_192.168.1.103 file=D:\useingdb\db_user.dmp log=D:\useingdb\db_user.log buffer=20480000 rows=Y parfile=d:\useingdb\table.txt
--db_user.dmp
--3.单独导出大于50M表

------------------------------------导入-----------------------------------------
--1.创建用户+密码
create user db_user identified by db_user;
--2.授权
grant connect,resource,dba to db_user;
--3.根据导入情况需要建立表空间
create tablespace mytbs datafile 'd:\oracle\oradata\mytbs01.dbf' size 500M autoextend on next 2M;
--4.执行db_user.sql 创建用户对象(job除外)

--5 导入小于50的表
imp db_user/db_user@to_192.168.1.103 file=D:\useingdb\db_user.dmp full=y buffer=20480000
--6 导入大于50的表,(创建job)
imp db_user/db_user@to_192.168.1.103 file=D:\useingdb\db_other.dmp tables=(table1,table2,table3) rows='y' buffer=20480000

posted @ 2013-08-19 09:06  lishoubin  阅读(206)  评论(1编辑  收藏  举报