随笔分类 -  Oracle

关于Oracle 的开发,管理,和构架的研究。
摘要:现在随着项目集成的越来越深入,异构的数据多起来,数据同步的场景也用的多起来,我甚至在考虑是否忽悠用户上Oracle GoldenGate了,这样就可以不用考虑采用哪种同步方案了。 简单的介绍一下我们数据的业务,与边界交换网管相关,有两个表一个是缓冲表,另外一个是持久化表。在一个库类,不同的表名,看似很简单,要不然也不会写出来,主要是其中有多个blob字段! 这样有如下个问题 1.Blob字段无法做数据变化监控,只能监控id 和其他字段的变化 2.Blob字段在入另外表时必须先iNSERT 后 UPDATE,总共在一个事物隔离级别中,进行的。 想了个偷懒的方法 1.通过... 阅读全文
posted @ 2013-11-29 22:59 jerry_xing8 阅读(948) 评论(0) 推荐(0)
摘要:今天完成了一个负载较高的中央数据库的分库操作, 并实现了oracle的滚动升级(10.2.0.1->10.2.0.4), 业务中断仅15分钟. 平台: RHEL AS 4 + Oracle 10.2.0.1分库目的:1) 迁出BUSINESS/BUSINESS_APP两业务系统用户数据, 减轻中央库的业务压力和负载, 调整数据库架构, 以应对后续新业务系统上线造成对中央库的冲击;2) 新库升级Oracle10.2.0.1到10.2.0.4, 数据库本身修复了很多bug, 增强了数据库的稳定性.3) 调整定时任务, 把原先的定时任务由crontab/job方式改为oracle schedu 阅读全文
posted @ 2013-11-19 11:49 jerry_xing8 阅读(1516) 评论(0) 推荐(0)
摘要:总结一下Oracle数据库表级别的复制同步一.通过触发器进行表的复制原理,是监听表上都某一字段进行的DML操作,然后得到DML操作的数据,重新在另一个表上执行DML操作。优点: 简单,编写一个触发器就可以,不需要过多的配置。 易修改,遇到了问题很好定位。缺点:表大的话是有性能问题,如果表中含有blob列,是无法监听到其改变的,而且整个insert 必须先insert 一个空的blob,再进行update操作,而且很有可能出现数据不为空,blob为空的情况。二.通过Stream进行表同步原理,Stream的功能很强大的,主要是进行多个数据库之间的同步,在原库和目的库,分别启动捕获队列,捕获进程和 阅读全文
posted @ 2013-11-18 14:53 jerry_xing8 阅读(7564) 评论(0) 推荐(0)
摘要:Cube在Oracle数据库中的应用非常广泛,特别是在产生交叉报表的情况。OracleOLAP使用MView刷新cube的方法是比较常用的。 我们用Oracle数据库创建了一个cube ,这时cube 里面的数据只有在我们手工执行。 dbms_cube.build(‘<cube_name>’) 才会被刷新。 比如你在前面已经建立好了global 的price_cube , 并且执行了第一次d... 阅读全文
posted @ 2013-05-07 15:33 jerry_xing8 阅读(683) 评论(0) 推荐(0)
摘要:1.通过JOB SCHEDULER 进行 ORACLE CUBE 中的物化视图进行刷新时,出现的LOG如下:SQL> exec dbms_mview.refresh('DW.CB$DSS_TFAC_DEVICE_CUBE');BEGIN dbms_mview.refresh('DW.CB$DSS_TFAC_DEVICE_CUBE'); END;*第 1 行出现错误:ORA-37162: OLAP 错误XOQ-00703: 执行 OLAP DML 命令"(SYS.AWXML!R11_AGGREGATE_CONSISTENT('DSS_TFA 阅读全文
posted @ 2013-05-06 14:55 jerry_xing8 阅读(794) 评论(0) 推荐(0)
摘要:最近项目上有些变化,部门工作人员开始着手于BIEE11G界面的定制,首先开始的是报表和图形的显示部分,目前由于此部分内容已经加入了IPAD等职能终端实现,当时使用的JDEVELOPER 开发的ADF 效果不错,延迟也没有多少。现在大家都炒作响应式设计,也想把ADF 的application用在WEB站点上。 遇到了点问题,在FLEX或者HTML中调用IFRAME控件时,得到的HTTP请求报错如下,很值得研究: 1: 77:07:27.035 0.041 623 174 2: GET 3: (Aborted) text/html (NS... 阅读全文
posted @ 2013-04-25 19:17 jerry_xing8 阅读(1272) 评论(0) 推荐(0)
摘要:我们通过以下面这个例子来讲解如何使用BIEE的”集合操作”来完成复杂格式的报表。 例子中的这张报表情景来源于实际项目案例,我们在这里直接使用BIEE自带paint来进行模拟。 一.最终报表效果及说明: 要求1:时间维度为通过条件输入的值。 要求2:Region列中包含了Markets维度不同级别的成员。 二.操作过程: 1.创建仪表盘提示: (1)在Answers下点击创建”新建... 阅读全文
posted @ 2013-04-18 17:46 jerry_xing8 阅读(791) 评论(0) 推荐(0)
摘要:描述: 突然之间,BI服务无法对外提供服务,整个BI+报表系统是ORACLE11G+OBIEE11G+Weblogic11G+Informatica8.6 构成,整个系统几乎是一己之力完成到上线。昨天甲方人员打电话给我,突然之间所有BI的站点,报表都无法登陆,查看后台服务,都正常。于是建议对方重启。还是没有解决,于是仔细分析日志。最终定位到问题所在。 1. OBIEE11G sawserver 的7001 anaytics web界面登陆,密码用户甲方确认无误。登陆还是现实密码或用户名错误 。 问题有点不对劲 2. 试用OBIEE11G Administrator Tool 连接 在线逻辑.. 阅读全文
posted @ 2013-04-18 15:42 jerry_xing8 阅读(2573) 评论(0) 推荐(0)
摘要:ODS-BI 建设中ETL要占用1/3的时间,深有感触。BI的建模,从物理数据层,逻辑数据层,业务逻辑层各个层次,都有很多自动化的工具可以处理。但是ETL 中的流程确要根据性能来设计的。总结下这几个部分。 1.数据源/数据目标管理确定数据源的表,文件,或者RESTFUL的URL,ODBC,值得注意的是,在数据源时,同时关联号外主键关系,对ETL数据有效性帮助很大。 目标数据,可能不同的主题使用了不同的数据库,各个数据库的地址,ODBC,JDBC等信息。 目标数据大部分情况下不需要建索引,主键,因为 目标数据库数据量大时都会使用批量入库,也就是bulk模式,索引会使入库失败。 2.MAPPIN. 阅读全文
posted @ 2013-02-20 10:54 jerry_xing8 阅读(2258) 评论(0) 推荐(0)
摘要:这个项目在年前已经完成,回顾起来小问题挺多。有点乱。还是从需求说起。 一.单纯讲需求每个行业的都不同。很难划一而论。总体来说也就是这几个方面 1.时间窗 常见的分类也就1类ODS ,II类ODS ,III类ODS I类ODS:与应用系统的数据延迟为1~2秒,实时或近似实时 II 类ODS:与应用系统的数据延迟为2~4小时 III类ODS:与应用系统的数据延迟为12~24小时 IV类ODS:数据仓库中部分决策分析数据回流至ODS中 数据实时性越高,越好CPU ,软件成本越高。在 选型时也不同, 如果确定数据的实时性需要实时同步的话,就是I类ODS,通常需要EAI ,消息队列,消息通信的机制。稍. 阅读全文
posted @ 2013-02-20 10:02 jerry_xing8 阅读(1455) 评论(0) 推荐(0)
摘要:总结: 其实没有找到问题的真正原因,无解,灵异事件。 猜测 是在做数据库导入导出之后,又有人重新编辑了地图或者其他SDE属性,导致数据库不一致问题。 1. SDE 连接远程数据库的相关问题。2. SDE直接连接的问题。 3. ARCGIS 地图版本的问题。 4. ARCCALOG 同 SDE版本的问题。 ---这个我没有碰到,但是很多网友碰到了此类的问题。 5. ARCCALOG 中GEOPROCESS 工具箱中 升级和同步 GEODATABASE 。 。。。。。。。。。。。。。。。。。 阅读全文
posted @ 2013-02-20 09:00 jerry_xing8 阅读(411) 评论(0) 推荐(0)
摘要:没有办法,还的做一遍数据的迁移将SDE数据库从OrclSDE服务器上备份出,在MESDE服务器上恢复(两服务器的Oracle版本相同,ArcSDE版本相同),思路如下:第一.确定两服务器的字符集一致很多人都碰到过因为字符集不同而使数据导入失败的情况。这涉及三方面的字符集,一是oracel server端的字符集,二是oracle client端的字符集;三是dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:SQL>select userenv(‘language’) from 阅读全文
posted @ 2013-02-19 19:25 jerry_xing8 阅读(3182) 评论(0) 推荐(0)
摘要:接着上面的写,从反馈的日志,加上网上搜索的结果,网友定位为问题是, 新的数据库的SYSTEM_TABLE 同ARCGIS_SDE中的不一致导致的问题,解决方案是通过SDE 直接连接的方式,进行连接ORACLE后,再进行GEODATABASE 的UPDATE 之后 进行SDE SERVICE的创建。 进行SDE ORACLE的直接连接,ORACLE 是远程数据库不在本地。 参考的文档有: 官方:http://help.arcgis.com/zh-cn/geodatabase/10.0/install_guides/arcsde_for_oracle_installation_and_upgra. 阅读全文
posted @ 2013-02-19 19:11 jerry_xing8 阅读(720) 评论(0) 推荐(0)
摘要:由于数据库的整体迁移,该数据库中有部分数据是GEODATABASE 数据,之前没有做过GEODATABASE的迁移,加上系统还没有正式上线,使用人数不多,就只在ORACLE 层面上做了简单的逻辑迁移,数据当然包括SDE中的 表结构和一些元数据。这样做为之后的操作埋下了隐患。 一.ArcGIS 1O SDE SERVICE的连接的重新配置 较为简单 有两种方式,第一种在ARCGIS 服务器中再配置一个SDE服务连接,这种方式我没有测试过,不过有个问题就是如何让多个SDE服务可以同时运行?毕竟dbinit.sde 和services.sde 文件只能配置一个SDE服务连接。 第二种,直接在原来的. 阅读全文
posted @ 2013-02-19 15:57 jerry_xing8 阅读(2321) 评论(0) 推荐(0)
摘要:1.检查各种数据库的状态 系统源数据库的JDBC,ODBC,Lisener 是否可用可以连接 统一视图存储的元数据存储库是否可以连接可用 目标数据库的JDBC,ODBC,Lisener中的JOB,调度器,物化视图是否需要重新编译,是否已经失效。2. 检查ETL流程的状态 各种ETL中的调度器,是否打开,检查日志是否有FATAL错误。 在ETL中使用RESTFUL接口,数据库存储过程接口,发送运维邮件的邮件服务器的SHELL接口,其他调用本地操作系统的SHELL 接口等这些 耦合性比较低的接口,很容易出问题,需要重点关注。3.模拟数据做简单的测试。 重点测试数据的一致性,切记丢数据。 阅读全文
posted @ 2013-02-19 09:25 jerry_xing8 阅读(702) 评论(0) 推荐(0)
摘要:--检查数据库的等待事件from v$session_waitwhere event not like 'SQL%' and event not like 'rdbms%'--找出系统中耗时的操作select b.username username,a.disk_reads reads, a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio, a.sql_text statementfrom v$sqlarea a,dba_users bwhere 阅读全文
posted @ 2013-02-19 09:01 jerry_xing8 阅读(431) 评论(0) 推荐(0)
摘要:with 语句是执行一次并并存储在temp 表空间中。1.逻辑层:计算度量值:SET VARIABLE QUERY_SRC_CD='Report';SELECT Times."Calendar Year" saw_0, "Sales Facts"."Amount Sold" saw_1, "Sales Facts"."Unit Cost" saw_2, "Sales Facts"."Gross Profit" saw_3 FROM SH O 阅读全文
posted @ 2013-02-19 08:47 jerry_xing8 阅读(485) 评论(0) 推荐(0)
摘要:重启机器后,发现可以启动Informatica PowerCenter,但是在HTTPS连接时,无法连上JBOSS。 查看\informatica\tomcat\node.log 的日志2012-12-14 15:09:12,078 ERROR [main] [PCSF_10375] Failed to fetch [Domain] with error [[informatica][Oracle JDBC Driver][Oracle]ORA-01033: ORACLE initialization or shutdown in progress].java.sql.SQLExcepti.. 阅读全文
posted @ 2012-12-14 15:38 jerry_xing8 阅读(577) 评论(0) 推荐(0)
摘要:其实,同其他后台项目一样的问题,就是最后是个交钥匙工程,一个BAT,或者SHELL 到最后什么都完成,日志,结构,数据都明确,不需要额外的配置,最后需要达到这个目的。 这个主要分为三个部分 1.ORACLE 数据 模型建立 >1. 入口脚本 INSTALL_ODS.BAT ,其中需要调用一下的组件。 >2. 创建 数据库表空间,数据库用户。 >3. 对数据库用户进行授权。>4. 模型 导入,建立表结构,>5. 导入 事先声明的维数据。 2. 使用脚本 创建ETL需要的存储过程,数据库函数。和创建好需要的ODBC 的数据库连接。 3.脚本进行ETL Server 的 阅读全文
posted @ 2012-12-07 17:47 jerry_xing8 阅读(467) 评论(0) 推荐(0)
摘要:如果不是OLAP 系统或者BI系统,我们在生产环境下常遇到这样的问题 需要同步两个表。比如交通驾驶人,每个月需要同步。表O_DRIVER_SOURCE 是来自第三方的源表,O_DRIVER_TARGET是本系统需要使用的目标表。现在需要同步这两个表很容易想到的解决方案是 1.使用存储过程,有点复杂 2. merge into 语句 Merge into target O_DRIVER_TARGETUsing O_DRIVER_SOURCEOn ( O_DRIVER_SOURCE.driver_id=O_DRIVER_TARGET.driver_id)When matched then... 阅读全文
posted @ 2012-12-07 16:33 jerry_xing8 阅读(348) 评论(0) 推荐(0)