eygle.com   eygle.com
eygle.com  
 
Digest Net: May 2008 Archives

May 2008 Archives

RMAN简明参考使用手册

| 3 Comments

以下是RMAN的简要使用参考,主要内容涉及Oracle9i,不包含之后版本信息。
部分脚本仅作参考:

一、RMAN的概念与体系结构
Recovery Manager(RMAN)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更强大的备份与恢复的管理功能。

通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷与完美。

9i的RMAN有如下特征特性:


  • ·自动的备份与恢复

  • ·方便的备份归档日志

  • ·自动检测新的数据文件

  • ·支持增量备份

  • ·最大限度的减少备份与恢复的错误

  • ·减少恢复的时间

  • ·在热备份中不会产生额外的redo日志

  • ·损坏数据块的自动检测

  • ·并行的备份与恢复操作

  • ·在线备份时,表空间不用置于备份模式

可以看到,在以上的一些特性中,显示了RMAN强大的功能与好处,以上功能的实现,是因为RMAN是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据块而获得一致性的数据块,可以避免备份没有用过的块,可以检验块是否损坏等块级别的问题。

胚胎停止发育的可能原因

| 2 Comments

昨天才知道,一个婴儿在出生之前也可能经历诸多挑战,每个Baby都是英雄。

在孕妇怀孕期间,出现 "胎停育" 也就是 胚胎停止发育 的概率是很高的。
根据统计,有15%至20%的妊娠以流产告终,还有30%至40%的隐型流产尚未被发现。

以下是关于胎停育的一点介绍
胎停育就是胎儿停止了发育。通常妇女怀孕后40到50天左右,胎儿便有了胎芽和胎心,如果这时通过B超检查没有找到胎芽和胎心,就意味着胎儿停止了发育,在怀孕早期就叫"胎停育"。

胎停育原因:染色体、内分泌、感染、环境污染皆成祸端

造成胎儿停止发育的原因很多,并非每例病人都能找出确切的原因。但是有些原因是业内专家一致公认的。

  由于染色体的数目或结构异常所致的胚胎发育不良,是流产最常见的原因,在自然流产中,遗传因素可占50%至60%。这也是一个自然淘汰的过程。导致胎儿染色体异常的原因很多,比如妈妈卵子异常,爸爸精子畸形,有毒化学物质的影响,放射线、高温等都会使胚胎染色体发生异常。

  内分泌失调也是个重要原因。在内分泌门诊,经常会有"黄体功能不足"的患者,黄体功能不足可引起分泌期子宫内膜发育不良而致孕卵不易着床,或者卵虽然着床却早期流产。

  孕妇感染也是导致胎停育的一个重要原因。有些比较小的病毒,比如风疹病毒、巨细胞等微小病毒,对母体不会产生什么影响,有的孕妇感染病毒后甚至没有任何症状,但对胎儿的影响可能是致命的。

  环境污染对孕妇的影响也比较大,虽然目前还没有科学的研究数据,不过医生还是建议孕妇最好注意远离各种辐射,比如看电视最好距离两米以外等

祝愿每个准妈妈都能安康!

Tigerfish
      ITPUB 坛主,ITPUB创始人之一,曾任Oracle数据库管理、Cisco认证、Unix、DB2等多个版块版主。来自华南地区某著名学府,有丰富的IT行业 经验,资深IT培训专家,曾为华南地区多家著名培训中心和大型企业主讲Oracle、Cisco、DB2、UNIX等IT课程。
近3年曾主讲的主要企业培训清单:
广东省农业银行(UNIX,前后3次)
佛山鹰牌陶瓷(Oracle DBA,前后2次)
广州市公安局(Oracle DBA、UNIX)
汕头市公安局(Oracle DBA)
深圳中银软件(Oracle DBA)
华南计算机公司(Oracle DBA)
深圳新科安达(Oracle DBA)
番禺国土局(Oracle DBA)
佛山邮政(Cisco)
广州邮政(Cisco)
佛山电力(Oracle DBA)
大亚湾核电厂(Oracle DBA,前后3次)
深圳赛意法半导体(Oracle DBA)
金蝶软件(DB2 UDB)
南方航空公司(Oracle DBA)
广东电信(Oracle DBA,前后6次)
深圳建设银行(UNIX)
IBM深圳(DB2 UDB)
深圳工商银行(Oracle DBA)
广州海关(Oracle DBA)
深圳润讯(Oracle Performance)
GaryWei
      某著名软件企业技术总监,有丰富开发经验与培训经验。擅长Oracle、Sybase数据库产品与开发工具。
