Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

用oracle Xe Client来做数据库服务器连接工具

| Comments

Oracle从10g起,客户端和服务器端就分成了不同的介质了。而且客户端的介质还在450M以上,如果仅仅只是为了有一个sqlplus工具能够连接到数据库服务器的话,下载那么大的介质感觉没有必要,再说了,不是所有的OS都支持了(比如debian/ubuntu)。
所以,我的策略是用oracle推出的简化版XE来充当这个工具。至少它支持debian/ubuntu。 我这里以ubuntu 9.10为例子介绍:

  1. 下载Oracle XE的客户端,点击下面的地址,找到你要的包。 Oracle XE
  2. 安装 dpkg -i oracle-xe-client_10.2.0.1-1.0_i386.deb

  3. 配置环境变量
    安装客户端后,系统创建了oracle帐号,你可以先设置一个密码。如何切换到oracle帐号,在主目录(/usr/lib/oracle/xe)下创建或者编辑.bash_profile(如果你喜欢编辑.bashrc也行) 加入下面的内容 .

/usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh

  1. 配置TNS 这个才是最重要的,上面的都是会话,因为客户端没有提供一个tnsnames.ora的样例,倒不是不会手工写这个文件,关键是写在什么目录,暂时我测试成功的目录是写在/usr/lib/oracle下,而且还得是root权限(oracle写不了这个目录) 根据你的需要,加入下面的内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ORCL1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.xplore.cn)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl1)
    )
  )
ORCL2=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = orcl2.xplore.cn ) ( PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl2 )
    )
  )
  1. OK,现在你可以用oracle帐号登录,测试链接你的数据库服务器了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
oracle@wgzhao-nb:~$ sqlplus  system@orcl1

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Sep 24 16:58:00 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter password: *******

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select * from v$version where rownum < 2;

BANNER

-------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

SQL>

最后,对那些痛恨sqlplus行命令人机交互接口做的不好的人,我推荐大家给sqlplus戴上一个 rlwrap 套。

下载,编译安装后,你可以创建这样的一个alias alias sqlplus = 'rlwrap sqlplus' 你会发现这个世界美好了!

当然,对一切你认为命令行人机交互接口做的不友好的,想实现bash那样的一些快捷键的,你都可以给它戴上这样的套,比如rman,mysql等等。

Comments