设为首页 收藏本站
查看: 709|回复: 0

[经验分享] oracle数据库迁移的步骤

[复制链接]

尚未签到

发表于 2018-9-9 11:09:41 | 显示全部楼层 |阅读模式
  目的:将192.168.9.102上GGWSXT/GGWSXT@192.168.9.102:1521/ORACLE部署到104上
  1、查看原用户表空间
  select tablespace_name,count(0) from dba_segments where owner=upper('GGWSXT') group by tablespace_name;
  2、查看原用户创建表空间的目录
  select * from dba_data_files;
  3、为原用户创建表空间
  create tablespace TS_GGWSXT_XT

  datafile '/步骤2/TS_GGWSXT_XT.bdf'>  AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED
  EXTENT MANAGEMENT LOCAL
  SEGMENT SPACE MANAGEMENT auto;
  4、创建新用户
  Create user GGWSXT_01
  Identified by GGWSXT_01
  Default tablespace TS_GGWSXT_XT
  Temporary tablespace TEMP
  5、为新用户赋权限
  Grant connect,resource,dba,select any table to GGWSXT_01;
  grant read,write on directory dpdir to GGWSXT_01;
  select * from dba_directories
  6、为原用户赋目录权限
  grant read,write on directory dpdir to GGWSXT_01;
  7、通过expdp(数据泵方式)导出原用户数据 [如果时从11g迁移到10g后面添加 version=10.2.0.1.0低版本]    su - oralce 下执行
  nohup expdp ggwsxt/ggwsxt@192.168.9.102/oracle schemas=ggwsxt dumpfile=ggwsxt_20150713.dmp DIRECTORY=dpdir &
  tail -f nohup.out
  8、数据库不在一台服务器上,备份文件目录不同时;
  select * from dba_directories; 查询导入导出dmp文件的路径
  scp /导出库路径/GGWSXT_20150713.dmp root@192.168.9.104:/导入库路径/GGWSXT_20150713.dmp
  9、chown oralce.oinstall(或者是dba) GGWSXT_20150713.dmp
  10、通过impdp将数据导入新用户,语句中间无换行
  nohup impdp GGWSXT_01/GGWSXT_01@192.168.9.104/ORACLE directory=dpdir dumpfile=GGWSXT_20150713.dmp remap_schema=GGWSXT:GGWSXT01 remap_tablespace=原用户表空间名:新用户表空间名,原用户表空间名:新用户表空间名 &
  (注释:表空间名查询方式select tablespace_name,count(0) from dba_segments where owner=upper('用户名') group by tablespace_name;)
  11、数据导入后,需执行一下语句以实现用户对象的重新编译  在plsql中
  execute dbms_utility.compile_schema(upper('新用户名GGWSXT_01'));
  注:11.5:若导入的是两个有关联的库,请导入之后更新新用户同义词
  declare
  v_ywuser varchar2(20):='BDSQZBZS';
  v_gluser varchar2(20):='BDSQXTGLZS';
  v_sql varchar2(512):=null;
  begin
  for v_synonym in(select synonym_name,table_owner,table_name from all_synonyms where owner=upper(v_ywuser))
  loop
  v_sql:='create or replace synonym '||v_ywuser||'.'||v_synonym.synonym_name||' for '||v_gluser||'.'||v_synonym.table_name;
  --dbms_output.put_line(v_sql);
  execute immediate v_sql;
  end loop;
  for v_synonym in(select synonym_name,table_owner,table_name from all_synonyms where owner=upper(v_gluser))
  loop
  v_sql:='create or replace synonym '||v_gluser||'.'||v_synonym.synonym_name||' for '||v_ywuser||'.'||v_synonym.table_name;
  --dbms_output.put_line(v_sql);
  execute immediate v_sql;
  end loop;
  end;
  execute dbms_utility.compile_schema('新用户');


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-568723-1-1.html 上篇帖子: 裸设备和ORACLE问答20例 下篇帖子: oracle创建用户及常用命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表