windows下如何访问linux下的oracle数据库
我們從上面可以看出:
需要
1.oracle client客戶端(這兒使用,oracle instance client?,簡(jiǎn)單)
2.odbc驅(qū)動(dòng) ??oracle instance client默認(rèn)就有
3.linux下需要安裝Linux oracle 服務(wù)器
4.兩個(gè)配置文件tnsnames.ora,listener.ora
tnsnames.ora? ====》客戶端連接服務(wù)器配置文件
? listener.ora?? ===》服務(wù)器偵聽服務(wù)配置
linux ?oracle服務(wù)器 listener.ora:
[oracle@localhost admin]$ pwd /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin?
首先安裝Linux 下的oracle,可以看這個(gè)https://www.cnblogs.com/bwbfight/p/9621218.html
安裝好后Linux 下需要做的事
1 oracle虛擬機(jī)需要固定IP,才能被外面的客戶端連接上來(lái)
????? ? Root登陸linux機(jī)器
系統(tǒng)/首選項(xiàng)/網(wǎng)絡(luò)連接
重啟系統(tǒng)
2 ?oracle用戶啟動(dòng)oracle服務(wù)器
3 在linux環(huán)境中,用sqlplus工具訪問oracle服務(wù)
在oracle用戶下,用sqlplus訪問oracle服務(wù)?
必須用scott/aa @orcl這種形成訪問成功,則后臺(tái)服務(wù)器程序才能訪問成功
在非oracle用戶下(比如在test03),用sqlplus訪問oracle服務(wù)
必須用scott/aa@orcl這種形成訪問成功,則后臺(tái)服務(wù)器程序才能訪問成功
?????? chmod 777 ? /home/oracle_11/app ? -R?????? (root用戶) 修改oracle家目錄權(quán)限
?????? 同時(shí)配置.bash_profile ??
# .bash_profile# Get the aliases and functions if [ -f ~/.bashrc ]; then. ~/.bashrc fi# User specific environment and startup programsumask 022 ORACLE_BASE=/home/oracle_11/app ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1 ORACLE_SID=orcl PATH=$PATH:./:$HOME/bin:$ORACLE_HOME/bin LD_LIBRARY_PATH=./lib:$HOME/lib:/usr/lib:$ORACLE_HOME/lib #LANG=C export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; export NLS_LANG根據(jù)自己環(huán)境修改
ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH4 在win環(huán)境中,用sqlplus工具訪問linux環(huán)境下的oracle服務(wù)(?192.168.43.252為linux服務(wù)器ip)
?????? 1 Ping 192.168.43.252
2 telnet 192.168.43.252 1521? 防火墻沒有把端口給封住
? ? ? //防火墻 linux服務(wù)器 1521 端口 放開
linux下: ufw disable
?
接著Linux開啟oracle服務(wù)并監(jiān)聽:
1.?啟動(dòng)oracle服務(wù) (啟動(dòng)oracle服務(wù)器 必須使用oracle用戶)-
啟動(dòng)oracle服務(wù) (啟動(dòng)oracle服務(wù)器 必須使用oracle用戶)-[oracle@localhost ~]$ sqlplus /nologSQL> connect /as sysdbaConnected to an idle instance.SQL> startup ORACLE instance started.Total System Global Area 780824576 bytesFixed Size 2217424 bytesVariable Size 599788080 bytesDatabase Buffers 176160768 bytesRedo Buffers 2658304 bytesDatabase mounted.Database opened.?
2.啟動(dòng)監(jiān)聽服務(wù)器?
[oracle@localhost ~]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.1.0 - Production on 31-JAN-2016 06:12:24Copyright (c) 1991, 2009, Oracle. All rights reserved.Starting /home/oracle_11/app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 11.2.0.1.0 - ProductionSystem parameter file is /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/listener.oraLog messages written to /home/oracle_11/app/diag/tnslsnr/localhost/listener/alert/log.xmlListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))注意:
?
?
ok... Linux下的事情干完了,
?
接著windows下接著干活
1. oracle instance client?安裝:https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html(注意是32位還是64位,不然不工作了)?
2.解壓后放到固定目錄:
我的是放到e盤:E:\oracle_client\instantclient_18_3
配置
Win機(jī)器的tnsnames.ora,新建tnsnames.ora放到E:\oracle_client\instantclient_18_3下
內(nèi)容如下
# tnsnames.ora Network Configuration File: E:\oracle_client\instantclient_18_3 SECMNGADEMIN =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.32.253)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))HOST:服務(wù)器IP地址?
PORT:oracle端口號(hào)?
SERVICE_NAME:oracle數(shù)據(jù)庫(kù)上的實(shí)例名稱(安裝時(shí)如果沒有指定一般為orcl)
配置windows環(huán)境變量
TNS_ADMIN =E:\oracle_client\instantclient_18_3
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
說明:TNS_ADMIN,是指tnsnames.ora文件所在的目錄名。
??如果指定到客戶端目錄,則必須把tnsnames.ora文件復(fù)制過來(lái)才可以
? 設(shè)置ORACLE_HOME環(huán)境變量
ORACLE_HOME=E:\oracle_client\instantclient_18_3
Path后面加一個(gè);E:\oracle_client\instantclient_18_3
在windows ?cmd測(cè)試
sqlplus scott/tiger@orcl (tiger為密碼),如果能夠執(zhí)行,說明配置正確
可能會(huì)報(bào)錯(cuò)
oracle的12154錯(cuò)誤排查
分別在linux 下和windows下輸入:sqlplus scott/aa@orcl
1 ?.linux 下用test03(其他用戶)不能訪問oracle問題排查
2. ? ? windows下cmd訪問出現(xiàn)如下
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
ORA-12154 11.2.0.1.0 ORA-12154
?
?
2 解決方法
[oracle@localhost admin]$ pwd
/home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin
[oracle@localhost admin]$ ls
看看
?listener.ora?? ===》服務(wù)器偵聽服務(wù)配置
shrept.lst??????????
tnsnames.ora? ====》客戶端連接服務(wù)器配置文件???? wbm01客戶使用這個(gè)文件連接服務(wù)
????????????? 要保證wbm01用戶能訪問這個(gè)目錄:ADR_BASE = /home/oracle_11/app
3 解決步驟
====> 然后切換用戶[wbm01@localhost app]$ cd /home/oracle_11/app[wbm01@localhost app]$ pwd/home/oracle_11/app[wbm01@localhost app]$ lsadmin cfgtoollogs checkpoints diag flash_recovery_area oracle oradata oradiag_oracle[wbm01@localhost app]$ cd admin/-bash: cd: admin/: 權(quán)限不夠解決如下:
root用
?????? chomd 775 /home/oracle_11/app (家目錄)
windows下繼續(xù)
然后配置plsql或者navicat
我用的navicat,工具-》選項(xiàng)
然后就可以連接數(shù)據(jù)庫(kù)了
ok...成功
?
現(xiàn)在來(lái)配置 oracle ?odbc
oracle instance client? ?里面 安裝路徑E:\oracle_client\instantclient_18_3默認(rèn)就有
如果沒有請(qǐng)下載?1. oracle instance client?安裝:https://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html(注意是32位還是64位,不然不工作了)?
?就可以了!
一定要分請(qǐng)你是32位還是64位,如果不行請(qǐng)自行換成相應(yīng)位數(shù)(win7 32/64都支持)
?如果你是64位系統(tǒng)這個(gè)數(shù)據(jù)源ODBC
需要運(yùn)行C:\Windows\SysWOW64文件夾下的
?
或者控制面板-》管理工具-》數(shù)據(jù)源odbc-》添加
?
Data Source Name ,descript隨便寫
TNS service name:需要和tnsnames.ora配置的名字一樣
userid:數(shù)據(jù)庫(kù)名字(如scott等)
點(diǎn)擊 test connection ,彈出成功連接即可!
ok........
搞定,bye 了個(gè)bye.... 忒麻煩了.....
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/bwbfight/p/9639938.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的windows下如何访问linux下的oracle数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Yaml】Yaml学习笔记
- 下一篇: 使用WeexSDK,网络请求信任证书的问