標籤:規則 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用戶端環境遠端連線資料庫