PL/SQL Developer遠程連接Oracle數據庫(可以使用)

第一次用PL/SQL Developer這個非官方的軟件,遇到了種種困難,幸好通過萬能的Google已經全部解決,記錄下來備察.
前提是保證你的遠程oracle服務器一切正常.
 
微軟客戶端設置
使用oracle免費發放的instant client來代替oracle client,免去了安裝的麻煩,下載instantclient-basiclite-nt-11.2.0.2.0.zip解壓到你想要放到的任何目錄,如:D:\oracle\instantclient_11_2,創建一個名叫tnsnames.ora的文件,放到該目錄下,可以先創建成txt文檔,保存完下面的內容再把擴展名.txt去掉:
myDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.23)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testdb)
)
)
注:
myDB爲連接數據庫別名
HOST = 192.168.7.23爲你連接的數據庫ip
PORT = 1521 爲你數據的端口
SERVICE_NAME = testdb 爲你數據庫實例名
 
右擊我的電腦選屬性”->“高級”->“環境變量”->”系統變量
新增下面兩個變量
TNS_ADMIN    D:\oracle\instantclient_11_2
 

NLS_LANG    SIMPLIFIED CHINESE_CHINA.ZHS16GBK
 
 
軟件上的設置(版本爲8.0)
在PLSQL Developer選擇Tools > Preferences > connection,在右側的 "Oracle Home" and "OCI Library"中填入以下內容:
D:\oracle\instantclient_11_2
D:\oracle\instantclient_11_2\oci.dll
完成以上的設置應該就能正常登錄數據庫了,如果還有別的問題,只能再次Google.



如何爲一個instance配置多個監聽,並且實現Client Load Balancing和Client Load Balancing。
打開NETCA,配置兩個監聽器。
LISENTER,默認監聽器,一路next,就配置完畢, 監聽端口1521。
配置LISENTER2,注意監聽端口改爲1522,其它和LISENTER一致。
這個時候,LISENTER已經可以使用了。

但是LISENTER2還是不行,因爲Oracle只會爲第一個默認的監聽註冊服務
在$ORACLE_HOME/NETWORK/ADMIN,編輯lisenter.ora文件,如下:
紅色字體爲需要增加的內容
SID_LIST_LISTENER2 =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = WWJ)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
    (GLOBAL_DBNAME = WWJ) 
  )
)


LISTENER2 =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1522))
  )
)

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
    (PROGRAM = extproc)
  )
)
LISTENER =
(DESCRIPTION_LIST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = valen)(PORT = 1521))
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )
)
需要解釋的是,SID_LIST_<lisenter name> 這裏的<lisenter name>要和LISTENER名稱一致。
SID_DESC則註冊要提供服務的數據庫實例名。這樣LISTENER2 才能夠提供服務。
否則會報TNS-錯誤。
測試過程,配置local tns name如下:
1522 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1521 =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)

local =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
  )
  (CONNECT_DATA =
    (SERVICE_NAME = wwj)
  )
)
1522和1521分別對應兩個監聽器,local稍後再解釋:
測試:
SQL> conn@1521
已連接。
SQL> conn@1522
已連接。
OK,再看local,
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
這裏的意思是,該命名對應了兩個監聽端口,如果一個Crash,會立刻切換到另外一個。
並且如果多個連接,會隨機的分配監聽。
測試
SQL> conn @local
已連接。
STOP LISENTER,再次連接,這個時候,連接比第一次慢了1秒鐘左右
SQL> conn @local
已連接。
成功,這時連接上了LISTENER2
關於Oracle網絡服務的資料,在OCP教材的第四章Oracle Net Services有很清晰的說明。


Oracle 版本:11g
運行環境: window XP
遠程連接 需要兩臺電腦,一個是遠程服務器端 ;一個是本機客戶端。並且要保證在兩臺電腦上同時安裝了Oracle 11g

先假設,你的電腦作爲本機客戶端,你同事的電腦作爲遠程服務器端。
具體配置如下:
1 設置遠程服務器端的Oracle,即你同事電腦上的Oracle,需要設置 2 個地方:
 (1)設置"Database Configuration Assistant",在進行第6步:連接模式 時選擇:“共享服務器模式” 。
並且下面的 “共享服務器” 選擇 3 以上。然後點擊“確定”或“是” 。

 (2)服務器端還要設置 net manager:監聽程序 | LISTENER | 添加地址,主機填 客戶端 電腦的ip,端口是:1521;

 (3)設置完成之後,停止服務,然後啓動服務。


2 設置本機客戶端,即你電腦上的Oracle

 (1)設置 "Net Configuration Assistant"  
