ITPub博客

首页 > > > Oracle 数据迁移

Oracle 数据迁移

作者:格伯纳 时间:2023-02-23 15:18:26 0 删除 编辑

QA需求:

测试环境有套Oracle(19c)库,现需要将其数据迁移至开发环境Oracle(19c)库中。现使用impdb做数据迁移。


实施方案:

  1. 根据DB账号(fid_userno)、IP从测试环境查询,该账号的表空间、大小等基础信息
  2. 在开发环境中,根据测试环境查询的基础信息进行查询确认:是否已存在?
  3. 若存在:与开发沟通确认删除,重新导入数据
  4. 若不存在:创建表空间(名称、大小与测试环境保持一致)
  5. 导入数据

实施步骤:

1.1> 查询账号(fid_userno)表空间名称

select username, default_tablespace from dba_users where username = 'FID_USERNO'

1.2> 查询表空间大小

select tablespace_name, sum(bytes/1024/1024/1024) from dba_data_files where tablespace_name='待查询的表空间名称' group by tablespace_name;

2.1 查询表空间是否存在

select tablespace_name from dba_tablespaces where tablespace_name = '待查询的表空间名称'

3.1 删除用户(fid_userno),表、索引等也会一起删除

drop user fid_userno cascade; (执行过后表空间名称还在,但表数据、索引等会删除)

4.1 创建表空间

create tablespace test_data(与测试环境表空间名称一致) datafile size 10G; 
create tablespace test_index datafile size 10G;

5. 导出/导入数据.

# 导出SQL
expdp \'/as sysdba\' directory=DIR_DATA dumpfile=expdp_%U.dmp logfile=expdp.log schemas=fid_userno cluster=n

# 导入SQL
impdp  \'/as sysdba\' directory=DIR_DATA dumpfile=expdp_01.dmp logfile=impdp.log schemas=fid_userno cluster=n

directory: 导出的数据存放路径,从 select * from dba_direcotries; 查询出来的DIRECTORY_NAME列的DIR_DATA

schemas: 为导出该库的账号(即连接该的应用DB账号)

dumpfile、logfile :为文件名字可以自定义





来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3143829/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    983925