当前位置: 首页 > news >正文

Oracle 10g跨平台迁移实战:从Unix到Linux

把Oracle 10g从Unix搬到Linux,核心只有三件事:先摸清“家底”,再完整搬家,最后验证“到新家后日子过得好不好”。下面把每一步拆成可落地的操作,方便你直接在办公电脑里虚拟出环境练手。

02迁移前:把“老房子”的情况摸得比自己还熟

2.1 ◆ 参数、字符集、对象,一个都不能漏
  • 参数文件:用create pfile='新路径/pfile.ora' from spfile='老路径/spfileSID.ora'把SPFILE翻译成PFILE,方便Linux下手动创建。记得先chown给Oracle用户写权限,否则后续创建目录会卡壳。

  • 字符集select parameter,value from nls_database_parameters,把结果写进Excel,Linux端建库时必须同字符集,否则中文乱码到怀疑人生。

  • 对象、段、表、索引、同义词、分区表、分区索引、DBLINK、回收站——全部跑一遍select owner,count(*) from dba_xxx group by owner把数字原样记下来,迁移后比对用。

  • SQL Profile:记下SELECT SQLID FROM V$SQLAREA里的SQLID,新库做完后再绑定,否则性能断崖式下跌

  • JOB与SCHEDULER:select count(*) from dba_jobs, dba_scheduler_jobs,有定时任务记得同步到Linux端,否则数据会“断更”。

2.2 ◆ 杀掉“拦路虎”——外部连接与运行中的JOB
  • 外部连接ps -ef | grep LOCAL=NO | grep -v grep | awk '{print $2}' | xargs kill -9先停客户端再停服务端,否则expdp会报“ORA-39002: invalid argument value”。

  • 运行中的JOBselect count(*) from dba_jobs_running, dba_scheduler_running_jobs,用ALTER SYSTEM SHUTDOWN ABORT硬停实例,保证数据一致性视图不乱

03正式搬家:Data Pump导出+导入双保险

3.1 ◆ 导出命令模板——按用户分片

```bash

nohup expdp \'sys/password as sysdba\' DIRECTORY=expdir DUMPFILE=lizi_%U.dmp LOGFILE=exp_bcia.log PARALLEL=1 SCHEMAS=zhangxiaona

```

关键点一次说清:

  • %U是文件编号,自动从01开始递增,Linux端文件系统写满自动新建文件,省去手动分卷。

  • PARALLEL=1表示单线程,文件大虽大,但Unix到Linux的NTFS/EXT4兼容性最好。

  • logfile写完整路径,避免在Linux端找不到log文件。

3.2 ◆ 导出前必须做的两件事
  1. lsnrctl stop把老库监听关掉,防止新库监听端口被占用

  2. 把数据量预估好,提前在目标端预留足够磁盘空间;可以用第一期里提到的select count(*) from all_tables; select bytes from dba_data_files;算出大概值。

04到新家:三张对账单验证“搬家成功”

  1. 对象数量对账:把前期记下的数字在新库里再跑一遍dba_objects, dba_segments, dba_tables, dba_indexes, dba_synonyms...,数量完全一致才算“人马俱全”。

  2. 数据一致性对账:随机抽5张表,用select count(*), sum(column) from table比对,行数、列和必须一致

  3. 性能对账:把源库慢查询SQLID在新库重新绑定计划,对比新旧库执行计划与耗时,差异超过10%要回滚检查。

http://www.jsqmd.com/news/418699/

相关文章:

  • MyBatis-Plus模糊查询避坑指南:XML中like条件的正确写法(附bind标签用法)
  • 5步精通B站无水印视频提取:从工具选择到合规操作的实用指南
  • Hunyuan-HY-MT1.5-1.8B性能调优:Accelerate多GPU部署
  • 小白也能玩转大模型:Gemma-3-12B-IT WebUI快速上手教程
  • CVPR 2019实战分享:LiuJuan Z-Image Generator显存优化技巧,告别OOM错误
  • 零基础玩转Nunchaku FLUX.1-dev:ComfyUI中文生图手把手入门指南
  • STM32实战指南(6)-深入解析CAN通信协议与差分信号应用
  • Meixiong Niannian 画图引擎:24G显存即可流畅运行的AI绘画方案
  • OFA图像描述模型API调用指南:快速集成图片描述功能
  • 突破语言壁垒:XUnity.AutoTranslator的多语言适配技术革新
  • Spring AI RAG 数据库实战教程(非常详细),知识库构建从入门到精通,收藏这一篇就够了!
  • HY-Motion 1.0代码实例:Python调用API生成Squat/Stand/Walk动作
  • GLM-4.7-Flash在Windows开发环境中的配置指南
  • 新手也能上手!冠绝行业的AI论文软件 —— 千笔·专业论文写作工具
  • 手把手教你用LingBot-Depth实现单目深度估计
  • 使用Matlab进行CosyVoice生成语音的信号分析与可视化
  • AI头像生成器创意分享:10种风格头像一键生成
  • STM32F407VET6与CH395Q串口通信实战:从零搭建以太网客户端(附完整代码)
  • Cogito-V1-Preview-Llama-3B快速体验:无需安装的在线API调用教程
  • GSV9001E@ACP# 9001产品规格解析及应用场景总结
  • Claude Code 安装教程(小白版)
  • Bidili SDXL图片生成器保姆教程:参数详解+实操,快速出效果
  • 2026零售企业薪酬服务优化成本推荐榜:薪酬服务外包公司/薪酬服务平台/薪酬服务解决方案/薪酬服务代发/选择指南 - 优质品牌商家
  • JVM--面试题6:如何判断对象可以被垃圾回收?
  • 学长亲荐 8个AI论文网站:研究生毕业论文写作与格式规范全测评
  • 百度网盘资源获取工具:高效检索与权限管理解决方案
  • 初识Markdown
  • UDOP-large优化升级:英文文档摘要生成与版面布局分析实战指南
  • 静态时序分析Static Timing Analysis2——时序路径优化、多周期路径与伪路径约束实战
  • 基于Qwen3-ASR的播客内容分析系统开发