近2年主要客户有:
广东电信(Sybase ASE 11.9)
深圳电信(Oracle 8i DBA)
广西电信(Oracle 8 DBA)
广东省农业银行(Sybase System 11)
汕头公安局(Oracle Developer & PowerBuilder)
广州番禺地税局(Windows NT &  PowerBuilder)
深圳中国银行软件开发中心(Oracle PL/SQL PRO*C/C++)
中国南方航空公司(Oracle PL/SQL WebDB)
深圳岭奥核电厂(Oracle Developer & Designer & Portal) 
沈阳和光集团(Oracle PL/SQL JDeveloper WebDB)
佛山中国银行(Oracle 8 DBA)
海南中国电信(Oracle Developer)
biti_rainy
     曾任itpub开发版版主,现任管理版版主,在各大技术论 坛上比较活跃,获得了大家的认可.擅长sql优化和数据库优化技术,有丰富的实践经验。曾在多个项目中使用  pb + oracle,曾经在中国电信使 用pro*c做计费的数据库后台程序开发,同时负责项目的sql优化工作.在一大型系统集成公司担任数据库负责人,目前是香港一家跨国公司珠海研发中心的 技术负责人,公司目前主要产品就是sql与数据库优化工具,产品主要销往欧洲和北美。
w39
ITPUB ERP论坛版主,毕业于上海复旦大学,在ERP系统开发/实施/技术支持/售前方面有6年的经验。其中一半以上时间在企业内部做实施工作,对企业选型和实施有着丰富的经验。在工作期间组织过内部和外部的多种培训。
工作经历简介
96 年开始接触ERP系统,从事QAD的MRPII系统二次开发工作。后担任某国内小型MRP软件公司的项目经理,负责公司软件从售前、需求分析到软件交付、 验收全过程的工作。99年在广东一生产企业负责BAAN ERP系统的内部技术工作。目前一家港资软件公司担任售前支持顾问。
汉讯
广东汉讯信息工程有限公司创立于1999年10月,是一家与国际著名公司 ----Oracle公司紧密合作的高科技公司。公司的实施顾问在长期的ERP系统实施过程中,积累了丰富的项目管理和实施经验,有一整套规范、科学兼具 灵活性的实施策略,确保项目按照计划顺利完成,并提交给用户详尽的文档资料,实现完整的技术转移。汉讯公司在ITPUB此次培训的过程中,派出了五名顾问 参与ERP课程的讲授.
黄水花、罗宏坤:财务模块
张晓鹤:分销模块
汤新蔚:制造模块
陈杰:系统安装、调试、二次开发
richto
Richto毕业于美国市立纽约大学,获得电脑学硕士学位,现任LECCO Technology Ltd (灵高科研有限公司,http://www.leccotech.com) 技 术总监和副总裁,是世界一流的SQL优化技术专家。多年从事数据库优化技术的研究,其研究成果之一"LECCO SQL Expert " 曾获多项技术 及国际奖项,畅销欧美。由于SQL Expert的突破性技术,Sybase公司破例OEM该产品,从Sybase 12.5开始包含在Sybase 数 据库中,作为标准的SQL优化工具。richto参与ITPUB的技术讨论有相当长的时间,一贯支持和关注ITPUB的发展,在SQL优化技术课程 中,richto将以特邀嘉宾的身份作专题演讲。http://www.ciw.com.cn/media/ciw/1095/d1001.htm
easyfree
ITPUB论坛的超级版主和OCP板块版主, Oracle 8i OCP, 毕业于北京某著名高校, 有10年以上的数据库开发和项目管理经验, 曾在北京和深圳的多家公司中担任数据库开发,管理和项目管理工作, 目前在一家港资软件公司担任技术主管。
eygle
    曾任ITPUB MS版版主,现任管理版版主。曾任职于某国家大型企 业,服务于烟草行业,开发过基于Oracle数据库的大型ERP系统,属国家信息产业部重点工程。同时负责Oracle数据库管理及优化,并为多家烟草企 业提供Oracle数据库管理、优化及技术支持。目前任职于北京某电信增值业务系统提供商企业,负责数据库业务。管理全国30多个数据库平台。 实践经验 丰富,长于数据库诊断、优化与SQL调整。
lunar2000
   个人经历丰富,历经网站设置、java开发、系统管理、数据库管 理。目前服务于国内某大型智能网络提供商企业,高级专家组成员。客户遍及国内外,曾远赴泰国为泰国电信提供OPS数据库备份恢复及优化等技术支持。曾于多 家Oracle培训机构进行授课,深获信任和好评。长于备份恢复及HA(OPS/RAC/DATAGUARD/Standby)相关问题。
coolyl
现任管理版版主,目前服务于国内某大型软件企业做oracle数据库的技术支 持,客户遍及全国各个行业,尤其是电信,政府行业。擅长数据库的维护,对于数据库的安装,调整,备份方面有自己独到的经验。同时也给一些国内的大型企业如 广东省电信公司,广东省工商银行等等做过oracle的培训,有一定的培训经验。曾经做过很多大型项目的数据库维护和支持工作,对oracle的维护有相 当多的实际经验,善于现场解决问题。
万利荣
ORACLE 中国公司的授权兼职教师,主讲 SQL*PLUS、 DATABASE BACKUP & RECOVERY、PERFORMANCE TUNNING 及 DEVELOP 2000、ORACLE OAS、IAS  的全部课程。并负责OCP考试的培训及相关的技术指导。Oracle9i新版本的授课教师。 同时,参与多个实际ORACLE
系统的维护、备份与恢复方案的设计,系统运行速度与性能调优。  参与的ORACLE项目管理及系统技术支持有:

1.北京新东安计算机系统集成(ORACLE 软件与HP硬件相结合。作为集成商新加坡捷迅宇博公司的技术负责人)   
2.国家统计局人口普查系统的系统服务(主要是对现有ORACLE系统进行优化调整)   
3.脉搏网ORACLE系统的技术支持。   
4.中国移动多个地市的数据库技术支持。 
5.新华书店总部ORACLE系统的速度调优。

  主要培训的单位有:北京移动,北京电信,杭州移动,四川电信,四川联通,国家统计局,国家检疫局等
王钢
oracle公司培训部顾问、ocp培训课程讲师
个人经历丰富,早年曾工作 于西菱电子研究所,从事新疆伊宁市工商政管理系统软件开发工作,负责开发其中"公司管理系统"和"企业管理系统"部分。98年在北京清华同方任项目经理组 织开发全国公安管理系统;99年在华为公司参与电信系统的的开发在该项目中运用ORACLE对象关系型数据库、并参与实施ORACLE并行数据库安装调试 工作、以及企业版数据库的备份恢复优化工作。2000年,中软公司ORACLE数据库技术支持。在此阶段实施运用了ORACLE数据库高级复制技术、双机 热备技术、备用数据库技术。实施设计数据库性能、备份方案、数据库数据移植方案。2002年至今任职于某著名计算机服务中心兼oracle中国公司培训部 顾问并讲授ocp培训课程。
袁保华
个人经历丰富。早年工作于西菱电子研究所,从事新疆伊宁市工商政管理系统软件开发及 产品化工作, 其间负责对全新疆油田的石油用户进行oracle数据库培训,主讲oracle数据库管理员部分。98年,加盟北京某科技发展有限公司,负 责开发甘肃金昌矿区生产系统。后来任该公司oracle技术专员,专职负责有关oracle数据库的技术工作及oracle增值服务,负责安装各种平台上 的oracle, 升级移植oracle,作oracle售后技术支持,作oracle性能调优。并兼作oracle数据库培训及跟踪oracle数据库 技术动态。其间部分经历如下:
翻译oracle分区技术及oracle空间技术选件并编写oracle分区技术教材及oracle空间技术选件教材。
为空军气象中心和中科院遥感所培训oracle数据库核心,oracle分区技术, oracle空间技术。
为青岛钢铁厂计算中心进行数据库移植。
为大通公司进行数据库移植并对其数据库进行调优。
担任北方交大oracle联合大学培训教师,讲授oracle数据库管理员课程。
为海军水文气象中心进行oracle数据库培训及developer/2000开发工具的培训课程。
2000年至今,任职北京某著名计算机服务中心兼oracle公司培训部顾问并讲授ocp培训课程。
曾经培训的单位有:
河南移动
深圳移动
山西移动
湖南移动
贵州移动
新疆移动
沈阳联通
大连联通
惠普公司
诺基亚公司
motorola公司
北京中太数据
联想
江苏中行
浙江动植物检疫局
搜狐网
新华网
tom网
等。

Kamus
现任ITPUB Oracle数据库管理版主,PC-UNIX版版主。 
任职于某合资企业,服务于电信,保险,零售行业,开发基于Oracle数据库的大型呼叫 
中心系统。同时负责Oracle数据库管理及优化,管理公司基于Oracle平台的所有业务。 
并为多家企业提供Oracle数据库管理、优化及技术支持。实践经验丰富,长于数据库方 
案策划、问题诊断。 
通过Oracle DBA认证,获得OCP证书,具有Oracle培训经验。
gototop
www.ncn.cn站 长,历任HP中文论坛、Chinaunix.com、Oracle中文论坛等论坛版主,有培训经验,在各大网站、论坛发表Oracle相关文章几十万字。 个人经历丰富,涵盖UNIX、数据库、中间件、应用服务器、ERP和软件开发等众多IT领域。现为某知名电信公司资深 Oracle DBA,Team Leader;擅长Oracle数据库设计、诊断、恢复、性能优化,以及各种HA和容灾方案的设计与实施等;对 Oracle8i/9i的单双机环境均有丰富经验。
piner
现任CSDN论坛Oracle版块版主。有多年从事DBA开发与管理经验,有丰富的电力、政府行业经验,现在任职于一国家大型企业计算机公司任DBA,主要负责进出口平台数据管理。擅长于数据库备份与恢复,深入了解Oracle体系结构,对数据库优化也有深入的研究。
   曾经给广东省公安厅作过Oracle培训,给广东省检验检疫局作过性能优化。
   通过Oracle OCP认证,有丰富的实战经验与授课经验。
cisco800
曾任专业CISCO讲师,教学经验丰富,现供职于国家政府机构的IT 管 理中心,负责大型网络环境的设计维护,以及大型数据库的管理和应用。CCNP,通过了CCIE WRITTEN。正在准备 CCIE LAB 考试。对大 中型网络具有深入的了解,同时也是ORACLE OCP。 
飞翔鱼
现就职在国内最大的某中外合资通讯制造企业,参与多个网络系统方案设计,曾经参加上海等地区广域网、局域网络、VOIP、VPN等项目的施工,精通CISCO、IBM、华为等设备,具有丰富的现场工作经验。具有 MCSE 、CCNP 证书。
Mrzhou
ITPUB现任Oracle Applications版块斑竹,毕业于哈尔滨工业大学,管理工程硕士。五年以上
Oracle Applications 实施与维护相关经验,曾在制造业、金融业多家大型企业实施过Oracle
财务、分销、制造等多个模块,同时还具项目管理丰富经验。 
金融业方面,曾为国内两家大型银行、一家银行清算类企业实施Oracle 财务系统。
制造业方面,曾为多家上市大型企业服务,比较知名的包括:香港震雄集团、广东美的集团等。
ayoung
ITPUB现任Oracle Applications版块斑竹。具有深厚财 务专业背景,熟悉外资企业财务流程操作,对生产型企业的物流、销售、成本核算架构有自己见地,对出口型企业的"免抵退"税务处理的能准确理解并熟练掌握处 理,能提供处理外资生产型企业整套财务处理方案。
1995年10月至2000年7月任职德赛集团与日本合资企业惠信精密部件有限公司财务部,从事会计成本核算、安易财务软件和财务网络维护工作。
2000年7月至2002年10月,任职德赛电线有限公司财务部,负责财务部全面工作,于2001年至2002年并担任公司ERP推进项目经理,率领各部门ERP项目成员实施KINGDEE/K3采购、销售、仓存、总帐、应收应付等模块,并取得一定的成效。
2002 年10月至2003年5月,加入德赛集团公司ORACLE ERP项目小组,关键核心成员,与IBM咨询实施顾问一起实施集团总部、德赛电子和德赛精密的 GL/AP/AR/FA/CM等模块。6月至04年3月份,独立实施完成集团内部下属6家子公司的ORACLE ERP财务模块。
Ora-600
ITPUB现任OCP版块斑竹,毕业于西安电子科技大学,擅长 Oracle DBA技术、需求分析、系统分析与设计,数据建模,代码开发等,8i/9i OCP认证获得者,曾参与国土资源厅国土资源土地管理系统、土 地整理预算系统、北京公交一卡通项目客服系统和ED卡管理系统、武威地区电力局的商务办公自动化系统和电力MIS系统、西北电力设计院商务办公自动化系统 等项目,负责Oracle数据库后台设计、规划、管理、开发报表系统、培训等各项工作,曾在北京多家培训中心进行Oracle讲学,近期主要培训客户:
汕头电信
新乡电信
山西电信
江西工行
山西工行
湖北中行
北京农发行
国家海关总署
安徽国税
太原国税
甘孜州国税
烟台麦特集团
无锡联通
南天股份
国家经贸委
Optimizer
曾在加拿大从事多年Oracle数据库相关工作,资深OCP、金融行业专家。

   丰富的ORACLE 8i/9i 培训经验、教学经验和扎实的理论知识,培训了数以百计的Oracle OCP认证工程师和现场技术支持工程师。

   先后在北方交通大学ORACLE联合大学、北京银河网络教育中心、北大方正培训中心、神州数码培训中心、中科院软件所培训中心、长城计算机系统与软件系统公司培训中心和北京翼砺索思培训中心担任培训教师。 
Snonywolf
ITPUB现任Oracle电子文档版块版主,从事GIS软件开发,专于空间数据库技术。善于整理文档,精通chm文档制作。
lucky_lau
ITPUB现任OCP版块斑竹,多年Oracle数据库经验。早期多从 事工控方向的研发工作,中间曾转行做销售工作。现从事物流、付费、销售等软件数据库端开发,并负责客户数据库维护、内部员工ORACLE培训等工作。就职 于北京某公司。8i/9i OCP认证数据库管理员。
d.c.b.a
现任ITPUB开发版版主,曾服务于电力和通信领域,做过两年多的程序员, 用pb和d2k在Oracle上进行开发,于2001年5月通过Oracle 8i OCP的认证和Oracle Developer 6i认证,拥有 MCDBA证书,通信电领域主要做数据仓库项目,知识面广阔,开发经验丰富,做过1年多的IT培训讲师,现在上海一外企做Oracle DBA,曾为以下 单位讲课与服务:

南京华飞彩色显示器系统有限公司
南京军区总院
中国工商银行苏州分行
上海优利投资咨询有限公司
福建省烟草局

做了一个Free的软件叫AnySQL,欢迎大家免费使用!
http://www.anysql.net 提供无偿下载!
watch
王川 先生,美国南加州大学MBA,中国咨询管理协会会员,SAP专业高级顾 问。5年多SAP实施经验,负责和参与实施包括韩国三星集团、香港华润集团等在内的数十家ERP系统,精通SAP SD/MM模块和BW模块,对PP模块 也充分了解。曾供职于包括三星集团、金蝶软件和金海马集团在内的多家跨国公司和国内知名企业,并担任重要职务。现为咨询管理公司项目经理兼高级顾 问,ITPUB SAP论坛版主。在国内已经成功举办数十场SAP培训,包括面向专业咨询管理顾问的培训和企业方高级管理人员的培训,以思路清晰、案例丰 富著称。 
my_sap2002
ITPUB SAP版块创始人之一,现任SAP版斑竹,曾在德国SAP公司实地进修一年,资深项目经理,参与国内外多个BW项目,具有丰富的实践经验
xzh2000
曾任职于广州大型港资企业,开发过基于oracle数据库的大型erp系 统。在数据库建模、备份与恢复、系统调优、sql优化、数据迁移、pl/sql开发、体系结构等方面有丰富的经验;目前任职于广州某网络增值服务运营商, 负责数据库的故障诊断处理、异构数据迁移、新业务实现规划、系统调优与sql优化等职责。

培训讲师,培训经验丰富。曾经的培训客户有:中国石化信息中心、航天三院信息中心、鄂尔多斯羊绒集团信息中心、河北峰峰矿务局信息中心、太原铁路分局信息中心、广州日立电梯信息中心等。

讲授过itpub高级性能调整课程
曾任itpub ms sqlserver版版主,现任itpub oracle开发版版主
jxufe_legendxj
曾就职中国农业银行广东分行,联想集成,中联,长天等公司,先后担任程序员,项目经理,主机工程师等职位
目前在上海某科技公司任技术总监.
主要技术方向:
RS/6000,AS/400,DB2,INFORMIX,SYBASE,HDS ,EMC-CX,CICS等产品的安装管理调优维修及相关的应用开发支持
meteor78
毕业于西安电子科技大学,现任CHINAUNIX solaris版版主。 
任 职于某sun VPSP,服务于电信,石油,教育,从事与sun产品及软件的系统集成工作,多年工作经验,熟悉sun solaris系统及sun硬件安 装及维护,sun cluster调试,多次为知名外企做服务外包和电话支持。曾多次为某培训机构兼职培训sun solaris认证培训。实践经验丰 富,擅长系统调优、问题诊断。 通过sun scsa认证,具有丰富solaris培训经验。
orian
曾任职于IBM,多年从事UNIX系统管理\维护,有近10年的行业经验
擅长RS/6000,pSeries,aix,ess等各种型号机器的故障诊断,性能优化
对于高可靠建设、容灾,存储相关项目,outsourcing系统维护管理等,从方案设计到实施都有丰富的经验
Puber
某大型零售企业Oracle DBA,持有OCP,有丰富的Oracle数据库产品的使用,部署经验和乐于交流培训的热情.

现负责公司开发/业务测试/性能测试/产品等多个环境的N-Tier应用的设计,创建,性能优化.同时为开发人员提供Oracle培训,技术支持.

曾服务于国内某电信行业系统集成公司.参与了中国联通多个省市综合营帐系统的建设.期间: 
一年的PowerBuilder & PRO*C & PL/SQL开发经验.
两年的几十个地市Oracle数据迁移,系统割接及系统日常运维经验.同时参与过多次Oracle性能优化和故障解决.

darkbug
毕业于北京航空航天大学
现任职于某IBM SP,主要服务于政 府、保险、工商企业、教育等行业。主要从事IBM相关产品的技术咨询、售前技术支持、项目实施和运行维护。多年IBM产品工作经验,熟悉IBM P系列主 机的硬件,AIX操作系统,HACMP高可用集群,磁盘阵列,LTO磁带库,Tivoli系统管理软件,DB2数据库。
一直为合作伙伴提供服务外包、现场支持和技术支持。实践经验丰富,擅长系统设计、问题诊断。 通过IBM CATE认证,具有丰富IBM相关培训经验。
vvyjp
ITPUB现任CRM版块和HR版块斑竹。
  具有深厚财务和制造专业背景,熟悉中外合资企业财务流程操作,对快速消费品行业的物流、销售、成本核算架构有自己的认识,能提供处理集团企业整套财务处理和制造流程实施方案。 
1996年06月至1996年10月:任职维维集团第二生产基地财务,从事会计成本核算工作。 
1996年10月至1997年05月:任职维维集团南宁销售公司财务,负责财务全面工作。
1997年05月至1998年04月:任职维维集团总部财务部,总账会计,电算化会计方面工作,并负责财务网络维护工作,兼任集团电脑组组长,负责集团电脑方面全面工作。
1998年04月至1999年05月:任职维维集团总部销售财务    ,负责集团销售财务总账,往来及报表的合并等工作,兼任集团电脑组组长,负责集团电脑方面全面工作。完成财务软件(国内网络版财务)全面集成。
1999年05月至2002年02月:任职维维集团总部销售储运    ,负责储运部全面财务工作,兼任集团电脑组组长,负责集团电脑方面全面工作。通过和招商迪辰合作,完成了物流系统的信息化建设。
2002 年02月至2004年03月:任职维维集团公司总部信息中心,ORACLE ERP项目组的软件组 组长,带领软件组成员,与IBM咨询实施顾问一起实施 集团总部、乳业公司的GL/AP/AR/FA/CM等模块。其后独立实施了牛奶公司、成都销售公司、上海乳业等多家分子公司的GL/AP/AR/FA /CM等模块作。
2004年03月至2004年09月:任职南京某咨询公司顾问,天津某外企制造相关模块实施。
04年09月至今:任职上海某咨询公司顾问,从事 ERP的GL/AP/AR/FA/CM/CST等模块的实施工作。
现正在上海某国内企业项目中,做制造和财务相关模块实施。
我爱臭豆腐
任职于samsung sds china 数据中心. 从事多年unix 系统管理\计算机安全\网络
工作.有11年的行业经验
擅长于各种unix和linux 的系统维护/cluster 和安全方面的工作.实施过很多大型
集成项目以及系统和网络方面的安全评估和咨询服务.
并在主机安全和网络方面有多种非常优秀的经验.
wzy25

ITPUB现任金融版块及oracle as 板块斑竹,
某大型金融机构首席 DBA,有多年的大型 oracle database 及中间件 (weblogic ,oracle as)系统的构建优化经验,
对Oracle database 的高可用相关技术(rac,dataguard),性能优化,internal有深厚的研究和多年的实践经验。
同时对组建大规模的中间件集群(>4node)及中间件优化有多年的实践经验。

ZALBB
现任ITPUB ORACLE 10G管理版版主,曾参加过97工 程,INTERGRAPH公司的GFRAMME ,后来数据库研发工作,具有丰富的ORACLE实践应用经验,对数据库的体系结构,备份恢复,SQL优化 均有深入研究,尤其擅长ORACLE的技术应用。 现服务于一大型私企,负责ERP及CRM系统后台数据库管理及优化工作。
Boypoo
曾任职于电信运营商,现任职于某Oracle增值服务商,对电信行业业务流程 与系统特点有深刻理解,对大型业务数据库的物理设计、管理和维护有相当经验。对Oracle数据库的Trouble-Shooting、 Performance Tuning、Backup/Recovery有丰富的实践经验,熟悉HA和DR方案的设计和实施。
主要培训客户有:
四川电信 
统一企业
上海社保
重庆联通
江西电信
1、什么是存储过程。存储过程是数据库服务器端的一段程序,它有两种类型。一种类似于SELECT查询,用于检索数据,检索到的数据能够以数据集的形式返回给客户。另一种类似于INSERT或DELETE查询,它不返回数据,只是执行一个动作。有的服务器允许同一个存储过程既可以返回数据又可以执行动作。
2、什么时候需要用存储过程
  如果服务器定义了存储过程,应当根据需要决定是否要用存储过程。存储过程通常是一些经常要执行的任务,这些任务往往是针对大量的记录而进行的。在服务器上执行存储过程,可以改善应用程序的性能。这是因为:
.服务器往往具有强大的计算能力和速度。
.避免把大量的数据下载到客户端,减少网络上的传输量。
  例如,假设一个应用程序需要计算一个数据,这个数据需要涉及到许多记录。如果不使用存储过程的话,把这些数据下载到客户端,导致网络上的流量剧增。
  不仅如此,客户端可能是一台老掉牙的计算机,它的运算速度很慢。而改用存储过程后,服务器会很快地把数据计算出来,并且只需传递一个数据给客户端,其效率之高是非常明显的。
3、存储过程的参数
  要执行服务器上的存储过程,往往要传递一些参数。这些参数分为四种类型:
  第一种称为输入参数,由客户程序向存储过程传递值。
  第二种称为输出参数,由存储过程向客户程序返回结果。
  第三种称为输入/输出参数,既可以由客户程序向存储过程传递值,也可以由存储过程向客户程序返回结果。
  第四种称为状态参数,由存储过程向客户程序返回错误信息。
  要说明的是,并不是所有的服务器都支持上述四种类型的参数,例如,InterBase就不支持状态参数。
4、oracle 存储过程的基本语法

  1.基本结构
CREATE OR REPLACEPROCEDURE 存储过程名字
(
    参数1 IN NUMBER,
    参数2 IN NUMBER
) IS
变量1 INTEGER :=0;
变量2 DATE;
BEGIN
END 存储过程名字

2.SELECT INTO STATEMENT
  将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
  记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
  例子:
  BEGIN
  SELECT col1,col2 into 变量1,变量2 FROM typestruct where xxx;
  EXCEPTION
  WHEN NO_DATA_FOUND THEN
      xxxx;
  END;

一:无返回值的存储过程
存储过程为:
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
BEGIN
  INSERT INTO HYQ.B_ID (I_ID,I_NAME) S (PARA1, PARA2);
END TESTA;
然后呢,在java里调用时就用下面的代码:
package com.hyq.src;

import java.sql.*;
import java.sql.ResultSet;

public class TestProcedureOne {
public TestProcedureOne() {
}
public static void main(String[] args ){
    String driver = "oracle.jdbc.driver.OracleDriver";
    String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521: hyq ";
    Statement stmt = null;
    ResultSet rs = null;
    Connection conn = null;
    CallableStatement cstmt = null;

    try {
      Class.forName(driver);
      conn = DriverManager.getConnection(strUrl, " hyq ", " hyq ");
      CallableStatement proc = null;
      proc = conn.prepareCall("{ call HYQ.TESTA(?,?) }");
      proc.setString(1, "100");
      proc.setString(2, "TestOne");
      proc.execute();
    }
    catch (SQLException ex2) {
      ex2.printStackTrace();
    }
    catch (Exception ex2) {
      ex2.printStackTrace();
    }
    finally{
      try {
        if(rs != null){
          rs.close();
          if(stmt!=null){
            stmt.close();
          }
          if(conn!=null){
            conn.close();
          }
        }
      }
      catch (SQLException ex1) {
      }
    }
}
}
当然了,这就先要求要建张表TESTTB,里面两个字段(I_ID,I_NAME)。

二:有返回值的存储过程(非列表)
存储过程为:
CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
BEGIN
  SELECT INTO PARA2 FROM TESTTB WHERE I_ID= PARA1;
END TESTB;
在java里调用时就用下面的代码:
package com.hyq.src;

public class TestProcedureTWO {
public TestProcedureTWO() {
}
public static void main(String[] args ){
    String driver = "oracle.jdbc.driver.OracleDriver";
    String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
    Statement stmt = null;
    ResultSet rs = null;
    Connection conn = null;
    try {
      Class.forName(driver);
      conn = DriverManager.getConnection(strUrl, " hyq ", " hyq ");
      CallableStatement proc = null;
      proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");
      proc.setString(1, "100");
      proc.registerOutParameter(2, Types.VARCHAR);
      proc.execute();
      String testPrint = proc.getString(2);
      System.out.println("=testPrint=is="+testPrint);
    }
    catch (SQLException ex2) {
      ex2.printStackTrace();
    }
    catch (Exception ex2) {
      ex2.printStackTrace();
    }
    finally{
      try {
        if(rs != null){
          rs.close();
          if(stmt!=null){
            stmt.close();
          }
          if(conn!=null){
            conn.close();
          }
        }
      }
      catch (SQLException ex1) {
      }
    }
}
}

}
注意,这里的proc.getString(2)中的数值2并非任意的,而是和存储过程中的out列对应的,如果out是在第一个位置,那就是proc.getString(1),如果是第三个位置,就是proc.getString(3),当然也可以同时有多个返回值,那就是再多加几个out参数了。

