存档

文章标签 ‘oracle’

redhat9使用vnc安装oracle9i

2008年12月6日 评论已被关闭

需求来了:一台老机器,系统是redhat9,上面需要安装oracle9i,呵呵,开始折腾!
生活就是在折腾来折腾去,最后也没弄清楚到底在折腾啥,完事后对这镜子哈哈大笑,至少我还折腾过!
废话少说,步入正题。

好久没有装过oracle9了,以往的笔记都是在rhel4下面使用vnc来操作的。
据说oracle9i也可以在字符界面下安装,
./runInstaller –silent –responseFile /opt/oracle/product/responfile
responfile是参数文件,oracle在安装时读取相关参数。
oralogo_small.gif

不过有人说oracle9i不能完全自动安装,还需要手动指定一些参数和执行相关脚本,这个具体没有试过,所以还是想到了以往的经验使用vnc来安装。

#uname -a
Linux 2.4.25 #2 SMP Wed Apr 28 13:10:52 CST 2004 i686 i686 i386 GNU/Linux
系统版本 redhat9,很老的版本
使用 rpm -qa | grep vnc 查看后并没有安装vnc。
redhat9从2004年就不更新了,好些包都已经不好找,还好我们可以使用CentOS3的安装包。
理由有下面两点:
1、rhel 3 与redhat 9 最后更新后的软件版本绝大部分相同
2、CentOS 3是从Redhat Enterprise Linux 3源代码重新编译的,与rhel 3完全兼容。
centos_logo_45.png

http://isoredirect.centos.org/centos/3/os/i386/RedHat/RPMS/
下面有好多rpm包,可以尽情享用了。

有些郁闷的是在安装vnc的时候发现系统也没有安装Xwindows,导致vnc无法运行,原因是相互依赖的很多包都没有,哎,开始郁闷了。

经过多次的尝试和努力,一个包一个包的下载和安装,如下:
rpm -ivh vnc-3.3.3r2-47.i386.rpm
rpm -ivh vnc-server-3.3.3r2-47.i386.rpm
rpm -ivh XFree86-xauth-4.3.0-122.EL.i386.rpm
rpm -ivh xterm-179-6.EL3.i386.rpm
rpm -ivh XFree86-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-75dpi-fonts-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-data-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-libs-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-twm-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-100dpi-fonts-4.3.0-122.EL.i386.rpm
rpm -ivh XFree86-base-fonts-4.3.0-122.EL.i386.rpm

呵呵,你说我容易吗,最后终于我的vnc可以运行了
vncserver已经可以监听端口和配置登陆密码了!
赶快切到oracle用户,启动vnc,
2008-12-06_093556.png
客户端vnc登陆后,

在解开的Disk1下,运行./runInstaller,呵呵呵,久违的oracle GUI安装界面映入眼帘,(具体9204的补丁及安装设置略,请见相关文档)
一路安装下去颇为顺利,很快装完。
最后要感谢铁岭电视台、感谢cctv、也要感谢提供软件的centos …

分类: database, OpenSource 标签: ,

oracle sqlldr 实际运用中的几个问题

2008年3月22日 评论已被关闭

以前也一直在用sqlldr进行oracle的数据导入工作,但由于数据表结构比较简单,数据格式比较规范,所以简单的脚本即可完成任务,没有仔细的进行研究。

最近因为项目需要,要处理一个稍微复杂一点的表,涉及到日期字段,还有自增序列,字段比较复杂不规则,有很多空列,经过一番研究后,终于搞定,特此总结一下。

1. 空字段处理: TRAILING NULLCOLS   但是整行不能全空,否则整行无法插入
2. 日期字段处理:格式化处理 AddDate “to_date(:AddDate,”’yyyy-mm-dd hh24:mi:ss”’)”
3. 自定义字段分割符 “|”
4. 采用触发器来处理自增字段,具体的建立方法可参考我的另一篇关于触发器的介绍带有条件的触发器trigger

ldr脚本如下:

vi sql.ctl    

LOAD DATA
INFILE ‘/home/oracle/data/table.data’
APPEND INTO TABLE table
fields terminated by ‘|’
TRAILING NULLCOLS

(
ID,
USERNAME,
PASSWORD,
AddDate “to_date(:AddDate,”’yyyy-mm-dd hh24:mi:ss”’)”
)

数据文件样式  table.data

|test|test|2008-03-20 18:09:10

|2hei|2hei|2008-03-20 18:09:10

|admin|admin|2008-03-20 18:09:10

 

loader 脚本运行方式:

切换到oracle用户  su – oracle

或者root下执行 su -l oracle -c “sqlldr userid=2hei/2hei control=/home/oracle/data/sql.ctl log=/home/oracle/log/sql.log bad=/home/oracle/log/bad.log”

执行后可以查表,看看字段的插入情况。

如果有问题可以看执行后的log 或者 bad文件。

 

 

分类: database 标签: , ,

China 省份,城市三级联动数据库

2008年1月24日 评论已被关闭

首先声明这个数据是从网上搜集,源自一个access数据库表。因为很少用到access,

所以把其中数据提出后,用shell脚本替换成一个以“,”分隔的文本文件。

包括省份、城市、区划、城市英文缩写。

这样可以建好表结构后,可以方便导入到oracle、mssql或者mysql中。

详细内容在下面的文本文件中:

city_sql.txt

 

关联的规则为:

—————————————————————

河北,Hebei Sheng,130000,HE

唐山市,Tangshan Shi,130200,TGS

滦南县,Luannan Xian,130224,LNJ

—————————————————————

第三栏为最后四位为‘0000’的是省级单位,全国一共31个,

第三栏为最后两位为‘00’且不是‘0000’的是地市单位,并且与省级单位的前两位相同,如:‘13’

第三栏最后两位既不是‘00’最后四位也不是‘0000’的是三级单位,或是区,或是县级市,

属于与他前四位相同的地级城市,如:‘1302’。

这样在一个表中可以体现出行政区划的三级数据。

 

分类: OpenSource 标签: , , ,