天天看點

oracle 學習1

========================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