oracle8i升级10g步骤.doc_第1页
oracle8i升级10g步骤.doc_第2页
oracle8i升级10g步骤.doc_第3页
oracle8i升级10g步骤.doc_第4页
oracle8i升级10g步骤.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库升级步骤一、首先安装 Oracle10.2.0.1 Enterprise x64 for Windows数据库软件 此过程需要注意以下几个方面:1 在数据库安装模式选择页面选择 高级模式中的定制安装 以便选择安装需要的数据库组件2 在数据库安装组件选项页面勾选掉 EM 企业管理工具下的所有项目在数据库配置成功后再安装该选项二、手工创建数据库在操作系统命令行模式下执行dbca开始手工创建所需数据库此过程需要注意以下几个方面1 创建过程中把数据库闪回目录设置为 F Flash_Recovery_Area 快速闪回恢复区大小设定为 100 GB 要依据服务器配置的硬盘容量大小来具体确定2 综合考虑原来 Oracle8i 下表空间的扩展使用情况和Oracle10g 的新特性 设定回滚表空间UNDOTB1大小为500MB用户表空间 USERS 大小为 20 MB 临时表空间 TEMP 大小为100MB3 重做日志文件大小设定为 5 120 KB 设置合理与否影响数据库重做日志的归档频率及备份安全4 数据库内存大小分配为系统内存的 70%数据库创建完成后 启动数据库工具 SQL*PLUS 以 sys用户连接数据库 验证数据库能否正常启动 数据库正常启动后 退出 SQL*PLUS 程序 必须手工停掉本机 服务 中的 3 项服务 具体为 Distributed File System OracleServiceORCL 和OracleOraDblog_homeTNSListener 为安装数据库补丁做好准备 否则数据库补丁安装过程中报错三、 安装数据库补丁 升级数据库到 Oracle10.2.0.4安装 Oracle10.2.0.4 补丁程序 按提示一步步进行 补丁程序安装结束后 手 工 启 动 上 述 停 掉 的 3 项 服 务 在SQL*PLUS 环境中运行数据库升级脚本 catupgrd.sql 以升级Oracle10.2.0.4 的系统字典 命令如下 我们的数据库安装在D ORACLE 目录SQLconn / as sysdbaSQLstartup upgradeSQLspool d catupgrade.logSQL d oracleproduct10.2.0db_1rdbmsadmincatupgrd.sql此脚本文件较为复杂 运行时间取决于服务器的性能 我们在 HP DL380 G6/IntelXeonE5 5202.27 GHz/12 GB 内存 2块 服务器上运行时间约 45 min 该脚本运行结束后 执行以下命令SQLspool offSQLshutdown immediateSQLstartup至此 数据库已经由 Oracle10.2.0.1 升级到 Oracle10.2.0.42.5 创建表空间上述过程执行完之后 Oracle10g 数据库系统已经有 5 个表空间 SYSTEM SYSAUX TEMP UNDOTBS1 USERS 而军卫一号 自身的表空间则需要手工创建 我院 军卫一号 数据库应用系统表空间共有 21 个 可以通过下述语句查询得到select tablespace_name from dba_tablespaces where tablespace_name not in SYSTEM RBS TOOLS TSP_TEMP INDX TEMP USERS根据查询得到的表空间名称 在 Oracle10g 的 SQL*PLUS下手工创建这些应用系统所必需的表空间 仔细对照不要遗漏 同时 在创建表空间时应结合 Oracle8i 下表空间的实际大小 对那些业务量增长缓慢的表空间 基本上与Oracle8i 下大小保持一致 对那些业务量增长迅猛的如TSP_OUTPBILL 则应适当地扩大表空间数据文件的大小 以免出现表空间的频繁扩充而影响数据库性能 表空间创建语句举例如下create tablespace tsp_outpadmdatafile Doracleproduct10.2.0oradataorclapoutpadm.dbfsize 200 Mreuseautoextend onnext 20 Mmaxsize unlimited以此类推 完成其他表空间创建语句的书写 并保存成一个ctsp.sql文件在SQL*PLUS 中执行完成军卫一号系统应用表空间的创建2.6 创建数据库所有者 OWNER我院 Oracle8i 下数据库系统所有者 OWNER 有 29 个可以通过下述语句查询得到select distinct owner from dba_tab_privs根据查询得到的 OWNER名称 在 Oracle10g的 SQL*PLUS下手工创建 仔细对照不要遗漏 数据库 OWNER的创建语句举例如下create user commidentified by commdefault tablespace tsp_commtemporary tablespace tempquota unlimited on tsp_commgrant connect resource to comm此过程需要注意的是 临时表空间必须指定为 TEMP 表空间 而不能是 Oracle8i 下的 TSP_TEMP 按照上述创建语句 写出数据库其他 OWNER 的创建语句 并最终形成一个创建脚本 COWNER.sql 在 SQL*PLUS 中执行一次性创建所有OWNER2.7 创建数据库角色 ROLE我院 Oracle8i 下数据库系统角色 ROLE 有 31 个 军卫一号 系统用户角色都是以 ROLE 开头定义的 因此可以通过下述语句查询得到所有角色select * from dba_roles where role like ROLE%根据查询得到的角色 ROLE 在 Oracle10g 的 SQL*PLUS下手工创建 创建角色语句举例如下CREATE ROLE ROLE_ADM NOT IDENTIFIED依 据 此 语 句 写 出 创 建 角 色 的 脚 本 crole.sql 在SQL*PLUS 中执行一次性创建所有角色2.8 创建用户 USER各医院 军卫一号 系统用户差别较大 可以通过以下语句自动生成创建用户的脚本 cuser.sqlselect create user |username | identified by values |chr39 |password|chr 39 | default tablespace|default_tablespace | temporary tablespace |temporary_tablespace| sql from dba_users where username not in SYS SYSTEM OUTLN DBSNMP SCOTT JW1H PE在这里需要注意的是 生成的脚本文件 cuser.sql 并不能直接使用 必须要做以下处理方可使用1 删除脚本文件中有关创建数据库 OWNER的用户语句因为 OWNER用户已经创建2 由于上述语句生成的 temporary_tablespace 是在 Oracle8i 下得到的 其值是 TSP_TEMP 因此 必须将其全部修改为 TEMP 可以通过查找替换的方法批量完成3 检查生成的脚本文件中所有的 default tablespace是否为USERS 如果不是必须全部修改为 USERS2.9 创建同义词及角色授权通过以下语句自动生成创建同义词的脚本 csynonym.sqlselect create public synonym |synonym_name | for |table_owner| . |table_name|from dba_synonymswhere table_owner IN EQUIPMENT ECONSTAT ORDADM MEDADM MEDREC INPADM COMMINPBILL OUTPBILL OUTPADM PHARMACYSURGERY CARD INSURANCE INFOACCT EXAM FUND HISACCOUNT LABACCOUNTCOM BLDBANK通过以下语句自动生成角色授权的脚本 cgrant.sqlSELECT GRANT |GRANTED_ROLE| TO |GRANTEE|FROM DBA_ROLE_PRIVS注意事项 角色 SNMPAGENT 只在 Oracle8i 存在 在 Oracle10g 中是不存在的 因此 需要手工删除生成的 CGRANT.SQL 脚本中与该角色有关的授权语句至此 已手工完成 军卫一号 后台数据库的基本架构数据导出及数据库字符集转换断开 Oracle8i 服务器的所有数据库用户 考虑到导出和导入的可控和稳定性 以 OWNER 方式将整个数据库导出为3 个文件 具体导出脚本如下exp system/manager parfile=e parfile1.txtexp system/manager parfile=e parfile2.txtexp system/manager parfile=e parfile3.txt其中 参数文件 parfile1 内容如下file=E exp2.dmpbuffer=4 096 000log=E exp2.logowner = HISACCOUNT ACCT MEDADM SURGERY INSURANCE EQUIPMENT PHARMACY ECONSTAT FUNDCARD INPBILL ORDADM BLDBANK其他 2 个参数文件 只需修改不同的 OWNER 即可利用 16 进制文件编辑器打开上述导出的 3 个文件 修改每个文件的第 2 第 3 字节由原来的 00 01 修改为 03 54 实现由英文字符向中文字符的转换 并保存文件 以备导入之用数据导入分 3 次导入上述导出的 3 个文件 命令如下imp system/manager file=e expexp1.dmp log=e imp1.logfull=y grants=y buffer=819 200imp system/manager file=e expexp2.dmp log=e imp2.logfull=y grants=y buffer=819 200imp system/manager file=e expexp3.dmp log=e imp3.logfull=y grants=y buffer=819 200至此 已完成数据库的完整升级配置服务器监听 数据完整性验证及无效对象编译借助数据库管理工具完成数据库监听的配置 用 pb 连接新的数据库 验证业务数据的完整性 并对无效的触发器 视图 过程以及包进行编译数据库启用前的准备工作上述过程完成了 军卫一号 数据库的升级工作 正式启用新的数据库前 还需完成电子病历的迁移 后台自动计价的配置及后台自动统计方面的配置等 依据实际情况完成详细配置升级关键问题及解决办法依据此次的升级经验 升级过程需要有以下几个方面的关键问题需要引起足够的重视1 数据库补丁的安装 由于数据库初步安装完之后 其版本号是 racle10.2.0.1 该版本经过测试和其他数据库用户的使用反映来看 存在诸多漏洞 因此 必须下载 racle10.2.0.4 补丁文件 将数据库升级到 racle10.2.0.4 具体过程参见本文 2.4 描述2 数据库字符集的转换 利用 16 进制文件编辑器 WinxHex 可以方便地对导出的 dmp 格式的数据库文件进行编辑只需把导出文件的第 2 第 3 字节由原来的 00 01 修改为 0354 即可实现数据库字符集由英文字符向中文字符的转换相比传统的命令行修改模式简便易行3 升级节奏的可控性 为控制数据库的升级节奏 尽可能地规避升级过程中的未知风险 数据库软件的安装采用用户自定义模式 以方便对数据库的关键参数进行科学 合理的设置 在本文 2.2 和 2.3 已有详细描述 同时 对 军卫一号 后台所有数据库对象 TABLESPACE OWNER ROLE USER SYNONYM 以及相关角色授权等全部采用手工生成脚本的形式 采用这种模式一方面可以控制升级的节奏 另一方面可以很好地理解 军卫一号 的后台数据库结构 方便处理升级过程中所出现的问题4 数据库的多用户连接 要满足多个用户同时连接 oracle10g 服务器 必须对 racle10g 安装目录下的文件 sqlneora 进行修改 用 # 屏蔽掉操作系统验证 否则 数据库只允许一个用户连接 具体如下# SQLNET.AUTHENTICATION_SERVICES= NTS修改完之后保存 重启数据库监听进程即可结论及探讨我院此次升级不仅在硬件上更换了服务器 操作系统 同时数据库由 racle8.1.6 升级到 racle10.2.0.4 版本跨度较大 存在的风险较高 因此 升级过程的可控 回逆尤为重要必须确保在升级不成功的情况下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论