"Net Configuration Assistant" 工具 -> "本地NET服務名配置" -> "添加" -> 選擇ORACLE數據庫或服務-> 輸入服務名(遠程服務器端的Oracle的全局數據庫名) -> TCP -> 主機名中輸入服務端IP地址,端口輸入服務端監聽程序所監聽的端口 -> 是,進行測試 -> 首次測試可能會失敗,因爲默認的用戶名口令不一定和服務端的匹配,點擊 更改登錄 輸入服務端的用戶名和口令,確定後如出現"測試成功",說明連接成功

 (2)設置完成之後,停止服務,然後啓動服務。

 (3)按 winkey + R ,彈出“運行”對話框 , 運行cmd ,進入dos界面,輸入 sqlplus /nolog  回車。

 (4)輸入 conn scott/234@//192.168.1.106:1521/orcdb

或者: conn scott/[email protected]:1521/orcdb

就可以連接到服務器端的Oracle了。
 ( 注: scott/234 是服務器端的Oracle的用戶 ,192.168.1.106 是服務器端的ip ,orcdb 是服務器端的Oracle的全局數據庫名 )。
 -------------- 至此配置完成! -------------


服務端:
1、增加一個listener:終端運行:$ORACLE_HOME/bin/netca (必須在圖形界面環境下),按照提示增加一個listener。

2、增加listener支持的服務:終端運行:$ORACLE_HOME/bin/netmgr (圖形界面下),在:Oracle Net Configuration -> Local -> Listeners -> xxxx (你剛纔增加的那個listener),從中選擇“Database services”,增加你要服務的database。其中,注意Global Database Name就是你的對外的服務名字。然後保存並退出。

3、重啓你的listener:終端運行:
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/lsnrctl start

最後提示:
Service "XXXX" has 1 instance(s).
The command completed successfully.


好了,到現在服務端的listener配置按成了。

客戶端:
1、配置一個“Local Service Name Configuration”:終端運行:$ORACLE_HOME/bin/netca ,選擇:Local Service Name Configuration,按照提示操作。其中,Service Name寫和服務器端配置的時候添的那個“Global Database Name”;Host name寫服務器IP(如果是在局域網內,也可些服務器名字);最後給這個本地服務起一個名字(例如叫:LSN)。然後保存並退出。

2、通過sqlplus連接到服務器上的數據庫:
格式:sqlplus 用戶名/密碼@本地服務的名字
例子:sqlplus user/password@LSN



1,項目使用的是oracle11g數據庫,安裝個客戶端訪問服務器. 

    到oracle官方下載: 
    http://www.oracle.com/technology/global/cn/software/tech/oci/instantclient/htdocs/winsoft.html  (中文)
    http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html下載下列幾個壓宿文件 

http://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html


   oracleDBinstantclient-basic-win32-11.1.0.7.0.zip     這是最核心的包 
   instantclient-jdbc-win32-11.1.0.7.0.zip     包含JDBC Driver的包 
   instantclient-sqlplus-win32-11.1.0.7.0.zip   最簡單的SQLPLUS包 



    我把文件解壓到了d盤,d:\oracleclient11g下面 

    最後的文件結構應該如下:
Oracle客戶端安裝 - bxl766 - bxl766的博客
 

    2,配置tnsnames.ora,如果本機上沒有安裝oracle,可以從安裝了oracle的機上拷貝一個(tnsnames.ora文件在%   ORACLE_HOME%\network\admin下)放在上面的目錄d:\oracleclient11g下。 
oracledata = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.112)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
      (SERVICE_NAME = orcl) 
    ) 
  ) 

    

    3,添加一個環境變量,名爲TNS_ADMIN,值爲tnsnames.ora文件所在路徑(如:d:\oracleclient11g),這是爲了能夠 找到上面說的tnsnames.ora。如果本機上安裝了ORACLE,並且設置了ORACLE_HOME環境變量,那麼會自動 在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。 

    4,設置ORACLE的語言,添加註冊表項:“NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,位於 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE。如果本機沒有安裝ORACLE,在H_L_M\SOFTWARE\下是沒 有"ORACLE"這一項的,需要手動創建,然後再在ORACLE項下創建鍵NLS_LANG,鍵值爲:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 

    5,下載並安裝PL.SQL.Developer配置應用 
    配置tools->preferences->connection 
Oracle客戶端安裝 - bxl766 - bxl766的博客
 
    找到等號左側參數填寫等號右側對應的內容 
    Oracle Home=D:\oracleclient11g
    OCI library=D:\oracleclient11g\oci.dll 

    6,再次打開plsql則會在database中有oracledata 選項輸入用戶名密碼就可以登陸。


http://v.youku.com/v_playlist/f5172664o1p12.html


http://www.youku.com/playlist_show/id_4359957.html



http://www.youku.com/playlist_show/id_4368229.html


