Oracle转义字符

程序员都知道 有特殊字符的地方 就应该有转义字符 今天想查数据库中X_开头的字段有多少个 用这样的语句 select count(*) from user_tab_columns where column_name like ‘X_%’ 可结果当然是不对的 因为下划线代表的是一个字符 这就成了X后面至少还有一个字符的字段个数 于是我在下划线前边正斜杠反斜杠的试验 均没有作用 只好去查文档 原来Oracle的转义字符是自己指定的 这样查就可以了 select count(*) from user_tab_columns where column_name like ‘X/_%’ESCAPE ‘/’ 当然把斜线换成除了下划线和百分号的其他任何字符都可以的

2011年6月21日 · 1 分钟 · Hyacinthus

Oracle 11g中慎用exp和imp

在Oracle 11g中 由于11系列的产品存储机制的改变 表在第一次存储数据时才会分配segment 这就导致用exp命令导出数据库会发现空表基本都没有被导出 在网上看到了很多人出了很多办法 什么插入一条数据再删除 什么修改系统参数 我就觉得很可笑 除非特别特殊的情况 为何非要吊死在这个命令上呢 Oracle在10g的时候便已经提供了两个更加先进的替换命令 叫expdp和impdp 感兴趣的人使用expdp help=y看下帮助 或者在网上搜索下用法 就会发现这一对命令用起来格式和exp以及imp是一样的 只不过更加强大 改进了更多的东西而已 所以普通的数据库导入导出 用这一对命令就可以了 别再用落后的exp和imp了

2011年6月15日 · 1 分钟 · Hyacinthus

那一天

每天都更多的感觉到 那一天马上就要来临了 google的什么都上不去 微软的也都上不去 什么都上不去 这个局域网想必马上就调整好了吧

2011年5月23日 · 1 分钟 · Hyacinthus

修改Windows的用户目录

众所周知 windows用户不像linux用户 将什么都放在用户目录下 可依然是有个用户目录的 其下还有隐藏文件夹存放着大部分程序的配置 在Windows7下 它是 C:Users你的用户名 记得以前用XP的时候 用户名不敢起中文的 因为那会导致你的用户文件夹是中文的 然后很多程序工作不正常 去年初始化这台笔记本的时候 我心想 这都什么年代了 谁的程序要是敢不支持中文文件夹 我干脆不用它了 也许爱国不是这么爱的 最终我还是偶尔会碰到有问题的程序 前些天 鼎鼎大名的CA Erwin出了r8的新版本 我于是换了这个新版本 谁知道 r7的时候还没有问题 r8反而倒退的不支持中文目录了……而且 没处可改 我屈服了 还是把用户名改成英文吧 但是改过的人都知道 无论是xp vista 还是windows7 你修改用户名 用户文件夹都是不会变的 所以我只好新建了一个管理员 用它修改了我的用户名 然后进注册表 修改了 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersionProfileList 这个键值里的目录 当然 还要把User下的文件夹重命名成新的英文名 按理说 做完以上三步应该是没什么问题了 我为了保险期间 还在注册表里搜索旧的用户目录把它们都替换成新的 然后 在接下来的一周里 还是有各种各样的问题 所以我现在忠告你 如果你的用户名已经是中文了 导致有的软件不能用 还是想办法搜索让这个软件支持中文目录的办法吧 改用户目录的代价真的太大了… 浪费的时间也许比备份系统再重装一次所有软件都要多 竟然有那么多程序 不使用系统里的的用户目录变量 而在初始化的时候写死 竟然有那么多程序 这些写死的临时文件目录还没办法改 竟然有那么多程序 卸载了重装都没用 这其中倒让我对很多软件有了更清楚的理解 让我知道了很多解决此类目录问题的方法 那些都按下不说了吧 只希望你不要遇到那么多让人抓狂的错误

2011年5月18日 · 1 分钟 · Hyacinthus

在Linux/unix系统上安装最新的python

Unix系统是自带python的 不过就我用的AIX5.3和Redhat EL 5.3来说 都带的是2.4的 2.4最不方便的是exit还要带sys.exit() 还有一些其他不同 于是只好重新装个高版本的python 给Linux装python还是很简单的 和其他软件一样 首先在官方网站下载 比如选Python 2.7.1 compressed source tarball 将其传到服务器上解压 进入文件夹 ./configure make make install 这就应该自动安装完了 可以打python看看版本变了没 如果没有 whereis python看看链接在哪里 一般是/usr/bin/python 把这个链接删掉修改成最新的安装的那个 安装的路径注意下之前刷的日志应该能找到 嗯 为了访问Oracle 我还一起安装了cx_Oracle 这个安装稍微麻烦些 下次再说

2011年5月8日 · 1 分钟 · Hyacinthus

Oracle11g的lib32

