记录一次oracle数据迁移

背景:

要把系统再部署一套,现在系统考虑用原来系统的(基础)数据。

所以需要把原来的数据导出,放到新系统数据库中。

 

操作:

-- [1.1]登陆原系统
sqlplus / as sysdba
-- [1.2]查看表空间
select tablespace_name,file_name from dba_data_files;
-- YYYY /oradata/YYYY.dbf
-- [1.3]修改密码(这一步可以没有
alter user user1 identified by "PWD";
-- [1.4]exp导出dmp文件
./exp 'user1/"PWD"' BUFFER=40960000 FILE=/bb/dataBack/xxxx.dmp TABLES=\(table1,table2 \) filesize=2G

-- oracle环境变量(里面要有oracle_home;oracle_sid)
source .bash_profile
-- [2.1]创建表空间
create tablespace YYYY datafile '/oradata/YYYY.dbf' size 100M;
-- [2.2]创建用户&授权
create user user1 identified by "PWD2" default tablespace YYYY;
grant connect,resource to user1;
grant dba to user1;
-- [2.3]导入数据
./imp 'user1/"PWD2"' BUFFER=40960000 ignore=yes rows=y indexes=n file=/AA/xxxx.dmp fromuser=user1 touser=user1
-- [2.3]链接查询(进去后就可以对导出的表进行查询了,如此自证,本机该用户是可以正常使用的
sqlplus 'user1/"PWD2"'

 

其它说明

1,导出、导入,前后的用户、表空间尽量相同,可以避免一些问题。(如果你就是想不同,那请自行研究)

2,要保证oracle环境变量已配置。不然它的命令(sqlplus,imp,exp)都不能正常使用

posted @ 2022-10-11 11:04  sanGuo7  阅读(15)  评论(0编辑  收藏  举报