Linux下搭建oracle客户端环境远程连接数据库

一、root用户下操作:(#是root用户下,$是oracle用户下)

1、从oracle官网下载两个rpm包放置任意路径下,使用rpm安装:

rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm

rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm

默认安装在/usr/lib/oracle/这个路径下。

(注:下载前需要注册账号,免费的,可以放心注册)

配置环境变量:(我的配置文件)

#vim ~/.bash_profile

PATH=$PATH:$HOME/bin

export ORACLE_HOME=/usr/lib/oracle/11.2/client64/

export TNS_ADMIN=$ORACLE_HOME/network/admin

export ORACLE_BASE=/usr/lib/oracle/11.2/

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export PATH

退出并保存

# source ~/.bash_profile (使其生效)

创建tnsnames.ora配置文件

#cd  /usr/lib/oracle/11.2/client64/ 或 #cd $ORACLE_HOME

#mkdir -p /network/admin(创建这两个目录)

#vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora

1 JK1 =

2   (DESCRIPTION =

3     (ADDRESS_LIST =

4        (ADDRESS = (PROTOCOL = TCP)(HOST = 173.16.21.132)(PORT = 1521))

5      )

6        (CONNECT_DATA =

7          (SERVER = DEDICATED)

8          (SERVICE_NAME = jk)

9        )

0      )

1:自己定义的连接描述符名。

4:HOST要远程连接的数据库的IP,PORT端口默认1521。

8:数据库的实例名。

(注:查看实例名# ps -ef |grep pmon

oracle    3894     1  0 08:30 ?        00:00:00 ora_pmon_jk

root      5154  4546  0 09:56 pts/1    00:00:00 grep pmon

jk就是实例名)

2、连接数据库:

# cd /usr/lib/oracle/11.2/client64/bin/

 

报错(1)

# ./sqlplus system/[email protected] (system:用户名 oracle:密码 jk1:自己定义的连接描述符名)

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 27 09:56:54 2016

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

ERROR:

ORA-21561: OID generation failed

发现报错:ERROR:ORA-21561: OID generation failed

解决方法:

# hostname (查看机器名与127.0.0.1后的localhost不一致)

Cenos

# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# hostname  localhost (临时修改)

# hostname

localhost

# vim /etc/sysconfig/network (永久修改,重启生效)

1 NETWORKING=yes

2 HOSTNAME=localhost (修改后)

报错(2)

再次执行:

#./sqlplus system/[email protected]

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 27 10:08:11 2016

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

ERROR:

ORA-12541: TNS:no listener

发现报错:ERROR:ORA-12541: TNS:no listener

解决方法:检查数据库服务端是否起监听? 数据库是否起来?

$ lsnrctl start (开起监听)

$ sqlplus / as sysdba (进入数据库管理用户)

SQL*Plus: Release 10.2.0.4.0 - Production on чǚ?t 12? 27 10:17:40 2016

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup (启动数据库)

ORACLE instance started.

Total System Global Area  226492416 bytes

Fixed Size     2082912 bytes

Variable Size   184551328 bytes

Database Buffers    33554432 bytes

Redo Buffers     6303744 bytes

Database mounted.

Database opened.

SQL> (数据库起来了!!)

报错(3)

再次执行:

# ./sqlplus system/[email protected]

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 27 10:15:06 2016

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

ERROR:

ORA-12543: TNS:destination host unreachable

发现报错:ERROR:ORA-12543: TNS:destination host unreachable

解决方法:应该是服务端防火墙开着,关闭防火墙。

# service iptables stop (即时生效,重启复原)

清除防火墙规则:                                         [  确定  ]

把 chains 设置为 ACCEPT 策略:filter                             [  确定  ]

正在卸载 Iiptables 模块:                      [  确定  ]

成功(4)

再次执行:

# ./sqlplus system/[email protected]

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 27 10:18:26 2016

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

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

连接成功!!

 

二、创建oralce用户和oinstall组,方便管理数据库:

(1)

创建组:

#groupadd oinstall

#groupadd dba

创建一个用户主目录/home/oracle:

#mkdir -p /home/oracle

创建用户oracle 到主组oinstall,副组dba,主目录/home/oracle:

#useradd -g oinstall -G dba -d /home/oracle/  oracle

查看用户oracle的添加情况:

# id oracle

uid=501(oracle) gid=503(oinstall) 组=503(oinstall),504(dba)

将/usr/lib/oracle/下oracle目录拷贝至/home/oracle

#cp -r /usr/lib/oracle/  /home/oracle

把/home的所有者改为oracle

#chown -R oracle:oinstall /home

#ll /home/ (查看)

oracle oinstall 4096 12月 26 19:14 oracle

报错(2)

#su - oracle (进入oracle用户)

-bash-3.2$

而并不是

[[email protected] ~]$

解决方法: oracle用户下缺少.bash*等配置文件,将root用户下都拷贝过来

#ll -a ~ (查看root用户下.bash配置文件有哪些)

-rw-------.  1 root root    14941 12月 27 10:24 .bash_history

-rw-r--r--.  1 root root       18 5月  20 2009 .bash_logout

-rw-r--r--.  1 root root      368 12月 26 18:16 .bash_profile

-rw-r--r--.  1 root root      176 9月  23 2004 .bashrc

将这些都复制到/home/oracle/下并chown更改其用户分组为oracle:oinstall。

再次:

# su - oracle

[[email protected] ~]$ pwd (正常了)

/home/oracle/

报错(3)以下都是在oracle用户下执行

开始连接数据库:

$ sqlplus system/[email protected]

-bash: sqlplus: command not found

发现问题:sqlplus命令没有找到,应该是没有配置好环境变量

解决方法:

$ vim ~/.bash_profile

(添加这个)

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

退出并保存

$ source ~/.bash_profile (使其生效)

成功(4)

再次执行:

$ sqlplus system/[email protected]

SQL*Plus: Release 11.2.0.3.0 Production on Tue Dec 27 11:05:09 2016

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

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

连接成功!!

最近搭建oracle客户端环境就整理下遇到的报错和解决方法,大神路过如果发现不对之处希望指出!!

时间: 2024-10-03 10:45:45

Linux下搭建oracle客户端环境远程连接数据库的相关文章

Linux下搭建Java开发环境

Red Hat Package Manager 简称rpm rpm格式的文件就是我们可以使用RPM命令进行管理的软件包格式的文件 JDK的安装 #sh /root/Desktop/jdk-6u23-linux-i586-rpm.bin .bin 可以使用sh命令来解压执行 Linux的用户的登录过程 /etc/profile /etc/profile.d(各个脚本) /etc/bash.bashrc /home/[username]具体用户目录/.bashrc .bash_profile JDK

Linux下更改oracle客户端字符集和服务端字符集

from:http://blog.csdn.net/chid/article/details/6166506 Linux 下更改 oracle 客户端字符集和服务端字符集 1.Linux 下更改 oracle 客户端字符集,即设置环境变量" NLS_LANG" 的值 查看客户端字符集,在终端下执行: echo $NLS_LANG 修改客户端字符集: sudo gedit /etc/environment 在environment 文件中增加以下内容: NLS_LANG="SI

Linux下搭建PHP开发环境(LAMP)

LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 安装方法如下: 注:Ubuntu下可使用sudo su 命名切换到root用户. 开始安装之前,先执行EZHTTP安装前的准备工作. 一.使用screen(可选) 由于编译安装Nginx Apache PHP MySQL等软件会花费比较长的时间,难免会出现由于网络意外中断而导致安装也中断了,所以为了避免此问题,可以使用screen来安装. screen的使用方法如下: 1.安装screen ubunt

百度文库,linux下安装oracle客户端

linux单独安装oracle client(oracle客户端) 更新:2013-10-17 18:30 | 标签:linux oracle 1.要远程使用oracle,先下载下面三个文件,注意版本最好一致. oracle-instantclient-basic-10.2.0.4-1.i386.ziporacle-instantclient-devel-10.2.0.4-1.i386.zip     //这个是sdk 的,文件名上没有说明,特此说明oracle-instantclient-sq

Linux下搭建SVN+Apache环境【源码安装】

操作系统:redhat6.4(64位) 一.SVN介绍 SVN是一个版本控制工具,Subversion的版本库(repository),就是位于服务器,统一管理和储存数据的地方. 题外话,搭建SVN服务器apache是必须的吗? Subversion(SVN)作为一个单独的版本管理软件是不具备网页浏览功能的.就是说,你可以用版本管理的客户端比如:TotoriseSVN来和SVN服务器进行连接.这样如果你的电脑没有安装SVN客户端就不能使用SVN服务器提供的服务了.为了实现请客户端的目标,就想通过

Linux下搭建Android开发环境

我使用的Linux环境是 ubuntu-12.10-desktop-i386.安装前所需要准备的软件: 1.JDK(jdk-7u75-linux-i586.tar.gz) http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2.ADT(adt-bundle-linux-x86-20140321.zip)链接:http://pan.baidu.com/s/1i3qvJ0p 密码:h7

Linux下搭建Tiny开发环境

有一朋友在Linux下编译Tiny时出错了,偶在Windows下编译是OK的,但是说明不了问题.因此就想着搭建一个Linux下的编译环境进行验证,实际搭建过程碰到了一些问题--主要是NTLM ISA代理服务器的问题.由于整个过程比较复杂,因此就写此文志之,有需要的朋友也正好用一下. Step 1:搭建Linux环境 考虑到fedora各方面不错,本人选用了fedora,在vSphere中创建一个虚拟机,一会就装完了,没有啥好说的. Step 2:由于经常要从windows通过ssh连接或上传文件

在Linux下搭建Tiny开发环境

有一朋友在Linux下编译Tiny时出错了,偶在Windows下编译是OK的,但是说明不了问题.因此就想着搭建一个Linux下的编译环境进行验证,实际搭建过程碰到了一些问题--主要是NTLM ISA代理服务器的问题.由于整个过程比较复杂,因此就写此文志之,有需要的朋友也正好用一下. Step 1:搭建Linux环境 考虑到fedora各方面不错,本人选用了fedora,在vSphere中创建一个虚拟机,一会就装完了,没有啥好说的. Step 2:由于经常要从windows通过ssh连接或上传文件

Linux下搭建Python开发环境部署

1.安装操作系统 系统版本CentOS release 6.5 (Final)mini安装 关闭SELinux 关闭防火墙功能 关闭SSH的UseDNS功能 配置IP地址 配置DNS服务器 配置NTP服务器 配置主机名 2. Pyenv安装方式 2.1 安装Git软件 yum install git -y 2.2 安装Python依赖包 yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel b