前后大概经历了一个星期,今天下午(先是用的Navicat)当我尝试性的把用户名上方的复选项从服务名换成SID时,竟然瞬间连接成功了,整个人都是蒙B的,这样就好了?
之后我又用PLsql测试了一下,秒进!
想了一下,感觉还是有必要把这次安装的过程记一下,无论是心里路程还是操作过程,对一个刚入职的小程序员来说,还是蛮有必要的!
附:我的安装环境win10、Oracle12c版本2
先从安装Oracle开始:
其实我第一次就安装oracal 12c成功了,开始还可以从https://localhost:5500/em这个页面进去,后来不造什么原因(现在想来可能是后来OracleServiceORCL或OracleDB12Home1TNSListener哪一个没启动)进不去了,还是无知加年轻,一怒之下把安装文件和压缩包全删了(也由于这样有了好多残留和注册文件留到电脑里面),后来就去网上啊,同学那里啊搞了几个PLSql,还有下了几个Oracle11g的版本,安装的一塌糊涂,自己蒙圈了,后来同事帮我也弄蒙圈了,着实尴尬!最后经过一轮不顾后果的大删,还把一度D盘的“Oracle安装”文件也删了==。后来把Oracle相关文件删干净后又下了一次Oracle12c,后来逐渐理清了他们之间的关系,也就水到渠成,一步步接近成功了。
现在我电脑的几个文件及关联:
D:AllAnZhuangBao文件夹,里面存放的是直接从Oracle官网下载过来的12c的压缩包,和解压后的文件(其中D:\AllAnZhuangBao\Oracle12cYaSuoBao\database(只是安装包和解压包所在)下的setup.exe就是开始安装数据库的地方)
在setup.exe启动后,在“典型安装”界面会再次需要提供三个存放相应文件的地址,而这里的三个地址全都对应在D:\app\orcl(也就是Oracle的安装目录,Oracle安装在此文件夹里面)下,注意当时我只建app文件,里面置空;而且第二个能否自动带出还和某个系统变量有关,不过这里我选择的是标准版,期间我大概看了下企业版和标准版的差别,个人电脑装标准版就行,保护电脑硬盘也只能装标准版。
再来说下几个乱乱的工具和“客户端”:
先说无毛病的Navicat:直接从Huaming的固态硬盘安装到 C:\Program Files (x86)\Navicat Premium 桌面有快捷方式;
再说祸之根源PLSql:很简单安装包是D盘的“Oracle安装”文件,安装在了D盘的“Instant Client”文件下;
先讲清楚了几个安装包和安装所在包的关系,再说里面一些配置路径的就容易理解明白了
先看PLSql——tools——首选项——(1)Oracle Home:D:\Instant Client\network\admin(2)OCI library:D:\Instant Client\bin\OCI.DLL
再顺便看Navicat——工具——选项——(1)D:\Instant Client\bin\OCI.DLL(2)D:\Instant Client\network\bin\sqlplus.exe
再看环境变量里面的(1)TNS_ADMIN值D:\Instant Client\bin(2)Path里面安装时自动生成的D:\app\orcl\product\12.2.0\dbhome_1\bin
自此,主要配置就差不多了,再来说一下网上的好多说(1)配置tnsnames.ora文件(2)和打开net configuration assistant配置图像界面的东西,纯属多余和误导
我的安装过程和最后给我理解是:再安装Oracle12c的时候,如果在第三步“安装选项”的时候选择第一个“安装和配置数据库”,它会自动帮你配好tnsnames.ora相关的信息,也就是对应的配置好了对应的图形界面,无需多此一举,
当然这后来也可能会报 [INS-20802] Oracle Database Configuration Assistant 失败 这个错误,这个很好解决,直接跳过,等安装完成后再左下找到并打开Database Configuration Assistant,按照里面要求重新安装配置一次即可,里面的路径和相关信息就是对应你的tnsnames.ora文件和图形界面的;
其中还有可能遇到说Path路径超过最大长度的错,这个的话先把环境变量下的Path路径下的一部分内容拷贝走,再重装Oracle一次,装好后记得把拷走的环境变量给加上Path上就好!
还有一个错Failed to set ACL's for specified User.这个我当时直接跳过,现在也无大碍,到时怀疑会不会跟我现在打不开https://localhost:5500/em页面会不会有关,应该没关系才对!
再看一下navicate的连接信息
连接名好像自己定的,其余都是根据Database Configuration Assistant里面配置的有关!当然以下是遇见最多的错误
该服务对应 %Oracle_Hoem\bin TNSLSNR.EXE
若该服务未启动,或未正确配置(一般正常安装都不会)将会导致Oracle错误- Ora-12514:TNS:无监听程序。
OracleServiceORACLE:
若该服务未启动,将会导致Oracle错误- Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务。
但是,启动了该服务也有可能导致该错误。(又有说要改tnsnames.ora文件的,可我就是如刚开篇说的,把从服务名改成SID就OK了!)