程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> study of oracle lesson one

study of oracle lesson one

編輯:SyBase教程

study of oracle lesson one


oracle學習第一部分

1.oracle簡介

1.1 目前常用數據庫分類

小型數據庫:sql server,access(微軟的)

中型數據庫:mysql(瑞典公司的),sybase(美國sybase公司)

大型數據庫:informix(IBM),oracle(甲骨文公司),db2(IBM)

1.2 oracle數據庫介紹

oracle數據庫是由美國甲骨文公司的產品,公司從1970年起開始開發數據庫,目前數據庫已經發展到oracle 11G,比較流行的是oracle 9i和oracle 10g,oracle單詞的意 思是神喻,代神說話的人,甲骨文

1.3 oracle數據庫資質認證

a. oca oracle低級認證

b. ocp oracle中級認證

c. ocm oracle高級認證(很難考,報名費很貴,2000美金左右,中國大陸還不一定有考區)

2. oracle數據庫的安裝

2. 默認用戶

oracle數據庫安裝以後,會默認有三個用戶

dba用戶:數據庫管理員,擁有數據庫最高權限,其可以create database權限,也可以稱為超級用戶,sysdba角色,用戶密碼分別如下:

sys/change_on_install

sysoper用戶:數據庫用戶管理員,權限也很大,但是沒有create database的權限,用戶密碼分別如下:

system/manager

scott用戶:普通用戶,oracle會給其默認產生一些數據對象,用戶密碼分別是:

scott/tiger

注:一般的,對數據庫的維護和操作,使用system用戶就可以了

3.oracle數據的啟動

a.啟動數據庫實例

b.啟動數據庫監聽

4.連接數據庫

a.sqlplus可以連接

b.PL/SQL可以連接

...

5.常用命令

a.常用系統命令:

(1)顯示當前用戶:show user;

(2)連接數據庫: conn(connect) 用戶名/密碼;

(3)修改密碼:passw(password) 用戶名;

(4) 查看當前用戶下面有哪些表:

select table_name from user_tables;

(5)設置環境變量

設置行寬:set pagesize = 120;

設置頁面大小:set pagesize = 8;//一頁顯示8條數據,包括最後一個空白行

b.文件交互命令

(1) 交互式命令:&

可以替代變量,而該變量在執行時,需要用戶輸入

select * from emp where job=‘&job’;

(2)執行腳本命令:start 或者@

@ D:\my.sql;

start d:\my.sql;

(3)修改sql腳本命令:edit

edit D:\my.sql; //打開腳本文件,然後用戶就可以修改了

(4)重定向: spool,將命令行的輸出重定向輸出到文件中,需要兩步操作

spool filename;//創建新文件filename

spool off; //輸出到文件中

c.操作用戶語句

(1) oracle用戶創建:只有sys或者system用戶有權限創建用戶

create user liudh identified by m123; //創建用戶liudh,密碼為m123,注意:oracle數據庫中密碼必須以字母開頭

(2)修改密碼

password 用戶名;

(3) 刪除用戶,一般是級聯刪除

drop user 用戶名 cascade;

d.授權操作,數據庫管理員才有的權限,新建用戶默認表空間是system空間

(1)grant connect to liudh;//給用戶liudh授予connect角色的權限,connect是一個角色,這個角色有一些7種權限,比如連接數據庫等

(2)查看表結構

desc tablename;

(3)授權訪問其他用戶的表權限

grant select on emp to liudh;//emp表是scott用戶的,執行該操作以後,liudh用戶就可以查詢(select)scott用戶下的表emp

grant update on emp to liudh;

使用all可以授予多個對象權限,包括的對象權限有:select,update,delete,create

grant all on emp to liudhu;

(4) 操作其他用戶的表,要帶上用戶名

liudh用戶想要查詢scott用戶的emp表,在授予權限的情況下,可通過如下語句來實現:

select * from scott.emp;

(5)權限資源回收:invoke

revoke select on emp from liudh;//scott用戶取消liudhy用戶對自己的表emp的select對象權限

注意:權限的回收是級聯的

scott 將select 表emp的權限傳遞授予liudh,liudh將對scott表emp的select對象權限授予zhangxy,當scott回收liudh該權限時,zhangxy的權限也被收回了

,即權限的收回是級聯的

(6)權限的傳遞,權限的維護 使用with grant option 和 with admin option

scott用戶把對自己的表emp的select對象權限授予liudh,同時也希望liudh用戶把對emp表的select對象權限授予其他人,比如zhangxy,語句如下

對象權限的傳遞:

grant select on emp to liudh with grant option;

系統權限的傳遞:

grant connect to liudh with admin option;//數據庫管理員將connect系統權限授予liudh,而後liudh就可以將connect系統權限授予其他普通用戶

6.oracle用戶管理

oracle安裝默認會產生三個用戶,也會產生一個數據庫實例,該實例下面可以增加其他用戶,然後用戶就可以在該實例下建數據對象,是共享表空間的,

每個用戶在這個實例下面有自己可以操作的表,不同用戶自己專有的表數據對象名可以相同,每個用戶都有自己的權限,其中權限分為系統權限和對象權限(對數據

對象操作的權限)

數據對象包括:表,存儲過程,視圖,函數,序列,觸發器,角色,表空間,工作,包等

7.oracle用戶口令管理

通過創建profile文件來實現,profile是口令限制,資源限制的命令的集合

(1)賬戶鎖定

創建profile規則aaa:用戶輸錯三次密碼,賬戶鎖定兩天

create profile aaa limit faild_login_attempts 3 password_lock_time 2;

將鎖定規則aaa給用戶liudh

alter user liudh profile aaa;//注:此處的profile是一個關鍵字

 

(2)賬戶解鎖:(只有dba有權限)

alter user liudh account unlock;

(3) 終止口令:

強制讓用戶每隔10天修改一次密碼,期限為2天

create profile bbb limit password_life_time 10 password_grace_time 2;

將規則bbb授予用戶liudh

alter user liudh profile bbb;

(4)口令歷史:

如果用戶修改密碼,不能和前一次一樣,10天之後才可以修改為相同的

create profile passwordtime limit password_life_time 10 password_grace_time 2 password_reuse_time 10;

刪除profile規則,一般是級聯刪除

drop profile passwordtime cascade;//級聯刪除

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved