手动制作Oracle9i/10g客户端的实用方法
2008-11-17 13:01:10 来源:WEB开发网其实,现在有了Instant Client,可能真的没有必要去尝试制作Oracle客户端。这里,我想说说自己的理由:
1. Instant Client的bug远多于Oracle客户端package,这个是经过很多实践发现的。
2. 爱好技术的人都想看看一个client包,到底如何提取,即算有些冗余,也没多大关系。
3. 当你制作出一份客户端出来以后,只需要这一次制作,不用再重新安装客户端,解压即可使用。
我们先来看看Oracle9i,从它开始:
这里作一个假定,就是Client要安装在D盘d:oracleora92下边,把d:oracle作为所有Oracle版本的根目录ORACLE_BASE,这样就容易处理一些。而ora92子目录只是作为ORACLE_HOME。
然后开始抽取一些有用的子目录。假设你在别的机器上已经有一份已经安装好的Oracle9i 服务器,它位于c:oracleora92,我推荐提取以下子目录:
assistants
bin
database
dbs
network
oci
ocommon
ODBC
oledb
oracore
otrace
plsql
rdbms
slax
sqlplus
bin中其实有很多可以不用的可执行程序,可以直接删掉,我们可以自行决定。oci子目录便于开发基于OCI的应用程序。ODBC用于ODBC驱动,oledb用于OLEDB。其它子目录都是必须的。
上边是基本的文件抽取。将这些文件复制到d:oracleora92目录当中。然后,需要一个注册表文件来注册它,这个非常关健,以前常有人问我为何不起作用,大多注册表中的内容不正确,或者没有注册。
注册表的内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREORACLE]
"inst_loc"="C:Program FilesOracleInventory"
"ORACLE_HOME"="D:oracleora92"
"ORACLE_HOME_NAME"="OraHome92"
"API"="D:oracleora92dbs"
"ORACLE_GROUP_NAME"="Oracle - OraHome92"
"NLS_LANG"="NA"
"VOBHOME2.0"="D:oracleora92"
[HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMES]
"HOME_COUNTER"="1"
"DEFAULT_HOME"="OraHome92"
"LAST_HOME"="0"
[HKEY_LOCAL_MACHINESOFTWAREORACLEALL_HOMESID0]
"NAME"="OraHome92"
"PATH"="D:oracleora92"
"NLS_LANG"="NA"
[HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0]
"ID"="0"
"ORACLE_GROUP_NAME"="Oracle - OraHome92"
"ORACLE_HOME_NAME"="OraHome92"
"ORACLE_HOME"="D:oracleora92"
"NLS_LANG"="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
"ORACLE_HOME_KEY"="SoftwareORACLEHOME0"
"SQLPATH"="D:oracleora92dbs"
"ORACLE_BASE"="D:oracle"
"MSHELP_TOOLS"="D:oracleora92MSHELP"
"RDBMS_CONTROL"="D:oracleora92DATABASE"
"RDBMS_ARCHIVE"="D:oracleora92DATABASEARCHIVE"
将这个文件注册到注册表。
并把d:oracleora92bin添加到你的PATH环境变量当中,然后运行: sqlplus,看看有没有错。在d:oracleora92networkadmintnsadmin.ora文件中添加一些Oracle服务主机信息,就可以使用了。
最后,作为建议,我推荐把当前用户加到组"ORA_DBA"当中。
在用户管理当中,新建组"ORA_DBA",然后添加当前用户到该组。
基本上就这些步骤。抽取干净,总共也就200兆,去掉不相干的,可以压缩成一个压缩文件大概只有20来兆。想想原始的oracle9i安装完,大概要占2G多的样子,差别太明显了。
至于10g,相信如果上述步骤能顺利走过,10g应该不成问题。
如果有兴趣,还可以试试自己提取文件,做成Oracle Server的绿色版,无需安装,只需要几个命令即可。
曾经试过Oracle9i和Oracle10g的提取和免安装。自己动手做这些,有助于加深对Oracle的了解。
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
- ››Oracle创建表空间、创建用户以及授权、查看权限
- ››oracle 中 UPDATE nowait 的使用方法
更多精彩
赞助商链接