Oracle 11g在各个平台64位操作系统上的安装 无论服务端还是客户端 都没有lib32包了 可是有的程序却必须要32位的库才能运行 我的解决办法是找一个相同平台上的32位的Oracle11g 将其中ORACLE_HOME的lib文件夹复制出来 改名为lib32放到64位的操作系统下 注意这没有结束 还有进到这lib32的目录里 执行ls -l 看看有两个链接的目标是不存在的 记住它们然后将它们删掉 用”ln -s 源文件 链接名”这个命令重新链接 然后就可用了 注意一定要是Oracle11g的 从Oracle10g复制过来lib32是无效的

2011年4月27日 · 1 分钟 · Hyacinthus

豆瓣也开微博了

今天收到个朋友的邀请 去了一看 是豆瓣的微博 叫豆瓣说 https://shuo.douban.com 其实以前在主页也可以说的 现在这个看来 就是界面像微博了更好看了 可惜我豆瓣上好友并不多 可能是我认识的文艺青年不够多吧 其实我喜欢国外那样的垄断的市场 Twitter Facebook Youtube Foursquare Groupon 想用啥不用挑 朋友也都在那 哪像国内你用了新浪却发现朋友在搜狐 你用了校内发现有人在开心 想团购一下 结果那么多网站 全看一遍半天就没了 国内这么多提供商 反而会乱会迷茫 别说垄断会不利于创新 会不利于消费者什么的 看看国内哪家创新了 大多不都是在抄国外 看看国内哪家厚道了 大多不都是在想着怎么骗钱 我是个爱国的人 但是每当Gmail和众多Google免费优质的服务上不去的时候 我就特别沮丧 我都想要革命 跑题了 其实豆瓣这个微博的配色我很喜欢 一如既往的清淡 这可是国内屈指可数的厚道网站了 想试用应该很容易吧 貌似刚被邀请的人就又可以邀请别人

2011年4月13日 · 1 分钟 · Hyacinthus

Oracle的spool产生的on.lst

最近在服务器上总发现一个叫on.lst的文件 每次删了很快就又出来 在google上搜索这个文件又搜索不到什么消息 今天才有时间调查了下 原来是有人的shell写的有点小问题 其中调用sqlplus的时候 来了个 spool on; 可是spool 后面只能接文件 如果不加扩展名oracle就会用默认的lst 最后就产生了一个on.lst的文件…… 就是这样 记得spool直接接文件 不用先on一下……

2011年4月12日 · 1 分钟 · Hyacinthus

在豆瓣认领自己的博客

很早就听说可以在豆瓣认领自己的博客 不过一直没时间去搞 也因为在豆瓣并没有几个好友 上了五六年豆瓣 其实都只是看看 潜水党而已 豆瓣9点是个博客的汇集地 挺先进的 把各种平台的博客都汇集到了一起 今天认领了下 其实挺简单的 先打开“九点” 然后点击右上角“我的订阅” 接着点“添加订阅” 这一步主要为了豆瓣收录你的blog 然后在右上角你订阅的列表里点刚才添加的blog 左边有个更多操作的下拉列表 选择里边的查看信息 好了 现在到了你博客在豆瓣的信息页面 此后就简单了 有个灰色的声明所有权 按照提示操作就好了 成功了以后 你的个人信息会自动出现这个关联的博客 你发了博客以后豆瓣会自动出新鲜事给好友 你可以改动这个博客的图片描述之类的信息

2011年4月10日 · 1 分钟 · Hyacinthus

oracle的long数据类型

做ETL的时候碰到一个LONG类型的字段 作为多年的程序员直接就把它当成长整形了 后来发现报错了…… 仔细一查 发现这个LONG和数字相差好远 不知oracle定义的时候是怎么想的 怪不得现在的版本官方不建议用这个类型了 在网上找了点这个类型的资料 1、LONG 数据类型中存储的是可变长字符串,最大长度限制是2GB。 2、对于超出一定长度的文本,基本只能用LONG类型来存储,数据字典中很多对象的定义就是用LONG来存储的。 3、LONG类型主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。 4、很多工具,包括SQL*Plus,处理LONG 数据类型都是很困难的。 5、LONG 数据类型的使用中,要受限于磁盘的大小。 能够操作 LONG 的 SQL 语句: 1、Select语句 2、Update语句中的SET语句 3、Insert语句中的VALUES语句 限制: 1、一个表中只能包含一个 LONG 类型的列。 2、不能索引LONG类型列。 3、不能将含有LONG类型列的表作聚簇。 4、不能在SQLPlus中将LONG类型列的数值插入到另一个表格中,如insert into …select。 5、不能在SQLPlus中通过查询其他表的方式来创建LONG类型列,如create table as select。 6、不能对LONG类型列加约束条件(NULL、NOT NULL、DEFAULT除外),如:关键字列(PRIMARY KEY)不能是 LONG 数据类型。 7、LONG类型列不能用在Select的以下子句中:where、group by、order by,以及带有distinct的select语句中。 8、LONG类型列不能用于分布查询。 9、PL/SQL过程块的变量不能定义为LONG类型。 10、LONG类型列不能被SQL函数所改变,如:substr、instr。 以上内容出自这里。

2011年4月1日 · 1 分钟 · Hyacinthus