三:返回列表
由于oracle存储过程没有返回值,它的所有返回值都是通过out参数来替代的,列表同样也不例外,但由于是集合,所以不能用一般的参数,必须要用pagkage了.所以要分两部分,
1, 建一个程序包。如下:
CREATE OR REPLACE PACKAGE TESTPACKAGE  AS
TYPE Test_CURSOR IS REF CURSOR;
end TESTPACKAGE;
2,建立存储过程,存储过程为:
CREATE OR REPLACE PROCEDURE TESTC(p_CURSOR out TESTPACKAGE.Test_CURSOR) IS
BEGIN
    OPEN p_CURSOR FOR SELECT * FROM HYQ.TESTTB;
END TESTC;
可以看到,它是把游标(可以理解为一个指针),作为一个out 参数来返回值的。
在java里调用时就用下面的代码:
package com.hyq.src;
import java.sql.*;
import java.io.OutputStream;
import java.io.Writer;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oracle.jdbc.driver.*;


public class TestProcedureTHREE {
public TestProcedureTHREE() {
}
public static void main(String[] args ){
    String driver = "oracle.jdbc.driver.OracleDriver";
    String strUrl = "jdbc:oracle:thin:@127.0.0.1:1521:hyq";
    Statement stmt = null;
    ResultSet rs = null;
    Connection conn = null;

    try {
      Class.forName(driver);
      conn = DriverManager.getConnection(strUrl, "hyq", "hyq");

      CallableStatement proc = null;
      proc = conn.prepareCall("{ call hyq.testc(?) }");
      proc.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
      proc.execute();
      rs = (ResultSet)proc.getObject(1);

      while(rs.next())
      {
          System.out.println("<tr><td>" + rs.getString(1) + "</td><td>"+rs.getString(2)+"</td></tr>");
      }
    }
    catch (SQLException ex2) {
      ex2.printStackTrace();
    }
    catch (Exception ex2) {
      ex2.printStackTrace();
    }
    finally{
      try {
        if(rs != null){
          rs.close();
          if(stmt!=null){
            stmt.close();
          }
          if(conn!=null){
            conn.close();
          }
        }
      }
      catch (SQLException ex1) {
      }
    }
}
}
在这里要注意,在执行前一定要先把oracle的驱动包放到class路径里,否则会报错。



Pages

Powered by Movable Type 6.3.2

About this Archive

This page is an archive of entries from May 2008 listed from newest to oldest.

April 2008 is the previous archive.

June 2008 is the next archive.

回到 首页 查看最近文章或者查看所有归档文章.