ORACLE口令管理

来源:http://www.cnblogs.com/kerrycode/archive/2016/08/06/5744995.html
-Advertisement-
Play Games

口令文件介紹 在ORALCE資料庫系統中,用戶如果要以特權用戶身份(SYS/SYSDBA/SYSOPER)登錄ORALCE資料庫可以有兩種身份驗證的方法:即使用與操作系統集成的身份驗證或使用ORALCE資料庫的密碼文件進行身份驗證。因此,管理好密碼文件,對於控制授權用戶從伺服器本機或遠端登錄Orac... ...


口令文件介紹

    在ORALCE資料庫系統中,用戶如果要以特權用戶身份(SYS/SYSDBA/SYSOPER)登錄ORALCE資料庫可以有兩種身份驗證的方法:即使用與操作系統集成的身份驗證或使用ORALCE資料庫的密碼文件進行身份驗證。因此,管理好密碼文件,對於控制授權用戶從伺服器本機或遠端登錄Oracle資料庫系統,執行資料庫管理工作,具有重要的意義.

 

    ORALCE口令文件用於存儲擁有部分特權用戶(sys等用戶)的口令(註意:普通賬號密碼是不會存儲在口令文件的)。允許用戶通過口令文件驗證,在資料庫未啟動之前登陸,從而啟動資料庫。如果沒有口令文件,在資料庫未啟動之前就只能通過操作系統認證.口令文件存放在$ORACLE_HOME/dbs目錄下(linux,window放在database),預設名稱是orapw$ORACLE_SID。即密碼文件位置:

    Linux下的存放位置:$ORACLE_HOME/dbs/orapw<sid>.ora

    Windows下的存放位置:$ORACLE_HOME/database/PW%ORACLE_SID%.ora

 

口令文件管理

 

1:口令文件成員查看

SQL> SELECT * FROM V$PWFILE_USERS;
 
USERNAME                       SYSDBA SYSOPER
------------------------------ ------ -------
SYS                            TRUE   TRUE

 

如果查詢該視圖沒有的記錄的話,那麼這是什麼情況呢?出現這種情況,一般是口令文件被刪除或移走。 例如如下操作所示:

oracle@DB-Server ~]$ 
[oracle@DB-Server ~]$ cd $ORACLE_HOME/dbs
[oracle@DB-Server dbs]$ mv orapwgsp  /tmp
[oracle@DB-Server dbs]$ sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.1.0 Production on Thu Aug 4 17:43:39 2016
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
SQL> SELECT * FROM V$PWFILE_USERS;
 
no rows selected
 
SQL> 

clip_image001

 

ORACLE使用操作系統集成的身份驗證或使用密碼驗證,這個類似SQL SERVER中的Windows身份驗證和SQL Server驗證方式,那麼使用哪種方式登錄資料庫是由兩個參數控制的。

 

1:ORACLE提供的一個參數remote_login_passwordfile,remote_login_passwordfile有none,shared,exclusive3個值:

   none表示不使用口令文件;

   exclusive表示實例獨占使用口令文件,也就是各自實例使用單獨的口令文件,

   shared表示多個實例共用一個口令文件

 

2:sqlnet.ora裡面的參數SQLNET.AUTHENTICATION_SERVICES

 

SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)

    none : 表示關閉操作系統認證,只能密碼認證

    all : 用於linux或unix平臺,關閉本機密碼文件認證,採用操作系統認證,但遠程<異機>可以使用密碼文件認證

    nts : 用於windows平臺

 

 

2:使用操作系統集成的身份驗證登錄資料庫

 
[oracle@DB-Server ~]$ 
[oracle@DB-Server ~]$ cd /u01/app/network/admin/
[oracle@DB-Server admin]$ more sqlnet.ora 
# sqlnet.ora Network Configuration File: /u01/app/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
 
ADR_BASE = /u01
[oracle@DB-Server admin]$ vi sqlnet.ora 
# sqlnet.ora Network Configuration File: /u01/app/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
 
ADR_BASE = /u01
SQLNET.AUTHENTICATION_SERVICES=all

 

其實預設情況,參數文件sqlnet.ora裡面並沒有配置SQLNET.AUTHENTICATION_SERVICES這個參數,預設表示操作系統認證,如果配置文件sqlnet.ora 裡面有SQLNET.AUTHENTICATION_SERVICES=none, 那麼設置為SQLNET.AUTHENTICATION_SERVICES=all 即可啟用操作系統集成的身份驗證登錄資料庫

[oracle@DB-Server admin]$ more sqlnet.ora 
# sqlnet.ora Network Configuration File: /u01/app/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
 
