【Oracle】Navicat Premium 连接 Oracle的两种方式

Navicat Premium

使用版本说明

Navicat® Premium 版本 11.2.16 (64-bit)
【Oracle】Navicat Premium 连接 Oracle的两种方式_第1张图片

一、配置OCI

1.1 配置OCI环境变量

1.1.2 设置\高级系统设置

【Oracle】Navicat Premium 连接 Oracle的两种方式_第2张图片

1.1.2 系统属性\高级\环境变量(N)

【Oracle】Navicat Premium 连接 Oracle的两种方式_第3张图片

1.1.3 修改/添加系统变量 ORACLE_HOME

ORACLE_HOME
D:\app\root\product\12.1.0\dbhome_1

【Oracle】Navicat Premium 连接 Oracle的两种方式_第4张图片

1.1.4 添加系统变量 TNS_ADMIN

TNS_ADMIN
%ORACLE_HOME%\NETWORK\ADMIN\

【Oracle】Navicat Premium 连接 Oracle的两种方式_第5张图片

1.1.5 未配置OCI环境变量会出现哪些情况?

Cannot create oci environment

【Oracle】Navicat Premium 连接 Oracle的两种方式_第6张图片

Access violation at address 00007FF90188A6EF in module ‘OraClient12.Dll’. Read of address 00000000000000D8

【Oracle】Navicat Premium 连接 Oracle的两种方式_第7张图片

1.2 、配置OCI.dll

1.2.1 正确配置

配置路径 工具\选项\其他\OCI常规\OCI library (oci.dll) *
OCI 的版本需要与Oracle数据库服务相匹配,否则会出现各种各样的问题。

正确配置如下

  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll12.1.0.0

oci.dll 详情

  • 文件位置:D:\app\root\product\12.1.0\dbhome_1\bin\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:12.1.0.0
  • 修改日期:‎2014‎年‎9‎月‎11‎日,‏‎2:49:48
  • 大小: 641,536 字节

修改完记得重启Navicat
【Oracle】Navicat Premium 连接 Oracle的两种方式_第8张图片
【Oracle】Navicat Premium 连接 Oracle的两种方式_第9张图片

1.2.2 OCI 的错误配置

1.2.2.1 Cannot create oci environment
  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll10.2.0.1

oci.dll 详情

  • 文件位置:C:\Program Files\PremiumSoft\Navicat Premium\instantclient_10_2\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:10.2.0.1
  • 修改日期:2014-11-11 14:42
  • 大小: 516,096 字节

oci.dll 10.2.0.1 报错详情

Cannot create oci environment
Access violation at address 00000000169ECFD1 in module ‘Ora0CICUS10.dll’. Read of address 00000000000000D8

【Oracle】Navicat Premium 连接 Oracle的两种方式_第10张图片

1.2.2.2 Cannot load OCI DLL
  • Oracle 服务器版本Oracle Database 12c 发行版
  • Navicat PremiumNavicat® Premium 版本 11.2.16 (64-bit)
  • oci.dll11.2.0.1

oci.dll 详情

  • 文件位置:D:\app\admin\product\11.2.0\client_1\oci.dll
  • 文件说明:Oracle Call Interface
  • 文件版本:11.2.0.1
  • 修改日期:‎2010‎年‎4‎月‎2‎日,‏‎7:42:34
  • 大小: 987,136 字节

oci.dll 11.2.0.1 报错详情

Cannot load OCI DLL, 193: D:\app\admin\product\11.2.0\client_1\oci.dll
Instant Client package is required for Basic and TNS connection.
For more information: http://wiki.navicat.com/wiki/index.php/lnstant_client_required

【Oracle】Navicat Premium 连接 Oracle的两种方式_第11张图片

Cannot load OCI DLL 87:
Instant Client package is required for Basic and TNS connection.
For more information: http://wiki.navicat.com/wiki/index.php/lnstant_client_required

【Oracle】Navicat Premium 连接 Oracle的两种方式_第12张图片

二、连接

2.1 连接类型 - Basic

  • 连接名:<自定义>
  • 连接类型:Basic
  • 主机名或IP地址:
  • 端口:1521(默认)
  • 服务名或 SID:
  • 服务名:orcl(默认) —— 全局数据库名(服务名)
  • SID:orcl(默认) —— 系统标识符(SID)
  • 用户名:SYS、SYSTEM(默认)
  • 密码:<自定义>
    【Oracle】Navicat Premium 连接 Oracle的两种方式_第13张图片

2.2 连接类型 - TNS

  • 连接名:<自定义>
  • 连接类型:TNS
  • 网络服务名: ORCL(默认) —— tnsnames.ora网络配置文件中的服务名
  • 用户名:SYS、SYSTEM(默认)
  • 密码:<自定义>

**tnsnames.ora**

# tnsnames.ora Network Configuration File: D:\app\root\product\12.1.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

PORTAL56_HIS =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-12Q8LR0)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = portal56_his)
    )
  )

TEST001 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.75.158)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-12Q8LR0)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


【Oracle】Navicat Premium 连接 Oracle的两种方式_第14张图片

三、其他报错

ORA-01005

ORA-01005:给出空口令;登录被拒绝

【Oracle】Navicat Premium 连接 Oracle的两种方式_第15张图片
密码不能填空
【Oracle】Navicat Premium 连接 Oracle的两种方式_第16张图片

ORA-01017

ORA-01017: invalid username/password; logon denied

【Oracle】Navicat Premium 连接 Oracle的两种方式_第17张图片
输入的账号或密码不正确
【Oracle】Navicat Premium 连接 Oracle的两种方式_第18张图片

ORA-12154

ORA-12154: TNS: 无法解析指定的连接标识符
ORA-12154: TNS:could not resolve the connect identifier specified

【Oracle】Navicat Premium 连接 Oracle的两种方式_第19张图片

  1. 检查系统变量 ORACLE_HOMETNS_ADMIN 是否配置或配置是否正确
  2. 填写网络服务名称 %ORACLE_HOME%\NETWORK\ADMIN\tnsnames.ora 存不存在其中%ORACLE_HOME% 是安装目录,安装时指定,如:D:\app\root\product\12.1.0\dbhome_1`
    【Oracle】Navicat Premium 连接 Oracle的两种方式_第20张图片

ORA-28009

ORA-28009: connection as SYS should be as SYSDBA or SYSOPER

【Oracle】Navicat Premium 连接 Oracle的两种方式_第21张图片

  • sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限。
  • system用户是管理操作员,权限也很大,具有susoper角色,没有create database的权限。

所以在使用sys连接Oracle数据库时,需要选择sysdba角色,或者使用sys as sysdba作为用户进行登录

在Navicat tab页"高级"中的角色选择SYSDBA
【Oracle】Navicat Premium 连接 Oracle的两种方式_第22张图片

你可能感兴趣的:(数据库,oracle,Navicat,Basic,TNS)