从安装Oracle数据库开始(5)-简易安装Oracle客户端

Linux环境,部署的程序需要远程访问Oracle数据库。好,先装Oracle客户端!

Oracle客户端,两种安装方式。从oracle官网提供的安装包也可以看出来。

一种是?oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm ,此安装包57MB左右。

另一种是inux.x64_11gR2_client.zip 为630MB左右。

两种方式,都可以访问数据库。第一种为简易安装;第二种功能更强大一些。

 

这里记录的是,第一种,建议安装方式

此种方式很方便,安装速度快!

不需要图形界面!!!!!!!!

好吧,开始!

[1] 准备资源,需要三个资源:

oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm
libaio-0.3.107-10.el6.x86_64.rpm(可能你不缺此包,缺了再另行下载)

注:快速定位资源的方式,最好的资源,就是从官网获取。但是又不可能从官网一点点的查询,太慢了

所以可以在搜索引擎中,输入部分关键词 + site:oracle.com 进行搜索。

例如,在百度中输入:oracle instantclient basic site:oracle.com

[2]下面就是用root用户安装rpm包

rpm -ivh libaio-0.3.107-10.el6.x86_64.rpm
rpm -ivh oracle-instantclient-basic-11.1.0.1-1.x86_64.rpm
rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.x86_64.rpm

[3]修改环境变量

vim /etc/profile 添加
export ORACLE_HOME=/usr/lib/oracle/11.1.0.1/client64
export ORACLE_BASE=/usr/lib/oracle/11.1.0.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

[4]让环境变量生效

source /etc/profile

[5]创建配置文件

在ORACLE_HOME目录下,创建以下目录network/admin,并创建文件tnsnames.ora

cd $ORACLE_HOME
mkdir -p network/admin
cd $ORACLE_HOME/network/admin
vim tnsnames.ora

[6] 往tnsnames.ora中添加内容

[root@localhost admin]# more tnsnames.ora
MYDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.220.11)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
      (SERVER = DEDICATED)
    )
  )

host指向数据库服务器的ip地址

[7] 测试一把!看成功没有……

切换到ORACLE_HOME/bin目录下,使用命令

./sqlplus yourusername/yourpassword@MYDB

看是否出现

SQL>

出现了,那就成功了。不出现,那就另想他法!

 

如果,想用此客户端,连接其它的Oracle数据库,那么,依然是修改 $ORACLE_HOME/network/admin/tnsnames.ora文件

将此oracle的信息加进去就可以了,如下:

MYDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 218.241.220.96)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = orcl)
      (SERVER = DEDICATED)
    )
  )

MYBOSS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.13)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = boss)
      (SERVER = DEDICATED)
    )
  )

 

还有一点,就是上面是在shell界面下,使用命令来连接的oracle,在@符号后,是自己在tnsnames.ora为链接起的名字。

但是,如果在此机器上跑java程序,那么程序所使用的连接字符串应该是,使用SID=后面的内容,而不是使用自己起的别名。

比如:

public static void main(String[] args) throws SQLException {
	Connection conn = null; 
	try{  
        Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();   
        String url="jdbc:oracle:thin:@10.10.10.13:1521:<strong>boss</strong>"; //orcl为数据库的SID   
        String user="yonghu";
        String password="mima";
        conn= DriverManager.getConnection(url,user,password);
        System.err.println(conn);
    }catch (Exception e) {  
        System.out.println(e.getMessage());  
    }finally{
    	conn.close();
    }
}

(记得添加ojdbc6.jar)

上面用的boss,而不是用的MYBOSS。

发表评论

电子邮件地址不会被公开。 必填项已用*标注