oracle資料庫逐步學習總結

来源:https://www.cnblogs.com/sunshine5683/archive/2018/12/03/10059955.html
-Advertisement-
Play Games

本文力在從oracle的基礎出發,從oracle的基礎結束,從資料庫的連接、用戶管理、sqlplus使用、plsql工具、存儲過程、函數、包、觸發器等一個DBA經常進行的操作與維護方面入手,旨在從這條最淺顯易懂的學習道路上,瞭解oracle的日常使用。相信對於初學者是個不錯的選擇,也希望自己的這篇整... ...


 

原創作品,轉載請在文章開頭顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10059955.html

一、oracle的基本命令

1、連接命令

用法:conn 用戶名/密碼 @網路服務名 as sysdba/sysoper

2、disc[onnection] 斷開與當前資料庫的連接

3、passw[ord]:修改用戶密碼,修改其他用戶密碼,需要sys/system用戶

4、show user:顯示當前登錄用戶

5、exit/quit:退出sqlplus,同時斷開連接

二、文件操作命令

1、start和@ :運行sql腳本

 

2、spool : 將屏幕上的內容輸出到制定的文件中去,註意,該命令只有spool off了才可以在文件中看到內容

查看內容

 

三、互動式命令

1、&  :可以替代變數,該變數在執行時候需要用戶輸入參數

2、edit :用於編輯指定的sql腳本

 

四、用戶管理

1、創建用戶:需要sys或者system用戶,create user xiaoming identified by 123; 創建的新用戶沒有任何許可權,需要賦予許可權

 

2、修改密碼:password

 

3、賦予許可權:grant connect to xiaoming  //賦予小明連接登錄資料庫的許可權(此處connect其實是一種角色)

       grant resource to xiaoming  //賦予小明創建數據表的許可權

 

      grant select on scott.emp to xiaoming //賦予小明查詢emp表的許可權,此時,小明可以通過select * from scott.emp 訪問emp表,但是不能直接訪問,即select * from emp,因為emp是scott用戶的,小明只有訪問許可權,而不是小明自己的表,只有自己的表才可以直接訪問

      grant update on scott.emp to xiaoming //賦予修改表的許可權

      grant all on scott.emp to xiaoming //將該表的所有訪問與修改等的許可權賦予小明

註意:賦予一張表的許可權給其他用戶只有該數據表的創建者才可以,其他用戶都是不可以的。

 

4、許可權主要有:select、insert、delect、update、all、create index

5、如果希望小明可以去查詢scott.emp,也希望小明可以將該查詢許可權授予其他用戶,那麼就使用到了對象許可權,即在授權的後面加上 with grant option,也就是:

sql> grant select on scott.emp to xiaoming with grant option;

 

註意:以上的scott.emp 可以直接寫出emp,因為授權者是scott,而該表也是scott自己的表,但是如果授權者不是scott,則必須寫出scott.emp,比如此時小明也有將emp表的查詢許可權授予其他用戶的權利,但是小明要給其他用戶授權,就必須攜程scott.emp,不能攜程emp,否則會報錯:表或者視圖不存在!

如果是系統許可權,則:system給小明許可權時候:grant connect to xiaoming with admin option, 此時小明就可以給其他用戶授予連接資料庫的許可權

 

6、收回許可權:revoke select on scott.emp from xiaoming;

註意:收回其他用戶訪問數據表的許可權只有該數據表的創建者才可以,其他用戶都是不可以的。如果將小明的許可權收回,那麼小明給其他用戶授予的許可權也一併沒有了!

 

7、刪除用戶:drop user 用戶名,  註意,在刪除用戶時候,如果該用戶已經創建了表,那麼刪除用戶的時候需要加上cascade,即:drop user 用戶名 cascade,用於刪除用戶以及該用戶創建的表(級聯刪除)

 

8、使用profile管理用戶口令(一般使用dba許可權執行)

sql> create profile lock_account limit  filed_login_attempts 3 password_lock_time 2  // 創建口令限制文件,意思是如果密碼輸入錯誤三次,那麼鎖死,鎖定時間為2天,然後再次登錄,如果在兩天之內,就算輸入正確的密碼,也是無法登錄,因為在兩天之內該賬號是鎖定狀態。

