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

使用版本说明

Navicat® Premium 版本 11.2.16 (64-bit)

一、配置OCI

1.1 配置OCI环境变量

1.1.2 设置\高级系统设置

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

1.1.3 修改/添加系统变量 ORACLE_HOME

DOS 复制代码
ORACLE_HOME
D:\app\root\product\12.1.0\dbhome_1

1.1.4 添加系统变量 TNS_ADMIN

DOS 复制代码
TNS_ADMIN
%ORACLE_HOME%\NETWORK\ADMIN\

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

Cannot create oci environment

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

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

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

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++

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++

二、连接

2.1 连接类型 - Basic

  • 连接名:<自定义>
  • 连接类型:Basic
  • 主机名或IP地址:<Oracle数据库服务端安装地址>
  • 端口:1521(默认)
  • 服务名或 SID:
  • 服务名:orcl(默认) ------ 全局数据库名(服务名)
  • SID:orcl(默认) ------ 系统标识符(SID)
  • 用户名:SYS、SYSTEM(默认)
  • 密码:<自定义>

2.2 连接类型 - TNS

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

**tnsnames.ora**

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)
    )
  )

三、其他报错

ORA-01005

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


密码不能填空

ORA-01017

ORA-01017: invalid username/password; logon denied


输入的账号或密码不正确

ORA-12154

ORA-12154: TNS: 无法解析指定的连接标识符

ORA-12154: TNS:could not resolve the connect identifier specified

  1. 检查系统变量 ORACLE_HOMETNS_ADMIN 是否配置或配置是否正确
  2. 填写网络服务名称 %ORACLE_HOME%\NETWORK\ADMIN\tnsnames.ora 存不存在其中%ORACLE_HOME% 是安装目录,安装时指定,如:D:\app\root\product\12.1.0\dbhome_1`

ORA-28009

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

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

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

在Navicat tab页"高级"中的角色选择SYSDBA

相关推荐
Mephisto.java26 分钟前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
BearHan3 小时前
Sqlsugar调用Oracle的存储过程
oracle·存储过程·orm
superman超哥3 小时前
04 深入 Oracle 并发世界:MVCC、锁、闩锁、事务隔离与并发性能优化的探索
数据库·oracle·性能优化·dba
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java5 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
毕业设计制作和分享13 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
Dingww101118 小时前
梧桐数据库中的网络地址类型使用介绍分享
数据库·oracle·php
2401_8570262320 小时前
Spring Boot框架下的知识管理与多维分类
spring boot·后端·oracle
刘艳兵的学习博客1 天前
刘艳兵-DBA027-在Oracle数据库,通常可以使用如下方法来得到目标SQL的执行计划,那么通过下列哪些方法得到的执行计划有可能是不准确的?
数据库·oracle·面试·database·刘艳兵
秋意钟1 天前
MySql事务
数据库·mysql·oracle