========================03oracle的基本使用========================================42分鐘
啟動oracle資料庫,就是啟動一個oracle執行個體。就是一個資料庫。資料對象。
權限的機制,不同使用者,看到不同的資料對象,擁有不同的權限。
Listener監聽必須啟動。
oracle解除安裝有些麻煩。
scott admin
show user;//檢視目前使用者
exit;//退出
第一種:sql plus直接打開。
sqlplusw 指令,效果和直接打開一樣。
第二種:sqlplus 指令,打開黑視窗。
第三種:oracle的企業管理器。oem oracle enterprise manager
第四種:pl/sql developer 第三方軟體。比較好。
常用指令。sql*plus的常用指令
1連接配接指令
conn 使用者名/密碼@網絡服務名 [as sysdba/sysoper]
例如:conn system/admin 可以用來切換使用者。
2 斷開連接配接
disc
3 修改密碼
passw
4 顯示目前使用者名
show user
5 退出指令
exit
檔案操作指令
1 運作sql腳本
start 和 @
例如:
sql>@ f:\xx.sql
sql>start f:\xx.sql
2 編輯sql檔案
edit f:\xx.sql
3 将sql*plus 螢幕上的内容輸出到指定檔案中去
sql> spool f:\yy.sql;
spool off
互動式指令
1 可以替代變量 &位址符
select * from emp where ename='&name';
顯示和設定環境變量
1 設定顯示行的寬度,預設是80個字元。
linesize
show linesize;
set linesize 90;
2 設定每頁顯示的數目
show pagesize;
set pagesize 3;
===================04 使用者管理01 ===================================================49分鐘
1 在oracle建立一個新的使用者,用dba使用者。
create user hzl identified by h123;——密碼不能是數字開頭,也就說不能用全數字。
2 給自己修改密碼
password [使用者名]
給其使用者修改密碼
password 使用者名
例如:password hzl;
3 删除使用者
自己删除自己不行,
drop user 使用者名 [cascade];
drop user hzl;
在删除使用者時,注意
如果要删除的使用者,已經建立了表,那麼就需要在删除的時候,帶一個參數 cascade(級聯删除)
4 使用者的管理
建立的使用者是沒有權限的。
賦予權限 sytem/sys
grant
權限分兩種
一:系統權限——描述使用者對資料庫的相關權限,如登入,建表。。。大概有140多種權限。
二:對象權限——使用者對其他使用者的資料對象通路或操作的權限。大概有25個對象權限。
資料對象——就是指使用者建立的表,視圖,觸發器,存儲過程,索引,序列,函數,過程,包,類型,觸發器,工作,庫,角色,同義詞,表空間。。。。。。
oracle的精華——使用者的管理,權限的控制。
角色分兩種:
一:自定義角色
二:預定義角色
挨個的賦權限,太慢,定義好角色。角色有多種權限。
connect角色 ——不是權限。包括一些,基本的權限。7種權限。
dba角色——擁有全部權限。
resource角色——可以讓使用者在所有的表空間建表。
grant connect to hzl;
create session ;系統權限。有了它,才能登陸資料庫。
——希望hzl這個使用者,可以查詢emp表。
——希望hzl這個使用者,可以查詢scott的emp表。
需要對象權限。
對象權限分:
一:select
二:insert
三:update
四:delete
五:all
六:create index
。。。。。
grant select on emp to hzl;——system/sys/scott;
hzl 查詢時:select * from scott.emp;——方案,scott而非使用者,是個方案,在此時。
資料對象的組織方式,以使用者為機關。
新使用者,空表,也沒有見表的權限。
grant resource to hzl;
desc test;——檢視表結構
——希望hzl這個使用者,可以修改scott的emp表。
grant update on emp to hzl;——system/sys/scott;
——希望hzl這個使用者,可以查詢/修改,删除,添加scott的emp表。
grant all on emp to hzl;——system/sys/scott;
scott 希望收回 hzl 對emp的查詢權限
移除權限
revoke
revoke select on emp from hzl;
====================================05 oracle 使用者管理2 ====================================46分鐘。
對象權的維護
——希望hzl這個使用者,可以查詢scott的emp表。同時,可以把此權限賦給其他使用者。
對象權限——with grant option
系統權限——with admin option
如:建個hzl2. 把hzl1的系統權限connect 以及 select 對象權限給hzl2
step1 conn system/admin
step2 create user hzl1 identified by hzl;
create user hzl2 identified by hzl;
step3 grant connect to hzl1 with admin option;
grant select on scott.emp to hzl1 with grant option;
step4 conn hzl1/hzl;
select * from scott.emp;
step5 grant connect to hzl2;
grant select on scott.emp to hzl2;
step6 conn hzl2/hzl
select * from scott.emp;
回收權限。——有問題!!!!!!!!!
如:回收hzl1 的賦予功能,以及回收hzl2的 檢視表功能。并通過hzl3 ,使用者的建立驗證。
step1 conn system/admin;
step2 revoke admin option from hzl1;
create user hzl3 identified by hzl;
step3 conn hzl1/hzl;
step4 grant connect to hzl3;
conn hzl3/hzl;——驗證hzl3 是否可以登陸,可以,說明,移除hzl1的賦予功能失敗
step5 revoke select on scott.emp form hzl2;
step6 conn hzl2/zhl;
select * from scott.emp; ——如果有值,說明移除hzl2的檢視對象權限失敗。
oracle管理使用者密碼
profile 是密碼限制,資源限制的指令集合。
1 賬戶鎖定。
指定使用者登入時最多可以輸入多少次,錯誤密碼,以及錯誤密碼的次數到達之後,該使用者被鎖定,鎖定時間天,一般用dba的身份去執行該指令。
例如:指定hzl3 這個使用者,最多隻能嘗試3次,然後鎖定2天。
建立名為hzl_lock 的profile檔案。
create profile hzl_lock limit failed_login_attempts 3 password_lock_time 2;
alter user hzl3 profile hzl_lock;
2 給賬戶解鎖
alter user hzl3 account unlock;
3 終止密碼
為了讓使用者定期修改密碼可以使用終止密碼的指令來完成。需要dba身份操作。
例如:給hzl3 建立一個 名為hou123 的profile檔案,要求該使用者每隔十天要修改自家的登陸密碼,寬限期為2天,怎麼做?
step1 create profile hou123 limit password_life_time 10 password_grace_time 2;
step2 alter user hzl3 profile hou123;
覺得系統管理者有必要,作為普通使用者沒有必要。
4 密碼曆史
如果希望使用者在修改密碼時,不能使用以前使用過的密碼,可使用密碼曆史,這樣oracle就會将密碼修改的資訊存放到資料庫字典中,這樣當使用者修改密碼時,oracle就會對新舊密碼進行比較,當發現新舊密碼一樣時,就提示使用者重新輸入密碼。
例:
給hzl3 建立一個 名為hou123 的profile檔案,要求該使用者每隔十天要修改自家的登陸密碼,寬限期為2天,同時,密碼要在10天後,才可以使用習慣的那個。
step1 create profile hou123 limit password_life_time 10 passwor_grace_time 2 password_reuse_time 10;
step2 alter user hzl3 profile hou123;
5 删除profile
不需要某個profile檔案時,可以删除
drop profile hou123 [cascade]
總結:=====
1 為什麼學oracle
2 介紹oracle以及公司背景
3 oracle的安裝,啟動以及解除安裝
4 oracle開發工具介紹
5 sql*plus的常用指令
6 oracle使用者的管理。
目前主流資料庫
微軟——sql server 和 access
瑞典Mysql——AB公司 mysql
ibm公司——db2
美國Sybase公司——Sybase
ibm公司——informix
美國oracle公司:oracle