天天看點

oracle資料庫01-連接配接&使用者&權限

     oracle資料庫是oracle(中文名稱叫甲骨文)公司的核心産品,oracle資料庫是一個适合于大中型企業的資料庫管理系統。

     oracle資料庫涉及銀行、電信、移動通信、航空、保險、金融、電子商務和跨國公司等,oracle的市場占有率最高,顯然oracle的主要使用者涉及面非常廣。

     oracle産品是免費的,可以在oracle官方網站上下載下傳到安裝包,但是oracle服務是收費的。在java開發中,oracle資料庫是非常理想的選擇。

     oracle公司成立以來,從最初的資料庫版本到oracle7i、oracle8i、oracle9i,oracle10g,oracle11g到oracle12c雖然每一個版本之間的操作都存在一定的差别,但是oracle對資料的操作基本上都遵循sql标準。是以對oracle開發來說版本之間的差别不大。(以後都為oracle12c下操作)……

     oracle同mysql一樣,資料庫軟體和用戶端軟體是分開的。mysql是基于資料庫的,即每個項目可以建立一個單獨的資料庫。oracle是基于使用者的,即在oracle中隻建立一個資料庫,在該資料庫中位每個項目建立一個使用者,每個使用者使用自己建立的資料表。

     oracle資料庫安裝後的全局資料庫名是資料庫在伺服器網絡中的唯一辨別。

     安裝過程中的密碼管理中,可以對資料庫使用者設定密碼,設定是否鎖定。

     oracle中為管理者預置了兩個使用者分别是sys和system,密碼為全局資料庫密碼。sys相當于老闆,system相當于總經理,所有的資源都是sys使用者的,system可以調配這些資源。oracle用戶端使用使用者名和密碼登入oracle系統後才能對資料庫操作。

  

     sql*plus指令行用戶端,在windows的cmd中:

     連接配接資料庫指令: conn 使用者名/密碼 as連接配接身份@伺服器連接配接字元串

oracle資料庫01-連接配接&使用者&權限

    連接配接身份:表示該使用者連接配接後擁有的權限。(sysdba、sysoper、normal)

      sysdba: 即資料庫管理者,權限包括:打開資料庫伺服器、關閉資料庫伺服器、備份資料庫、恢複資料庫、日志歸檔、會話限制、管理功能、建立資料庫。sys使用者 必須用sysdba身份才能登入,system使用者可以用普通身份登入。

      sysoper:即資料庫操作員,權限包括:打開資料庫伺服器、關閉資料庫伺服器、備份資料庫、恢複資料庫、日志歸檔、會話限制。

      normal:即普通使用者,權限隻有查詢某些資料表的資料。預設的身份是normal使用者。

   伺服器連接配接字元串:

     用戶端工具可以根據“伺服器連接配接字元串”對伺服器進行連接配接,有了連接配接字元串後用戶端就可以像操作本機一樣操作遠端資料庫,是以“伺服器連接配接字元串”的配置也叫本地網絡服務配置,如果sql*plus工具啟動在伺服器上,并且伺服器上隻有一個資料庫執行個體的情況下,連接配接字元串可以預設,在連接配接字元串中包括連接配接伺服器的協定,伺服器的位址伺服器的端口等設定,oracle服務名等,該配置檔案在oracle安裝目錄下的:

network/admin/ tnsnames.ora。

oracle資料庫01-連接配接&使用者&權限

    oracle的服務:oracleserviceorcl和oracleoradb12home1tnslistener;

       oracleserviceorcl該服務是oracle資料庫啟動的基礎,隻有該服務啟動了,oracle資料庫才能正常啟動。這是必須啟動的服務。

       oracleoradb12home1tnslistener該服務是伺服器端為用戶端提供的監聽服務,隻有該服務在伺服器上正常啟動,用戶端才能連接配接到伺服器。該監聽服務接收用戶端發出的請求,然後将請求傳遞給資料庫伺服器。一旦建立了連接配接,用戶端和資料庫伺服器就能直接通信了。

   oracle啟動和關閉:startup open; shutdown immediate;

   oracle資料庫中,預設情況下,所有系統的資料,sql關鍵字等都是大寫的,在操作過程中,oracle會自動把這些内容轉換為大寫,是以使用者操作時不需考慮大小寫問題,一般情況下,為了良好的程式風格,程式中建議關鍵字用大寫,非關鍵字可以使用小寫。

   oracle中,一般不會輕易在一個伺服器上建立多個資料庫,在一個資料庫中,不同的項目由不同的使用者通路,每一個使用者擁有自身建立的資料庫對象,是以使用者的概念在oracle中非常重要。oracle的使用者可以用create user指令來建立。

 create user 使用者名 identified by 密碼(密碼) [account lock|unlock]

  eg:create user tskk identified by tskk123 account unlock;

  修改使用者的密碼:alteruser 使用者名 identified by 新密碼;

  修改使用者處于鎖定(非鎖定)狀态:alter user

使用者名 account lock|unlock;

     oracle使用者對資料庫管理或對象操作的權利,分為系統權限和資料庫對象權限。

        系統權限比如:create session,create table等,擁有系統權限的使用者,允許擁有相應的系統操作。

        資料庫對象權限,比如對表中的資料進行增删改操作等,擁有資料庫對象權限的使用者可以對所擁有的對象進行對應的操作。

      oracle在sql*plus中的指令以分号(;)結尾,代表指令完畢并執行,系統同時會把該指令儲存在緩存中,緩存中隻儲存最近執行過的指令,如果重新執行緩存中的指令,直接使用左斜杠符号(/)。如果指令不以分号結尾,該指令隻是寫入緩存儲存起來,但并不執行。使用ed指令可以打開緩沖區。

       connect角色:主要應用在臨時使用者,特别是那些不需要建表的使用者,通常隻賦予他們connect role。connect是使用oracle的簡單權限,擁有connect角色的使用者,可以與伺服器建立連接配接會話(session,用戶端對伺服器連接配接,稱為會話)。

      resource角色:更可靠和正式的資料庫使用者可以授予resourcerole。resource提供給使用者另外的權限以建立他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)等。      dba角色:dba role擁有所有的系統權限----包括無限制的空間限額和給其他使用者授予各種權限的能力。使用者system擁有dba角色。

      dba角色:dba role擁有所有的系統權限----包括無限制的空間限額和給其他使用者授予各種權限的能力。使用者system擁有dba角色。

     授予角色給使用者:grant角色|權限 to 使用者(角色)

     回收權限:revoke 角色|權限 from 使用者(角色)