ADR_BASE = /u01
SQLNET.AUTHENTICATION_SERVICES=none
[oracle@DB-Server admin]$ sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 6 21:30:23 2016
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
ERROR:
ORA-01031: insufficient privileges
 
 
Enter user-name: 

clip_image002

 

3:改變OS認證為口令認證

 

SQLNET.AUTHENTICATION_SERVICES = none | all | ntf(windows)

none : 表示關閉操作系統認證,只能密碼認證

all : 用於linux或unix平臺,關閉本機密碼文件認證,採用操作系統認證,但遠程<異機>可以使用密碼文件認證

nts : 用於windows平臺

在sqlnet.ora文件裡面,增加SQLNET.AUTHENTICATION_SERVICES= (none)

[oracle@DB-Server admin]$ vi sqlnet.ora 
 
# sqlnet.ora Network Configuration File: /database/product/dbhome_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
 
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.AUTHENTICATION_SERVICES= none

參數remote_login_passwordfile僅僅表示遠程登錄資料庫時,是否使用密碼驗證。當remote_login_passwordfile=none並且SQLNET.AUTHENTICATION_SERVICES= (none)時,遠程和本機都無法登錄資料庫。

SQL> alter system set remote_login_passwordfile=none scope=spfile;
 
System altered.
 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
 
Total System Global Area 1090519040 bytes
Fixed Size                  1218920 bytes
Variable Size             234882712 bytes
Database Buffers          838860800 bytes
Redo Buffers               15556608 bytes
Database mounted.
Database opened.
SQL> 

此時從遠程客戶端登錄:此處實際上是無法通過口令文件驗證

C:\Users\kerry>sqlplus "sys/kkk123456@mydb as sysdba"
 
SQL*Plus: Release 11.2.0.1.0 Production on 星期五 1月 11 15:37:45 2013
 
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
 
ERROR:
ORA-01017: invalid username/password; logon denied
 
 
SQL> alter system set remote_login_passwordfile=exclusive scope=spfile;                                
 
System altered.
 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
 
SQL> startup
ORACLE instance started.
 
Total System Global Area 1090519040 bytes
Fixed Size                  1218920 bytes
Variable Size             234882712 bytes
Database Buffers          838860800 bytes
Redo Buffers               15556608 bytes
Database mounted

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 常用的設計模式(一)代理模式應用場景:當一個類的某些功能需要由別的類來實現,但是又不確定具體會是哪個類實現。優勢:解耦合敏捷原則:開放-封閉原則實例:tableview的 數據源delegate,通過和protocol的配合,完成委托訴求。列表row個數delegate自定義的delegate (二 ...
  • 電腦控制Android設備的軟體,Total Control。 ...
  • 聽說之後AFHttpWorking版本可能會影響到蘋果的審核,今天下了最新版本的AFHttpWorking,並且做了簡單的封裝,我這裡是通過cocoapods下載了兩個工具 1=AFHttpWorking 2=JSONKit 為什麼要下jsonkit勒,以前json解析都使用touchjson,偶然 ...
  • Handler機制的原理 Android 的 Handler 機制(也有人叫消息機制)目的是為了跨線程通信,也就是多線程通信。之所以需 要跨線程通信是因為在 Android 中主線程通常只負責 UI 的創建和修改,子線程負責網路訪問和耗時操作, 因此,主線程和子線程需要經常配合使用才能完成整個 An ...
  • 佈局 selector 第一種方式 第二種方式 ...
  • 一般我們可以使用sql server自帶的性能分析追蹤工具sql profiler分析資料庫設計所產生問題的來源,進行有針對性的處理。但我們也可以通過自己寫SQL語句來有針對性的進行性能方面的查詢。通常會用到如下三個系統視圖:sys.sysprocesses ,dm_exec_sessions ,d ...
  • 下麵和大家分享一個比較經典的場景,資料庫的面試題目,主要的表是學生、課程、成績、教師四張表,本示例的特點是有模擬數據,加深理解和印象,答案主要基於Oracle來實現的 1、四張表分別為: 2、題目要求 3、在資料庫建表 /* */ /* CREATE TABLE */ /* */ --學生表 CRE ...
  • 目標 理解線上部署考慮的因素 學會編譯安裝以及二進位安裝mysql 學會升級mysql 學會多實例部署mysql資料庫 學會合理部署mysql線上庫 考慮因素: 版本選擇,5.1,5.5還是5.6? 分支選擇,官方社區版?percona server?mariadb? 推薦官方版,簡單易上手 安裝方 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...