Oracle迁移常用命令
【闲来无事,尝试将一个简单库一直到另一个机器上,大概二十个用户吧。如下是主要步骤:】
--创建表空间,最小1G,最大50G,自动以8M大小拓展【最好手动拓展表空间】
CREATE TABLESPACE XXXX
LOGGING
DATAFILE 'D:\ORACLE\ORADATA\ORCL\XXXX\XXXX_TABLE_SPACE.DBF'
SIZE 1024M
AUTOEXTEND ON
NEXT 8M MAXSIZE 51200M
EXTENT MANAGEMENT LOCAL;
--依次创建源库所有的表空间,查看表空间信息
select * from v$datafile
select * from dba_data_files
--如有问题,如下语句删除表空间重新建:(执行后若文件系统表空间文件还在可以去直接干掉)
DROP TABLESPACE XXXX INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
--改用户默认表空间、临时表空间类似于
alter user xxxx temporary tablespace xxxxx
--创建用户,给用户分配默认表空间
CREATE USER XXXXX IDENTIFIED BY admin123456
DEFAULT TABLESPACE XXXX;
GRANT DBA TO TMU_WF;
--依次创建完用户之后
--查看用户
select * from dba_users where ACCOUNT_STATUS = 'OPEN' and username like 'TMU%' order by username
--如果有问题,可以删除用户,cascade级联删除用户所有对象
drop user XXXX cascade;
--导出
exp system/XXXX6@XXX file=E:\XXXX\XXX.dmp full=n log=E:\XXX\TMU_AC.log feedback=10000 owner=TMU_AC
--导入
imp system/XXXX@ORCL full=y file=L:\sig\XXXX.dmp;
【手动迁移一个用户成功之后,用程序生成一个bat批处理文件,快速迁移其余用户】
http://www.iteye.com/topic/563274
http://www.iteye.com/topic/620306