Oracle 登陸認證及密碼修改

  • oracle忘了sys,system,scott密碼後怎麼辦?

用sys登錄sqlplus,修改system,scott的密碼(密碼不能全是數字,而且不能是數字開頭。不然會出現:ORA-00988: 口令缺失或無效):linux

  1. cmd;
  2. sqlplus;
  3. sys as sysdba

  1. 用sys用戶修改system,scott的密碼

Alter  user  system  identified  by  system;sql

Alter  user  scott   identified by   tiger;數據庫

再鏈接到sys用戶安全

Conn sys as sysdba(讓輸入口令時直接回車)服務器

  1. 用system用戶也可使用alter user 命令修改sys的密碼

alter user sys identified by sysadminoracle

  1. sys用戶的登錄方式(XP下unix下好像不能夠這麼靈活)

  1. orapwd命令設置sys密碼

前提是要設置非OS認證ide

orapwd file=E:\oracle\product\10.2.0\db_spa

1\database\PWDorcl.ora  password=sysadmin操作系統

  1. 查詢dba權限的用戶

select * from v$pwfile_users;sys,system執行).net

  1. 一個很重要的命令,用於查詢系統的一些設置參數

show parameter [REMOTE_LOGIN_PASSWORDFILE]

  1. WIN系統下oracle的密碼管理機制

在Oracle數據庫實例的初始化參數文件中,REMOTE_LOGIN_PASSWORDFILE此參數控制着密碼文件的使用及其狀態。它能夠有如下幾個選項:

NONE:指示Oracle系統不使用密碼文件,特權用戶的登陸經過操做系統進行身份驗證;

EXCLUSIVE:指示只有一個數據庫實例可使用此密碼文件。只有在此設置下的密碼文件能夠包含有除INTERNAL/SYS之外的用戶信息,即容許將系統權限SYSOPER/SYSDBA授予除INTERNAL/SYS之外的其餘用戶。

SHARED:指示可有多個數據庫實例可使用此密碼文件。在此設置下只有INTERNAL/SYS賬號能被密碼文件識別,即便文件中存有其餘用戶的信息,也不容許他們以SYSOPER/SYSDBA的權限登陸。此設置爲缺省值。

在REMOTE_LOGIN_PASSWORDFILE參數設置爲EXCLUSIVE、SHARED狀況下,Oracle系統搜索密碼文件的次序爲:

在系統註冊庫中查找ORA_SID_PWFILE參數值(它爲密碼文件的全路徑名);

若未找到,則查找ORA_PWFILE參數值;

若仍未找到,則使用缺省值ORACLE_HOME\DATABASE\PWDSID.ORA;其中的SID表明相應的Oracle數據庫系統標識符。

認證過程:

os認證

    Oracle安裝以後默認狀況下是啓用了os認證的,這裏提到的os認證是指服務器端os認證。os認證的意思把登陸數據庫的用戶和口令校驗放在了操做系統一級。若是以安裝oracle時的用戶登陸os,那麼此時在登陸oracle數據庫時不須要任何驗證,如:

    SQL> connect /as sysdba

    已鏈接。

    SQL> connect sys/aaa@dmt as sysdba

    已鏈接。

    SQL> connect sys/bbb as sysdba

    已鏈接。

    SQL> connect aaa/bbb as sysdba

    已鏈接。

    SQL> show user

    USER 爲 "SYS"

    SQL>

    不論輸入什麼用戶(哪怕這個用戶如aaa在數據庫中根本不存在),只要以sysdba權限鏈接數據庫,均可以鏈接上,而且鏈接用戶是sys,這樣很方便,有時候,若是忘記了數據庫的密碼,而又想登陸數據庫,能夠經過這種方式,前提是在數據庫服務器上;可是方便的同時也帶來了一些安全隱患,因而不少人想屏蔽 os認證,在win下只要把oracle_home/NETWORK/admin/sqlnet.ora中的 SQLNET.AUTHENTICATION_SERVICES= (nts)nts改爲none或者註釋掉這句話(在前面加上#),就能夠屏蔽os功能,要想以sys用戶連上數據庫必須輸入正確的sys口令,如:

    SQL> connect /as sysdba

    ERROR:

    ORA-01031: 權限不足

    SQL> connect sys/aaa as sysdba

    ERROR:

    ORA-01017: 用戶名/口令無效; 登陸被拒絕

    SQL> connect aaa/bbb as sysdba

    ERROR:

    ORA-01031: 權限不足

    SQL> connect sys/system as sysdba

    已鏈接。

    SQL>

或者能夠把oracle的安裝用戶從組ora_dba中刪除掉,固然也能夠直接把ora_dba這個組也刪除,均可以屏蔽os功能。在 unix/linux下也能夠在文件sqlnet.ora中增長SQLNET.AUTHENTICATION_SERVICES=(none)以及刪除 dba(groupdel dba)組或者把oracle用戶從dba組中刪除均可以屏蔽os認證。利用這兩種方法屏蔽os功能彷佛總有些讓人不放心,或者說不能讓人徹底信服,由於畢竟系統管理員仍是能夠建立ora_dba or dba組以及修改sqlnet.ora文件,如何完全屏蔽os功能

PL/SQL developer登錄數據庫(本地或者遠程)

11.一、本地要安裝客戶端,使用oracle免費發放的instant client來代替oracle client,免去了安裝的麻煩,下載instantclient-basiclite-nt-11.2.0.2.0.zip解壓到你想要放到的任何目錄,如:D:\oracle\instantclient_11_2,建立一個名叫tnsnames.ora的文件,放到該目錄下,能夠先建立成txt文檔,保存完下面的內容再把擴展名.txt去掉:

11.二、配置本地tnsnames.ora(oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora)文件(最好能從對應的服務器上拷貝到本地)也能夠本身配置

ORCL =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = XP-201108211522)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )

    11.三、安裝PL/SQL Developer

在Tools->Perference->Connection裏面設置OCI Library和Oracle_Home,例如本機設置爲:

Oracle Home :OraDb10g_home1

OCI Library :E:\oracle\product\10.2.0\db_1\bin\oci.dll

    11.四、右擊」個人電腦」 – 「屬性」 – 「高級」 – 「環境變量」 – 「系統環境變量」:

1>.選擇」Path」 – 點擊」編輯」, 把 「D:\Oracle\instantclient_11_2;」 加入;

2>.點擊」新建」, 變量名設置爲」TNS_ADMIN」, 變量值設置爲」D:\Oracle\instantclient_11_2;」, 點擊」肯定」;

3>.點擊」新建」, 變量名設置爲」NLS_LANG」, 變量值設置爲」AMERICAN_AMERICA.ZHS16GBK」, 點擊」肯定」;

語言設置:

select userenv('language') nls_lang from dual; --SIMPLIFIED CHINESE_CHINA.ZHS16GBK

相關文章
相關標籤/搜索