sql> alter user xiaoming  profile lock_account;   //給小明用戶限定

 

用戶解鎖:

sql> alter user xiaoming account unlock; //給小明用戶解鎖,不至於小明賬號被鎖死之後兩天內真的不能登錄,但是該命令同樣需要system為小明解鎖,如果不解鎖,就只能等兩天了!

 

終止口令:為了讓用戶在規定時間內修改密碼,同樣也需要dba身份

sql> create profile myprofile limit password_life_time 10 password_grace_time 2;//創建口令文件myprofile,限定用戶每隔10天修改登錄密碼,寬限期為2天,如果時間到了沒有修改,那麼斷開該用戶的連接,同時要求修改密碼!

sql> alter user xiaoming profile myprofile;//將小明用戶應用限制文件

 

口令歷史: 如果在用戶修改密碼時候,不能使用以前用過的密碼,那麼可以使用口令歷史,oracle會將口令修改的信息放到數據字典,進行密碼判斷

sql> create profile password_history_limit password_life_time 10 password_grace_time 2 password_reuse_time 10 //簡歷口令文件

其中:password_reuse_time 10:  指定口令可重用時間,即10天後就可以重用

然後分配給某個用戶

 

口令文件的刪除:當某個口令文件不想使用了,可以將其刪除!

sql> drop profile password_history_limit cascade

其中cascade表示該口令文件如果已經分配給了用戶,那麼就的加上cascade

 

五、oracle表管理 (下一篇繼續.....)

 


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

-Advertisement-
Play Games
更多相關文章
  • 【通用命令】 1.創建文件夾 mkdir -p xxx 2.解壓包 tar -zxvf xxxx.tar.gz 3.縮文件 tar zcvf 壓縮包名稱.tar.gz 要壓縮的文件 4.動命令 mv 文件 移動到的位置 5添加服務 chkconfig --ad 6賦權 chmod -R 777 xx ...
  • 忘記root密碼 如果不小心忘記了root密碼,那麼mysql就不能再登錄了,這時就要重置root密碼才行。通過下麵的步驟,我們可以重新設置root密碼。 1、退出mysql [root@localhost src]# service mysqld stop 停止mysqld: [確定] [root ...
  • 1. 啟動過程中的記憶體初始化 首先我們來看看start_kernel是如何初始化系統的, start_kerne定義在 "init/main.c?v=4.7, line 479" 其代碼很複雜, 我們只截取出其中與記憶體管理初始化相關的部分, 如下所示 table th:nth of type(1){ ...
  • diff 命令是 linux上非常重要的工具,用於比較文件的內容,特別是比較兩個版本不同的文件以找到改動的地方。diff在命令行中列印每一個行的改動。最新版本的diff還支持二進位文件。diff程式的輸出被稱為補丁 (patch),因為Linux系統中還有一個patch程式,可以根據diff的輸出將 ...
  • 前言:本篇博客是博主踩過無數坑,反覆查閱資料,一步步搭建完成後整理的個人心得,分享給大家~~~ 本文所需的安裝包,都上傳在我的網盤中,需要的可以打賞博主一杯咖啡錢,然後私密博主,博主會很快答覆呦~ 00.組件版本和配置策略 00-01.組件版本 Kubernetes 1.10.4 Docker 18 ...
  • (+)在等號的左邊表示右連接; (+)在等號的右邊表示左連接。 右連接 RIGHT JOIN 左連接 Left join ...
  • 上篇我們說了 SQL 的基本語法,掌握了這些基本語法後,我們可以對單表進行查詢及計算分析。但是一個大的系統,往往會有數十上百張表,而業務關係又錯綜複雜。我們要查的數據往往在好幾張表中,而要從多張表中來獲取信息就需要用到表聯結了。 先說說什麼是聯結,聯結就是用一條 SELECT 語句從多個表中查詢數據 ...
  • ***********模糊查詢*********/ 關鍵字: like (!!!!字元串類型) in (,,) 匹配()內的某個具體值(括弧里可以寫多個值) between... and.. 在某兩個值的區間範圍中(前後都包括,小的寫前面,大的寫後面) **********通配符********/ ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...