Oracle19c客户端连12c服务器,win10安装oracle19c后,配置
客户端(n。。。
背景:下载了oracle19c的windows安装包,解压在C:\a_file\WINDOWS.X64_193000_db_home,运⾏⽬录⾥的启动安装,oracle⽬录设在C:\a_software\oracle 。
1.启动navicat12进⾏连接,报ORA-12541:TNS:no listener错误
是a⽂件没配置的问题,接下来进⾏配置:
为什么oracle网站进不去(1)⽂件在哪?
⽂件在oracle的home⽬录,即解压⽂件夹(C:\a_file\WINDOWS.X64_193000_db_home),的\network\admin下⾯。
注:oracle安装包的解压⽂件夹就是oracle的home⽬录了,安装前就应该规划好⽂件夹名和硬盘路径,不要像我⼀样忘了。
(2)配置什么?
原来只有 HOST = localhost 这⼀个配置,再加⼀个配置,把 localhost 改成本地ip
(3)重启oracle监听程序
运⾏cmd,输⼊lsnrctl stop命令,报错,当前⽤户⽆权限。
⽤管理员⽅式运⾏cmd,输⼊lsnrctl stop命令,再输⼊lsnrctl start命令,就可以了。
2.再次进⾏连接,报sid或server name未到
(1)还是a⽂件没配置的问题,接下来进⾏配置:
加上红框的部分,SID_NAME为oracle安装时设置的SID,默认是orcl
(2)重启oracle监听程序
3.再次进⾏连接,报ORA-28040: No matching authentication protocol
是oracle服务端 与 oracle客户端版本不匹配的问题。
在oracle服务端修改客户端最低版本可以解决。
(1)到a⽂件
与刚才的a⽂件在同⼀个⽬录。
没有的话,就⼿动新建⼀个txt⽂本,⽂件名改为sqlnet,后缀改为ora。
(2)修改内容
添加
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
这两⾏,不⽤重启数据库,也不⽤重启监听程序。
4.再次进⾏连接,报⽤户名⼝令⽆效
因为改了第三步的a,修改了最低客户端版本。
本地登录⽆影响;但客户端登录想要⽣效,得重新修改密码。
修改⽤户密码:
(1)输⼊ sqlplus / as sysdba
(2)输⼊alter user sys identified by oracle;
蓝⾊的部分,第⼀个是⽤户名,第⼆个是密码
5.navicat登陆成功
(1)要是报⾓⾊错误
点“⾼级”选项卡,把第⼆⾏的⾓⾊改成SYSDBA
(2)创建新⽤户并赋予dba权限
1)运⾏cmd,进⼊oracle命令⾏:
sqlplus / as sysdba
2)在oracle命令⾏,输⼊以下语句:
create user c##dba identified by c##dba;
grant dba to c##dba;
注:为什么⽤c##这么诡异的前缀?
因为默认创建了cdb容器数据库,分为root数据库和其他多个数据库。默认进的root数据库。其他多个数据库:⽤户名不⽤加c##前缀。
—— 在哪个数据库建⽤户,这⽤户就只能在哪个数据库⽤。
root数据库:⽤户名就得加c##前缀。
—— 这⽤户在哪个数据库都能⽤。因此,加这前缀也是为了区分⽤户。
—— 听说不启⽤ PDB(其他多个数据库) ,就可以去掉这个前缀限制。