用sys登錄sqlplus,修改system,scott的密碼(密碼不能全是數字,而且不能是數字開頭。不然會出現:ORA-00988: 口令缺失或無效):linux
Alter user system identified by system;sql
Alter user scott identified by tiger;數據庫
再鏈接到sys用戶安全
Conn sys as sysdba(讓輸入口令時直接回車)服務器
alter user sys identified by sysadminoracle
前提是要設置非OS認證ide
orapwd file=E:\oracle\product\10.2.0\db_spa
1\database\PWDorcl.ora password=sysadmin操作系統
select * from v$pwfile_users;(sys,system執行).net
show parameter [REMOTE_LOGIN_PASSWORDFILE]
在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