近來重裝了計算機(雙系統windows10+ubuntu16),順帶著也把software升級一下,結果安裝最新的oracle12c,出現了一系列問題,我不喜歡折騰,曾經L說過我,喜歡啥折騰,浪費時間,金錢可以解決的,就讓自己輕松一下,這次安裝oracle12c后,登錄名和口令怎么也不對,有折騰了一上午。
oracle12c 安裝 使用可以看看這篇文章。
Oracle 12c Windows安裝、介紹及簡單使用(圖文)
oracle12c,感覺變化了好多,首先記得打開一下oracle服務,在計算機,管理,服務中。SQL server如果不開啟服務,也進不去,oracle也應該差不多。
主要二個問題:
1.0 SQL plus登陸,出現用戶名/口令無效; 登錄被拒絕問題。
2.0 SQL developmer登陸出現 Oracle the network adapter could not establish the connection 的問題。
問題如圖:
如果你也出現這樣的問題,那就來對地方了。嘻嘻,我可是花了一上午的時間解決的。
網上看了10多篇教程,在自己的隨機應變下終于搞定了。特此寫一篇博客,方便遇到同樣問題的小伙伴。
解決主要參考了這二篇文章
異常: The Network Adapter could not establish the connection解決方案
Oracle the network adapter could not establish the connection
先仔細看看這二篇文章,如果問題解決了,就可以離開了
遺憾的是,我按照二篇文章做了,還是不行,畢竟oracle12界面變了好多,只能一個個嘗試了,最終ok了**
首先我進行了lsnrctl命令
結果如下:
C:\Users\dflx>lsnrctl
LSNRCTL for 64-bit Windows: Version 12.2.0.1.0 - Production on 18-10月-2017 16:19:38
Copyright (c) 1991, 2016, Oracle. All rights reserved.
歡迎來到LSNRCTL, 請鍵入"help"以獲得信息。
LSNRCTL> status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
TNS-12541: TNS: 無監聽程序
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽程序
64-bit Windows Error: 61: Unknown error
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=58.195.5.164)(PORT=1521)))
TNS-12543: TNS: 無法連接目標主機
TNS-12560: TNS: 協議適配器錯誤
TNS-00513: 不能連接的終點主機
64-bit Windows Error: 51: Unknown error
LSNRCTL>
發現和文章所說一樣,感覺看到了希望,可是找oracle12安裝目錄,。。。。。。,windows10文件存放不一樣了,oracle12也是最新的,找了半天,什么everything搜索也沒有找到\bin目錄,修改注冊表也就算了。
首先應該登陸 SQL plus.
網上可以找到三種默認登陸
說一種:id:system 。passward:manager。
如果不行,就按照下面的默認登陸。
id:sqlplus / as sysdba passward:manager.
接著查看用戶
select username from dba_users;
結果:
SYS
SYSTEM
XS$NULL
OJVMSYS
LBACSYS
OUTLN
SYS$UMF
DBSNMP
APPQOSSYS
DBSFWUSER
GGSYS
ANONYMOUS
CTXSYS
SI_INFORMTN_SCHEMA
DVSYS
DVF
GSMADMIN_INTERNAL
ORDPLUGINS
MDSYS
OLAPSYS
ORDDATA
XDB
WMSYS
ORDSYS
GSMCATUSER
MDDATA
SYSBACKUP
REMOTE_SCHEDULER_AGENT
GSMUSER
SYSRAC
AUDSYS
DIP
C##DFLX
SYSKM
ORACLE_OCM
SYSDG
SPATIAL_CSW_ADMIN_USR
創建用戶
格式為: create user user_name identified by passward;
create user master identified by zxk123456789;
出現下面錯誤:
在行: 3 上開始執行命令時出錯 -
create user master identified by zxk123456789
錯誤報告 -
SQL 錯誤: ORA-65096: 公用用戶名或角色名無效
65096. 00000 - "invalid common user or role name"
*Cause: An attempt was made to create a common user or role with a name
that was not valid for common users or roles. In addition to
the usual rules for user and role names, common user and role
names must start with C## or c## and consist only of ASCII
characters.
*Action: Specify a valid common user or role name.
原因大概說一下:
oracle 12c推出了可插拔庫,管理用戶也分為兩種:本地用戶和公用用戶。本地用戶是指在插拔數據庫(PDB)中的用戶,和12c之前的版本沒有什么區別。公用用戶只存在于可插拔環境中,在傳統的數據庫環境中不存在這種應用。怎么理解公用用戶呢?可以簡單的把它當做容器(CDB)用戶,可以在各個通用與所有可插拔數據庫(PDB)中使用。
參考文章: 12c 創建公用用戶和本地用戶
所以解決方法如下:用戶名前面加上c##
create user c##master identified by zxk123456789;
結果
User C##MASTER 已創建。
重要的授權,oracle權限很重要,我喜歡上帝權限
grant connect,resource,dba to c##master;
結果
Grant 成功。
更多東西可以參考 Oracle-04-用SQL*PLUS創建用戶&新用戶授權等
修改用戶名和密碼:
格式為:
update user$ set name='MY_USER2' where name='MY_USER1';
我好像失敗了:
在sqlplus中操作如下:
SQL> update user$ set name='master' where name='c##master';
已更新 0 行。
在客戶端進行,錯誤是這樣的。
SQL 錯誤: ORA-00942: 表或視圖不存在
00942. 00000 - "table or view does not exist"
*Cause:
*Action:
準備嘗試一下如下語句:
update dba_users set username='master' where username='c##master';
結果:
SQL 錯誤: ORA-01031: 權限不足
01031. 00000 - "insufficient privileges"
*Cause: An attempt was made to perform a database operation without
the necessary privileges.
*Action: Ask your database administrator or designated security
administrator to grant you the necessary privileges
有想著sql plus 登陸,使用dba執行上面語句,結果
第 1 行出現錯誤:
ORA-01031: 權限不足
好像還是權限的問題。
修改密碼:
格式如下:alter user 用戶名 identified by 新密碼;
我的操作如下:
alter user c##master identified by mm123456;
結果:
User C##MASTER已變更。
sql plus鏈接成功。
請輸入用戶名: c##master
輸入口令:
連接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
在說一下最重要的 SQL developer鏈接,
如果按照上面那篇文章:Oracle the network adapter could not establish the connection
進行操作了,還是解決不了問題,那就在看看下面的東西,或許會有用。
鏈接名,應該隨意,我默認和用戶相同。用戶名和口令,你可以安裝上面的講解,通過SQL plus自己創建一個。---重點:把選擇類型改成本地/繼承。##################我就是這樣成功了,如果還不行,在試一試,oracle12c界面其它的選擇,我感覺它們很有用。
近來又出現協議適配器錯誤
監聽服務沒有起起來。windows平臺個一如下操作:開始---程序---管理工具---服務,打開服務面板,啟動oraclehome92TNSlistener服務。
看文章 Oracle協議適配器錯誤解決辦法 解決了
同是天涯淪落人,相逢何必曾相識。
文章如果解決了你的問題,喜歡一下,嘻嘻。
今天沒有跑步,沒有。。。。。,電腦終于基本按照好了。