簡(jiǎn)介
- Mac 上 Navicat Premium 連接Oracle, Navicat 這個(gè)軟件連Oracle稍微有點(diǎn)麻煩需要在Oracle官網(wǎng)上下載對(duì)應(yīng)的instantclient。步驟如下:
- 查看Oracle數(shù)據(jù)庫(kù)版本命令如下:
[oracle@test ~]$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 25-JUL-2023 22:46:35
# 版本 Version 19.0.0.0.0
Copyright (c) 1991, 2019, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=119-61-oracledb)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
#版本
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
#啟動(dòng)時(shí)間
Start Date 24-JUL-2023 18:33:07
#運(yùn)行時(shí)間
Uptime 1 days 4 hr. 13 min. 27 sec
# 跟蹤級(jí)別
Trace Level off
#安全性
Security ON: Local OS Authentication #本地認(rèn)證
SNMP OFF
# 監(jiān)聽(tīng)器參數(shù)文件
Listener Parameter File /opt/data/oracle/product/19.3/db_1/network/admin/listener.ora
# 監(jiān)聽(tīng)器日志文件
Listener Log File /opt/data/oracle/diag/tnslsnr/119-61-oracledb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=119-61-oracledb)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "86b637b62fdf7a65e053f706e80a27ca" has 1 instance(s).
Instance "oracledb", status READY, has 1 handler(s) for this service...
# 實(shí)例名 Instance 'oracledb'
Service "f3d1f7d4b8e61484e053773ded0acc2f" has 1 instance(s).
Instance "oracledb", status READY, has 1 handler(s) for this service...
Service "orcldb" has 1 instance(s).
Instance "oracledb", status READY, has 1 handler(s) for this service...
Service "orcldbXDB" has 1 instance(s).
Instance "oracledb", status READY, has 1 handler(s) for this service...
Service "pdb" has 1 instance(s).
Instance "oracledb", status READY, has 1 handler(s) for this service...
The command completed successfully
- 確定數(shù)據(jù)庫(kù)版本后 到Oracle 官網(wǎng)下載對(duì)應(yīng)的 instantclient
-
https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html#ic_osx_inst
image.png -
下載好后解壓文件,在Navicat Premium的偏好設(shè)置-->環(huán)境變量中指定OCI環(huán)境:
image.png - sqlplus連接測(cè)試或服務(wù)器先進(jìn)行本地測(cè)試
連接格式 :
sqlplus username/password@//hostname:1521/pdb_name
- 數(shù)據(jù)庫(kù)主機(jī)名或IP地址
- 監(jiān)聽(tīng)器端口號(hào)
- 服務(wù)名稱或SID
實(shí)例:
[oracle@test ~]$ sqlplus test/123456@//10.0.0.1:1521/pdb
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jul 25 23:06:42 2023
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Last Successful login time: Tue Jul 25 2023 23:06:03 +08:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
# 以上反饋為連接成功
注:
System Identifier(SID)是在Oracle數(shù)據(jù)庫(kù)中標(biāo)識(shí)唯一實(shí)例(Instance)的字符串。每個(gè)Oracle數(shù)據(jù)庫(kù)實(shí)例都有一個(gè)唯一的SID,用于在數(shù)據(jù)庫(kù)中區(qū)分不同的實(shí)例。在Oracle 12c及以上版本中,每個(gè)實(shí)例通常對(duì)應(yīng)一個(gè)PDB(Pluggable Database),而每個(gè)PDB都有一個(gè)唯一的SID。
Oracle12c及以上版本中引入了 CDB(Container Database)和 PDB(Pluggable Database)他們之間的關(guān)系類似于房東和租戶.CDB只有一個(gè)但是它可以容納多個(gè)PDB。
CDB類似于房東,負(fù)責(zé)管理整個(gè)數(shù)據(jù)庫(kù)的共享結(jié)構(gòu)和資源。例如共享的SGA、共享的后臺(tái)進(jìn)程等
PDB類似于租客,每個(gè)PDB是一個(gè)獨(dú)立的數(shù)據(jù)庫(kù),有自己的數(shù)據(jù)文件、表空間、用戶等
多租戶架構(gòu)的優(yōu)點(diǎn)是可以讓Oracle數(shù)據(jù)庫(kù)根據(jù)適合云環(huán)境和多用戶的應(yīng)用場(chǎng)景,可以為每個(gè)用戶創(chuàng)建一個(gè)PDB實(shí)例,而不用為每個(gè)用戶或程序單獨(dú)部署一個(gè)數(shù)據(jù)庫(kù)。
在連接數(shù)據(jù)庫(kù)的時(shí)候我們通常連接的是數(shù)據(jù)庫(kù)中的租戶,也就是具體的實(shí)例PDB,而不是直接連接CDB,這也就是說(shuō)我們?cè)谶B接數(shù)據(jù)庫(kù)的時(shí)候要選擇好對(duì)應(yīng)的實(shí)例。
-
Navicat Premium客戶端配置,也可以使用TNS配置文件鏈接
image.png 如果連接不上報(bào)錯(cuò)ORA-01017: 看下自己選擇的oracle服務(wù)名是否正確