-----------------------------------------------------------------------------
服務器: rhel5.4 (安裝了oracle 11g)

客戶端: window 7  安裝  PLSQL Developer
               oracle 客戶端軟件: instantclient-basic-nt-11.2.0.3.0.zip

客戶端配置:
1. 解壓到D盤:D:\instantclient_11_2 (解壓路徑)
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 tnsnames.ora文件內容如下:
ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 

ORCL = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.218)(PORT = 1521)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = DATA) 
    ) 
  )

說明
ORCL =  這邊必須頂格寫 
2 安裝:PLSQL Developer9 (版本)
按步驟(略)
配置:
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 

3.客戶端登錄:
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 雙擊登錄

PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 數據庫選擇中 出現  多個 字符串不是 pl sql 正確讀取  tnsnames.ora   (ORCL是我們自己定義的)
PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 連接遠程數據庫 ORCL

PL/SQL Developer遠程連接Oracle數據庫(可以使用) - zhuzhu - 五事九思 (大連Linux主機維護)
 測試sql方式。

-------------------------------------------------------------------------------------------------------------------------------------------------------------
備忘
 Oracle筆記(一)RHEL5.7十步安裝Oracle11g R2

Linux上安裝oracle,因其過程之繁瑣,報錯率之高,成爲了許多工程師的夢魘。前段時間因工作需要,分別在HP的PC服務器和小型機上裝了幾次oracle,其間的過程是生不如死啊,簡直都快弄出人命了~如果自己沒有一套完整的安裝流程,光靠臨時去百度的話,我想任何人都會有這樣的問題:不斷報錯,不斷卡殼,沒完沒了……最後還很有可能導致不得不重裝系統。這些使得我不得不對自己的教訓進行了總結,現總結出一份史上最詳細的安裝教程,供自己備忘,同時也分享給大家。 
    本教程適用環境爲32位的RHEL5系統和oracle11g R2。 
1、在安裝oracle之前,用命令檢查必需的RPM軟件包有沒有安裝 
命令如下: 
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio  libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
如果RPM包安裝完全的話會如圖所示 
image  
如果未安裝完全會顯示XXX is not installed,這個時候可以通過掛在RHEL5.4的光盤或鏡像,在Server文件夾裏尋找相應的RPM包安裝。 
2、建立oracle系統用戶和安裝目錄 
創建一個主組oracle和一個副組dba 
groupadd oinstall 
groupadd dba
 
創建oracle安裝文件夾 
mkdir -p /oracle 
添加一個oracle用戶, 根目錄是 /oracle, 主的組是oinstall 副的組是dba 
useradd -g oinstall -G dba -d /oracle oracle 
拷貝包含環境變量的文件到安裝目錄下,這個之後會用到 
cp /etc/skel/.bash_profile /oracle 
cp /etc/skel/.bashrc /oracle 
cp /etc/skel/.bash_logout /oracle
 
爲oracle用戶設置密碼 123456 
passwd oracle 
設置安裝目錄用戶權限 
chown -R oracle:oinstall /oracle 
檢查 nobody 是否存在 
id nobody 
缺省存在的,會顯示nobody的uid、gid和groups,默認都是99。如果不存在可以輸入以下命令 
/usr/sbin/useradd -g nobody 
3、修改內核參數 
vi /etc/sysctl.conf 
在sysctl.conf這個文件中加入以下內容,我加在文件的末尾 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
kernel.shmall = 2097152 
kernel.shmmax = 536870912 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500 
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048586 
image  
4、設置oracle用戶的shell limit 
vi /etc/security/limits.conf 
在limits.conf中加入以下內容,同樣放在末尾,如圖所示 
oracle           soft    nproc   2047 
oracle           hard    nproc  16384 
oracle           soft    nofile   1024 
oracle           hard    nofile  65536 
image  
增加下面的內容到文件 /etc/pam.d/login 中,使shell limit生效 
vi /etc/pam.d/login 
session    required     pam_limits.so 
image  
5、設置oracle 用戶環境變量 
首先切換到oracle用戶下 
su – oracle 
vi .bash_profile
 
在隱藏的.bash_profile文件中,將原有的環境變量刪除,加入以下環境變量,注意自己的根目錄位置 
ORACLE_BASE=/oracle 
ORACLE_HOME=$ORACLE_BASE/oracle 
ORACLE_SID=DATA 
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin 
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
 
image  
6、將oracle安裝包解壓後上傳到linux中,準備開始安裝 
Oracle 11g Release 2 linux x86官方的安裝包分兩個文件,一個1.2G一個900+M,解壓縮後會有一個database文件夾,把這個文件夾拷過去就可以了。具體過程不再描述。複製完成後,改變oracle用戶訪問安裝包的權限 
chown -R oracle:oinstall /usr/oracle_install/database 
註銷root用戶,改用oracle用戶登錄,來的database文件夾下,開始安裝 
./runinstaller 
image  
這裏注意一下,如果是用root用戶通過su切換到oracle用戶的話,在“檢查監視器”這一項可能無法通過,會顯示以下警告

