因环境升级变更,现需要将旧的开发测试环境中的数据迁移到新的开发环境中。以下是本次数据迁移工作的过程记录。
第一步:连接登录旧的数据库环境,查看业务用户的默认表空间是哪些。
select username, default_tablespace from dba_users where username in ('OPN_SYS', 'OPN_RPT', 'OPN_INT');
第二步:查询数据文件占用大小和使用大小。
select
b.file_id 文件ID号,
b.tablespace_name 表空间名,
b.bytes/1024/1024||'M'字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用,
sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间,
100 - sum(nvl(a.bytes,0))/(b.bytes)*100 占用百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id and b.tablespace_name = 'DATA_OPN'
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;
第三步:连接登录新环境,查看数据文件路径。
select tablespace_name, file_id,file_name,
round(bytes/(1024*1024),0) total_space from dba_data_files
where tablespace_name = 'DATA_OPN'
order by tablespace_name;
第四步:在新环境创建表空间。
--创建名称为DATA_OPN,数据文件存放位置为/u01/app/oracle/oradata/orcl2/DATA_OPN.dbf,数据文件初始化大小为20G(创建前,一定要保证数据库服务器硬盘空间够用),自动扩展数据文件,每次扩展1G,表空间不限制最大值,的表空间。
create tablespace DATA_OPN datafile '/u01/app/oracle/oradata/orcl2/DATA_OPN.dbf' size 20G autoextend on next 1024M maxsize unlimited;
第五步:逐个创建业务用户
--创建用户名为OPN_SYS密码为!QAZ2wsx,默认表空间为DATA_OPN的数据库业务用户
create user OPN_SYS identified by "!QAZ2wsx" default tablespace DATA_OPN;
第六步:给业务用户授权
grant resource, connect, create session, create view, create sequence, create synonym to OPN_SYS;
第七步:导出数据
//导出远程服务器的数据
[oracle@dxh-redhat6 crsdump]$ exp opn_sys/\!QAZ2wsx@192.168.100.82:1521/OPENDB file=/home/oracle/crsdump/opn_sys_20181016.dmp
第八步:导入数据
//在本机上导入数据
[oracle@dxh-redhat6 crsdump]$ imp opn_sys/\!QAZ2wsx@orcl file=/home/oracle/crsdump/opn_sys_20181016.dmp FULL=Y
备注:数据导入过程可能需要DBA权限,此时可以通过以下命令给普通用户授予DBA权限
grant dba, connect, resource to OPN_SYS;