12
返回列表 发新帖
楼主: d.c.b.a

两个问题没有解决?

[复制链接]
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32
11#
发表于 2005-2-1 11:39 | 只看该作者

biti 真的非常较真,对技术很专!

我对 oci  的应用只限与表数据的处理,其他功能要末不知道,要末就了解一点,但从来不去做实验!

下面是 OCINumber  数据类型的原型,可以看出它就是一个二进制字符数组,使用 OCINumberToInt  可以将它转为 C 中的 int 类型。
typedef unsigned char ub1;
struct OCINumber
{
  ub1 OCINumberPart[OCI_NUMBER_SIZE];
};
sword OCINumberFromInt ( OCIError            *err,
                         CONST dvoid         *inum,
                         uword               inum_length,
                         uword               inum_s_flag,
                         OCINumber           *number );
sword OCINumberToInt ( OCIError              *err,
                       CONST OCINumber       *number,
                       uword                 rsl_length,
                       uword                 rsl_flag,
                       dvoid                 *rsl );

估计其他类型也可以,我工作闲下来再查查!

(我以前是做 unix  下通讯 server  开发的,对 oracle 一直比较感兴趣,是想从 oracle  偷师!学习它的服务器设计方法,有些东西知道原理,但实现的工作量和测试工作量太大了,只好纸上谈兵。现在则专职做ORACLE数据库开发咨询和技术支持工作,9I DBA OCP都是最近考的,对ORACLE的知识有些偏,今后如有问题还要请大家多多指教!先谢谢了!)

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
12#
发表于 2005-2-1 13:21 | 只看该作者
OCINumber 数据类型的原型,可以看出它就是一个二进制字符数组,使用 OCINumberToInt 可以将它转为 C 中的 int 类型


------  这是我在看 oracle document 时候的一个疑问,就是 oci 到底存的是什么格式,如果它存储的恰好是 utl_raw.cast_from_number 转换后的 二进制(我前面 称为 raw data) ,那么oci 就可以帮助我们来对 从数据文件中读出的数据进行转换。
之所以这么想,是因为oracle 的 cache  layer 的接口,应该是不会对数据进行转换处理的,这一层可能只把上层传过来的 数据直接写到内存(文件)某个位置,读取也一样,其传输的应该是这种 *raw  data* ,所以这种数据转换必然是发生在其他层,也许OPI,也许 OCI 也可以操作。最近实在忙无心做这方面的更多的探究。

如果我们能实现下面的实验,就能很容易证实这个问题:

用  utl_raw.cast_from_number 转换一些数字成 raw ,然后把这些raw 赋值给 OCINumber ,然后将 OCINumber 通过 OCINumberToInt 回 数字, 如果数字总是能成功复原,则我的这个想法是可行的。


当然,如果能以什么方式把 OCInumber 的 raw 打印出来,也容易识别。


或者,即使存储的不是oracle的原始 raw ,如下:
alibaba@OCN>select  utl_raw.cast_from_number(1) from dual;
UTL_RAW.CAST_FROM_NUMBER(1)
----------------------------------------------------------------------------------------------------
C102

alibaba@OCN>






那是不是  binary  integer 一类的?
比如

alibaba@OCN>select  utl_raw.cast_from_binary_integer(1) from dual;

UTL_RAW.CAST_FROM_BINARY_INTEGER(1)
----------------------------------------------------------------------------------------------------
00000001


我们是否可以深究 OCI 的数据类型中 varchar  / number 这些数据到底是如何存储的。

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-04-12 20:54:27授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
13#
发表于 2005-2-1 14:57 | 只看该作者
dcba,敬佩您的毅力,研究的很深入

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
14#
发表于 2005-2-2 11:43 | 只看该作者
最初由 biti_rainy 发布
当然,如另一个帖子中 jlangzpa 说的,研究 redo 的意义更大   [/B]


尤其是不同版本,不同操作系统之间的如何通过redo快速同步问题,
如果解决了,意义非常重大,这方面的需求很多.

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
15#
发表于 2005-2-2 12:33 | 只看该作者
目前在我们公司的测试中,10G 的 logmnr 可以分析 9i 的日志(原本是想借用 streams 的离线日志分析) ,但能否跨平台,可能需要进一步研究甚至 人为的修改一些信息。

使用道具 举报

回复
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
16#
 楼主| 发表于 2005-2-2 14:41 | 只看该作者
分析日志比分析block难多了!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表