美文网首页
记录一次Oracle数据库迁移工作

记录一次Oracle数据库迁移工作

作者: 全局变量Y | 来源:发表于2018-11-10 23:19 被阅读0次

    工作内容

    1. 将21地址下的oracle数据中的用户全部迁移到35数据库中。
    2. 保证jbpm和其余业务可以正常使用。

    工作中使用到的技能

    oracle

    • expdp impdp的使用
    • 用户管理
    • 表空间拓展设置
    • 数据库链接查询与关闭
    • 创建路径并赋予权限

    linux

    • 用户切换
    • ftp命令
    • 空间查看命令

    java程序配置

    • 数据库文件配置

    思路

    1. 根据实际业务程序,整理出需要迁移的数据库用户,并使用expdp命令全部导出(不仅仅是表,包括其他所有object)
    expdp test/123456@orcl schemas=test dumpfile=test20181110.dmp directory=dir_dp logfile=test20181110.log
    
    • 第一个参数为数据库用户名/密码@实例名,需要拥有管理员权限,因需多次使用,最好是利用一个管理员账号,把多个用户导出。
    • schemas 用户名
    • dumpfile 导出文件名
    • direcotry 导出路径,这个路径需要在数据库中进行配置并给导出操作的用户赋予权限
    create directory dir_dp as 'D:\oracle\dir_dp'; 
    Grant read,write on directory dir_dp to test;
    查看目录和操作权限
    SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d
     WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;
    
    • logfile 日志文件
    1. 在35机器上,通过ftp获取21上导出的数据文件
    ftp 192.168.1.35
    get /oradata/test20181110.dmp
    
    1. 在35的数据库上进行数据导入,需要注意必须存在相应的test用户才能导入
    impdp test/123456@orcl schemas=test dumpfile=test20181110.dmp directory=dir_dp logfile=test20181110.log
    

    导入命令的参数与导出相同,注意应先创建路径。
    因为之前的同事做过一次迁移,所以35的数据库中存在数据,因为不确定impdp导入是否为全部覆盖,故先删除对应的用户在重新创建

    create user lrt identified by test
    grant connect, resource, dba to test
    grant read, write on directory dir_dp to test
    
    1. 完成所有导入后,修改对应程序中的配置文件即可(java程序中多为xml或properties(中文译为属性))

    遇到的问题

    1. 导出时报告没有权限错误
      在导出的时候,如果系统oracle用户对创建的dir没有写权限,则会导致dmp文件无法写入,需要手动赋予权限。
    2. ftp获取时提示没有权限
      错误原因是在获取是使用的oracle用户,没有home路径权限,切换为root,或转移到对应的目录即可。
    3. 删除用户时提示用户已连接
      原因很明显,只需要查询出对应的连接关闭掉即可
    SELECT s.Sid, s.Serial#,p.spid, s.USERNAME,s.OSUser,s.Program  FROM  V$Process p,V$session s WHERE p.addr=s.paddr(+) and s.username = 'test' ORDER BY s.Sid 
    alter system kill session 'spid,serial#'
    

    如果实在无法关闭连接,可以强行重启数据库

    sqlplu as / sysdba
    SHUTDOWN IMMEDIATE
    startup
    
    1. 11月1日登陆时发现某用户被锁定
      原因暂时没有找到,直接使用Toad工具,进入用户设置,取消锁定选项并重新设置密码即可

    暂时先写到这里

    相关文章

      网友评论

          本文标题:记录一次Oracle数据库迁移工作

          本文链接:https://www.haomeiwen.com/subject/fsptfqtx.html