Linux下搭建oracle用戶端環境遠端連線資料庫

來源:互聯網
上載者:User

標籤:規則   des   pts   檢查   ble   解決   chown   下載   accept   

一、 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用戶端環境就整理下遇到的報錯和解決方案,大神路過如果發現不對之處希望指出!!

Linux下搭建oracle用戶端環境遠端連線資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.