檢查監視器: 監視器配置至少必須顯示 256 種顏色 
&gt;&gt;&gt; 無法使用命令 /usr/bin/xdpyinfo 自動檢查顯示器顏色。請檢查是否設置了 DISPLAY 變量。 未通過 <&lt;&lt;&lt;

未通過某些要求檢查。必須先滿足這些要求,

然後才能繼續安裝,那時將重新檢查這些要求。

是否繼續? (y/n) [n] y

因此註銷或重啓後用oracle用戶登錄最爲保險。 
7、安裝過程 
這時候不出意外的話會彈出oracle 11g的圖形安裝界面,現在根據圖形界面的提示一步一步安裝吧 
clip_image002[4]

這一步可填可不填,由於這裏是實驗,所以就不填了 
clip_image004[4] 
選擇僅安裝數據庫軟件,數據庫實例可以放到安裝完後再配置 
clip_image006[4] 
選擇單實例數據庫安裝 
clip_image008[4] 
語言默認即可 
clip_image010[4] 
選擇安裝企業版,也可以根據個人需求來選擇 
clip_image012[4] 
Oracle的安裝目錄,這裏已經在環境變量中設置過了,默認即可 
clip_image016[4] 
這裏會提示要創建一個清單目錄,回到命令行下,輸入以下命令,否則文件夾不存在會報錯。 
創建完文件夾後再點擊下一步 
mkdir /oraInventory 
chown -R oracle:oinstall oraInventory 
clip_image018[4] 
設置不同組的數據庫權限 
clip_image020[4] 
安裝程序會檢查物理內存和空間大小,由於虛擬機分的內存很小,所以oracle檢查會提示失敗,不過我們可以忽略它,在右上角打勾即可(真實的服務器內存非常大,一般不會出現此問題) 
clip_image022[4] 
檢查一遍之前的配置,點“完成”開始正式安裝 
clip_image024[4] 
clip_image026[4] 
安裝完畢, 提示執行兩個腳本 
./oraInventory/orainstRoot.sh 
./oracle/oracle/root.sh
 
最後點finish,oracle安裝完成! 
8、開啓oracle監聽服務 
首先在命令行上輸入netca,會彈出一個對話框 
clip_image028[4] 
這裏一直默認下一步就可以了,最後點“完成”結束 
9、創建oracle數據庫 
回到命令行,輸入dbca,會彈出以下會話框 
clip_image030[4] 
數據庫名稱和SID取DATA(注意要和環境變量中設置的SID一樣) 
clip_image032[4] 
爲不同用戶設置統一口令,後期可以更改 
clip_image034[4] 
接着下一步,在第九步左右Character Sets 選擇 Use Unicode(AL32UTF8)字符集 
clip_image036 
開始創建數據庫,如無意外的話,進度條走完後數據庫即創建完成。 
10、測試數據庫 
注意必須使用oracle系統用戶登錄才能操作數據庫,以及開啓監聽、控制檯等功能。 
[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Sat Dec 24 23:33:57 2011

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

SQL> conn /as sysdba   //連接數據庫 
Connected to an idle instance.   //oracle實例未開啓 
SQL> startup   
ORACLE instance started.

Total System Global Area  238530560 bytes 
Fixed Size                  1335724 bytes 
Variable Size             121638484 bytes 
Database Buffers          113246208 bytes 
Redo Buffers                2310144 bytes 
Database mounted. 
Database opened. 
SQL> conn /as sysdba   
Connected. 
SQL> create table testUser( id integer,name char(10));   //創建表

Table created.

SQL> insert into testUser values(0,'mike');   //創建記錄

1 row created.

SQL> select * from testUser;

           ID NAME 
---------- ---------- 
             0 mike 
關閉數據庫 
SQL>  shutdown immediate 
SQL>  quit

以上現象說明oracle已經安裝成功,也可以通過web頁面訪問oracle數據庫 
首先在命令行輸入emctl start dbconsole開啓控制檯服務 
在瀏覽器上輸入https://X.X.X.X:1158/em即可訪問(X.X.X.X是服務器IP),用戶名和口令即創建數據庫時創建的用戶名(SYS、SYSTEM等)。 
clip_image002[10]

clip_image004[8]

至此oracle安裝完成,希望通過此教程,我們都能夠在安裝的過程中少走彎路。呵呵,大家都這麼忙,時間耗不起呵~

發佈了16 篇原創文章 · 獲贊 14 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章