1. 程式人生 > >oracle基礎教程(第一天)

oracle基礎教程(第一天)

一、做專案該用什麼資料庫要考慮哪些方面? 1.專案的規模 2.負載量多大,使用者多大 3.成本 4.安全性 小型資料庫(access、foxbase) 1.負載量小,使用者量在1000人以內,比如留言板,小型資訊系統 2.成本在千元左右 3.對安全性要求不高 中型資料庫(mysql、sql server、informix) 1.負載,日訪問量在5000~15000 2.成本,萬元以內  比如電子商務網站 大型資料庫(sybase、oracle、db2) 1.負載可以處理海量資料 2.成本上萬元,較為昂貴 3.安全性高,通過最高級別安全認證 二、安裝oracle 1.oracle安裝會自動生成sys使用者和system使用者 (1)sys使用者是超級使用者,擁有最高的許可權,具有sysdba角色,有create database的許可權,該使用者預設的密碼是change_on_install (2)system使用者是管理操作員,許可權也很大。具有sysoper角色,沒有create database的許可權,預設的密碼是manager (3)一般講,資料庫維護使用system使用者登入就可以了 三、sql*plus常用命令
1.conn[ect]     用法:conn 使用者名稱/密碼@網路服務名 [as sysdba/sysoper]     當特權使用者身份連線時,必須帶上as sysdba或是as sysoper     SQL>conn system/manager 2.disc[onnect]     說明:該命令用於斷開與當前資料庫的連線 3.passw[ord]     說明:該命令用於修改使用者的密碼。如果要想修改其他使用者的密碼,需要用sys/system登入。 4.show user     說明:顯示當前使用者名稱 5.exit        說明:該命令會斷開與資料庫的連線,同事會退出 6.檔案操作命令
(1)start和@     說明:執行sql指令碼     案例:SQL>@ d:\aa.sql   或者    SQL>start d:\aa.sql (2)edit     說明:該命令可以編輯指定的sql指令碼     案例:SQL>edit d:\aa.sql (3)spool     說明:該命令可以將sql*plus螢幕上的內容輸出到指定的檔案中去     案例:SQL>spool d:\bb.sql  並輸入  SQL>spool off 7.顯示和設定環境變數 概述:可以用來控制輸出的各種格式,set show 如果希望永久的儲存相關的設定,可以去修改glogin.sql指令碼 (1)linesize     說明:設定顯示行的寬度,預設是80個字元     SQL>
show linesize     SQL>set linesize 120 (2)pagesize     說明:設定每頁顯示的行數目,預設是14,用法和linesize一樣 至於其他環境引數的使用也是大同小異 四、oracle使用者的管理 1.建立使用者 概述:在oracle中藥建立一個新的使用者使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用。 SQL>create user xiaoming identified by m123; 2.給使用者修改密碼 概述:如果給自己修改密碼可以直接使用 SQL>password 使用者名稱 概述:如果給別人修改密碼則需要具有dba的許可權,或是擁有alter user的系統許可權 SQL>alter user 使用者名稱 identified by 新密碼 3.刪除使用者 概述:一般以dba的身份去刪除某個使用者,如果用其它使用者去刪除使用者則需要具有drop user的許可權。 比如drop user 使用者名稱 【cascade】 在刪除使用者時注意,如果要刪除的使用者,已經建立了表,那久就需要再刪除時帶一個引數 cascade。 4.給一個普通使用者賦許可權 許可權分為系統許可權和物件許可權 系統許可權是指使用者對資料庫的相關許可權。例如建庫,建表,建索引,建儲存過程,登入資料庫,修改密碼等。grant connect to xiaoming; connect就是一種預定義角色,給xiaoming這個使用者賦予connect角色所具有的許可權。這裡使用到的是系統許可權。
物件許可權是指使用者對其他使用者的資料物件訪問(操作)的許可權。其中,資料物件指使用者建立的表,檢視,儲存過程,觸發器等。 角色分兩種,一種為預定義角色,一種為自定義角色     希望xiaoming使用者去查詢scott使用者中的emp表:需要用到物件許可權的使用。 SQL>grant select on emp to xiaoming      sys和system和scott具有這種賦權的許可權。 希望xiaoming使用者可以去修改、刪除、查詢、新增scott中的emp表 SQL>grant all on emp to xiaoming scott希望收回xiaoming對emp表的查詢許可權 SQL>revoke select on emp from xiaoming 對許可權的維護 希望xiaoming使用者可以去查詢scott的emp表,還希望xiaoming可以把這個許可權繼續給別人 --如果是物件許可權,就加入with grant option SQL>grant select on emp to xiaoming with grant option --如果是系統許可權  system給xiaoming賦權時做如下執行,則xiaoming可以賦予其他人connect的許可權 SQL>grant connect to xiaoming with admin option --如果scottxiaoming對emp表的查詢許可權回收,那麼xiaohong會怎麼樣? 事實證明,xiaoming賦予xiaohong的許可權也被回收了。 5.使用profile管理使用者口令 概述:profile是口令限制,資源限制的命令集合,當建立資料庫時,oracle會自動建立名稱為default的profile,當建立使用者沒有指定profile選項,那oracle就會將default分配給使用者。 (1)帳戶鎖定 概述:指定該帳戶(使用者)登入時最多可以輸入密碼的次數,也可以指定使用者鎖定的時間(天)一般用dba的身份去執行該命令 例如:指定xiaoming這個使用者最多隻能嘗試3次登陸,鎖定時間為2天 建立 profile 檔案 SQL>create profile lock_account limit failed_login_attempts 3 password_lock_time 2; SQL>alter user xiaoming profile lock_account; (2)給帳戶(使用者)解鎖 SQL>alter user xiaoming account unlock; (3)終止口令 為了讓使用者定期修改密碼,可以使用終止口令的指令來完成,同樣這個命令也需要dba身份來操作。 SQL>create profile myprofile limit password_life_time 10 password_grace_time 2; SQL>alter user xiaoming profile myprofile; (4)口令歷史 概述:如果希望使用者在修改密碼時,不能使用以前使用過的密碼,可使用口令歷史,這樣oracle就會將口令修改的心細存放到資料字典中,這樣當用戶修改密碼時,oracle就會對新舊密碼進行比較,當發現新舊密碼一樣時,就提示使用者重新輸入密碼, 例子:     1)建立profile     SQL>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10;     password_reuse_time  //指定口令可重用時間即10天后就可以重用。     2)分配給某個使用者 (5)刪除profile 概述:當不需要某個profile檔案時,可以刪除該檔案。 SQL>drop profile password_history [cascade]