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

[20150707]外部表与rowid.txt

[20150707]外部表与rowid.txt

SCOTT@test> @ver1

PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.3.0     Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

CREATE OR REPLACE DIRECTORY
TRACE AS
'/u01/app/oracle11g/diag/rdbms/test/test/trace/';

GRANT EXECUTE, READ, WRITE ON DIRECTORY TRACE TO SCOTT WITH GRANT OPTION;

CREATE TABLE ALERT_LOG (text_line VARCHAR2 (512))
ORGANIZATION EXTERNAL
   (TYPE ORACLE_LOADER
         DEFAULT DIRECTORY TRACE
            ACCESS PARAMETERS
               (
            RECORDS DELIMITED BY NEWLINE
            NOBADFILE
            NODISCARDFILE
            NOLOGFILE
    )
         LOCATION ('alert_test.log'));

SCOTT@test> select rowid,alert_log.text_line c100 from ALERT_LOG where rownumROWID                   C100
----------------------- ----------------------------------------------------------------------------------------------------
(AASw6QAAAAAAAAAAAAAAAA Mon May 04 15:22:19 2015
(AASw6QAAAAAAAAAAAAAAGQ Error 12170 received logging on to the standby
(AASw6QAAAAAAAAAAAAAASA PING[ARC2]: Heartbeat failed to connect to standby 'testdg'. Error is 12170.
(AASw6QAAAAAAAAAAAAAAlQ Mon May 04 15:22:35 2015
(AASw6QAAAAAAAAAAAAAArg ALTER SYSTEM ARCHIVE LOG
(AASw6QAAAAAAAAAAAAAAxw Mon May 04 15:22:35 2015
(AASw6QAAAAAAAAAAAAAA4A Beginning log switch checkpoint up to RBA [0xa8f.2.10]
(AASw6QAAAAAAAAAAAAABKQ Thread 1 advanced to log sequence 2703 (LGWR switch)
(AASw6QAAAAAAAAAAAAABXg   Current log# 1 seq# 2703 mem# 0: /u01/app/oracle11g/oradata/test/redo01.log
(AASw6QAAAAAAAAAAAAABrA Mon May 04 15:22:35 2015

10 rows selected.)

--可以发现外部表也有rowid,但是明显与实际的rowid不同。
SCOTT@test> select rowid,dept.* from dept where rownum=1;
ROWID                  DEPTNO DNAME          LOC
------------------ ---------- -------------- -------------
AABJVUAAEAAAAdzAAA         10 ACCOUNTING     NEW YORK

SCOTT@test> @ lookup_rowid (AASw6QAAAAAAAAAAAAAAAA
SELECT DBMS_ROWID.ROWID_OBJECT ('(AASw6QAAAAAAAAAAAAAAAA') "OBJECT",
       *
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at "SYS.DBMS_ROWID", line 82


SCOTT@test> @ lookup_rowid AASw6QAAAAAAAAAAAAAAAA
SELECT DBMS_ROWID.ROWID_OBJECT ('AASw6QAAAAAAAAAAAAAAAA') "OBJECT",
       *
ERROR at line 1:
ORA-01410: invalid ROWID
ORA-06512: at "SYS.DBMS_ROWID", line 82

SCOTT@test> select text_line c100  from alert_log where rowid='(AASw6QAAAAAAAAAAAAAAAA';
C100
----------------------------------------------------------------------------------------------------
Mon May 04 15:22:19 2015

--我插入1行空行。

SCOTT@test> select rowid,alert_log.text_line c100 from ALERT_LOG where rownumROWID                   C100
----------------------- ----------------------------------------------------------------------------------------------------
(AASw6QAAAAAAAAAAAAAAAA
(AASw6QAAAAAAAAAAAAAAAQ Mon May 04 15:22:19 2015
(AASw6QAAAAAAAAAAAAAAGg Error 12170 received logging on to the standby
(AASw6QAAAAAAAAAAAAAASQ PING[ARC2]: Heartbeat failed to connect to standby 'testdg'. Error is 12170.
(AASw6QAAAAAAAAAAAAAAlg Mon May 04 15:22:35 2015
(AASw6QAAAAAAAAAAAAAArw ALTER SYSTEM ARCHIVE LOG
(AASw6QAAAAAAAAAAAAAAyA Mon May 04 15:22:35 2015
(AASw6QAAAAAAAAAAAAAA4Q Beginning log switch checkpoint up to RBA [0xa8f.2.10]
(AASw6QAAAAAAAAAAAAABKg Thread 1 advanced to log sequence 2703 (LGWR switch)
(AASw6QAAAAAAAAAAAAABXw   Current log# 1 seq# 2703 mem# 0: /u01/app/oracle11g/oradata/test/redo01.log
(AASw6QAAAAAAAAAAAAABrQ Mon May 04 15:22:35 2015

11 rows selected.

--我感觉rowid应该表示某种偏移量,具体细节很难猜透,至少我的能力不行.。

--建立一个aaa.txt文件在相应目录。
$ nl aaa.txt
     1  12334567890
     2  22334567890
     3  32334567890
     4  42334567890
     5  52334567890
     6  62334567890
     7  72334567890
     8  82334567890
     9  92334567890


SCOTT@test>  alter table ALERT_LOG location ('aaa.txt');
Table altered.

SCOTT@test> select rowid,text_line c100  from alert_log ;
ROWID                   C100
----------------------- ------------
(AASw6QAAAAAAAAAAAAAAAA 12334567890
(AASw6QAAAAAAAAAAAAAADA 22334567890
(AASw6QAAAAAAAAAAAAAAGA 32334567890
(AASw6QAAAAAAAAAAAAAAJA 42334567890
(AASw6QAAAAAAAAAAAAAAMA 52334567890
(AASw6QAAAAAAAAAAAAAAPA 62334567890
(AASw6QAAAAAAAAAAAAAASA 72334567890
(AASw6QAAAAAAAAAAAAAAVA 82334567890
(AASw6QAAAAAAAAAAAAAAYA 92334567890
9 rows selected.

--ABC DEF GHI JKL MNO PQR STU VWX YZ,视乎存在某种规律。

$ nl aaa.txt
     1  12334567890a
     2  22334567890
     3  32334567890
     4  42334567890
     5  52334567890
     6  62334567890
     7  72334567890
     8  82334567890
     9  92334567890

SCOTT@test> select rowid,text_line c100  from alert_log ;
ROWID                   C100
----------------------- ----------------------------------
(AASw6QAAAAAAAAAAAAAAAA 12334567890a
(AASw6QAAAAAAAAAAAAAADQ 22334567890
(AASw6QAAAAAAAAAAAAAAGQ 32334567890
(AASw6QAAAAAAAAAAAAAAJQ 42334567890
(AASw6QAAAAAAAAAAAAAAMQ 52334567890
(AASw6QAAAAAAAAAAAAAAPQ 62334567890
(AASw6QAAAAAAAAAAAAAASQ 72334567890
(AASw6QAAAAAAAAAAAAAAVQ 82334567890
(AASw6QAAAAAAAAAAAAAAYQ 92334567890
9 rows selected.

--放弃,应该表示某种偏移量,具体细节实在太难猜测。

相关文章:

  • 我的Java开发学习之旅------gt;Workspace in use or cannot be created, choose a different one.--错误解决办法...
  • C++的Json解析库:jsoncpp和boost
  • rednotebook
  • 关于线上的bug什么时候修复的思考
  • vi/vim编辑器
  • 莫队算法/二分查找 FZU 2072 Count
  • python 搭建环境
  • 在Xcode6.4中使用OpenCV
  • @property括号内属性讲解
  • PHP自毁程序
  • 使用javascript实现html文字不可选
  • 大型数据库 实用解决方案
  • [家里蹲大学数学杂志]第409期与正弦对数有关的一个积分不等式
  • 初学者应学会如何加快seo
  • 网页的重绘和回流
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Apache Spark Streaming 使用实例
  • Cumulo 的 ClojureScript 模块已经成型
  • httpie使用详解
  • JAVA SE 6 GC调优笔记
  • JS数组方法汇总
  • JS题目及答案整理
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • rc-form之最单纯情况
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue总结
  • 浮动相关
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 和 || 运算
  • 后端_ThinkPHP5
  • 记一次和乔布斯合作最难忘的经历
  • 目录与文件属性:编写ls
  • 思维导图—你不知道的JavaScript中卷
  • 问题之ssh中Host key verification failed的解决
  • 写给高年级小学生看的《Bash 指南》
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • ​ubuntu下安装kvm虚拟机
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • # include “ “ 和 # include < >两者的区别
  • #if和#ifdef区别
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #微信小程序(布局、渲染层基础知识)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (6)设计一个TimeMap
  • (pojstep1.1.2)2654(直叙式模拟)
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (三)终结任务
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)memcache、redis缓存
  • (转)scrum常见工具列表
  • (转)setTimeout 和 setInterval 的区别
  • (转载)跟我一起学习VIM - The Life Changing Editor