win10 不安装oracle plsql连接远程oracle

时间:2021-08-01 07:43:50

折腾了好几个小时:could not initialize XXXXoci.dll ,其实是plsql的问题,plsql重装之后就OK了;之前一直在重新下载instantclient一直在重新配置,浪费了很多时间。

1 下载安装plsql

2 下载并解压instantclient,在instantclient下建立两个文件

sqlnet.ora:

SQLNET.AUTHENTICATION_SERVICES= (NTS)
   
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

tnsnames.ora:

 实例名 =
           (DESCRIPTION =
             (ADDRESS_LIST =
               (ADDRESS = (PROTOCOL = TCP)(HOST = 地址)(PORT = 端口号))
             )
             (CONNECT_DATA =
               (SERVICE_NAME = 实例名)
             )
           )

说明:如果搞不懂实例名的话,百度查一下oracle实例。

3 配置环境变量:TNS_ADMIN = D:\instantclient_11_2


4 其他一些知识:

一 本地oracel忘记密码
set ORACLE_SID=orcl
sqlplus / as sysdba
以sysdba的身份登录到oracle
alter user you_username identified by you_password;


二 数据库名和实例
1 数据库名:数据库的名字,一台计算机上安装多个DB,DB_NAME用于标识数
据库
2 实例:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合,它根本不需要一个与其相关联的数据库,没有任何数据文件也可以启动实例。
3 所以可以这么理解:访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误
4 实例名指的是用于响应某个数据库操作的数据库管理系统的名称,也叫SID。实例名是由参数instance_name决定的。如果这个参数不被指定(即instance_name没有被指定为任何值),那么实例的名字由该用户的环境变量ORACLE_SID(注意这里是大写)决定。在windows平台下,则是注册表中oracle_sid值决定。
实例名和SID是一一对应的,名字相同,但存储位置不同。
5 ORACLE服务= 实例+数据库(内存和进程+数据文件)
实例是一群为你服务的进程,数据库是你真实需要的数据
比如你去饭店吃饭享受服务,厨师+服务员的服务相当于实例,食材、饭菜什么相当于数据库的数据
三 表空间和用户:
1 一个数据库可以有多个表空间,一个表空间可以有多个用户,一个用户也可以有多个表空间(授权)