操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    本文章內容分布:(1)介紹數據庫常見分類(2)關系型數據庫概念(3)Oracle數據庫基本知識介紹(4)Oracle數據庫權限介紹,其中權限的內容涉及范圍較大,權限在本文中和用戶、角色練習較為緊密,角色是權限的集合,屬于Oracle對象,創建用戶需要權限,而新創建的用戶要賦予權限,并且還可以給對象賦予權限。等等這些基本操作都離不開權限,所以在本文中主要學習權限!用戶!角色!

    關于用戶與模式:

    用戶:對數據庫的訪問,需要以適當用戶身份通過驗證,并具有相關權限來完成一系列動作.SYS用戶,缺省始終創建,且未被鎖定,擁有數據字典及其關聯的所有對象.SYSTEM用戶,缺省始終創建,且未被鎖定,可以訪問數據庫內的所有對象

    模式(schema):是某個用戶擁有所有對象的集合。具有創建對象權限并創建了對象的用戶稱為擁有某個模式 注意:創建數據庫對象(視圖,表等)的任一用戶都擁有一個以該用戶名稱開頭的模式,且被視為模式用戶

    (關系型)數據庫相關概念

    SQL(Structured Query Language)

    三大范式(規范):

    關于Oracle數據庫簡單介紹

    Oracle數據庫相關概念

    Oracle服務

    數據庫的啟動和關閉

    監聽客戶端連接請求,位于服務端的、獨立運行的一個后臺進程,一旦建立服務器與客戶端的連接,之后客戶端與服務的通信不再通過它

    命令行窗口 → sqlplus:啟動一個SQL*Plus客戶端工具 或 → sqlplus username/password [as sysdba] 或 → sqlplus /nolog:打開SQL*Plus,但不登錄 → conn username/password@192.168.7.58:1521/orcl → disconnect 斷開連接

    spool 命令要寫到的文件的路徑;注意:當使用完畢后要使用spool off;

    conn /as sysdba 操作系統驗證

    Oracle 登錄驗證:操作系統、數據庫驗證、密碼文件

    Oracle在剛開始的入門知識方面和mysql在權限方面有著較大的不同,在Oracle中幾乎所有的操作(創建用戶、創建表、刪除表等等一些增刪改查在沒有獲得權限之前是不允許執行的)在沒有獲得權限之前都不能夠執行,在mysql中則沒有那么嚴格,所以有必要先了解一下Oracle中權限的分配。

    在創建用戶之前,可以登錄系統管理員權限去創建一個用戶(因為系統管理員有這個權限),下面是三種用戶分類:

    在登陸的時候,可以選擇下面三種登錄方式:

    比如創建一個用戶和給創建的用戶分配權限代碼示例:(下面創建用戶是在系統管理員的身份下創建的,并且系統管理員本身也有這個權限,但是如果沒有賦予普通用戶創建用戶的權限,那么普通用戶創建用戶這個操作就會失敗。)

    (用戶名:zhangsan 密碼:zhangsan, 默認登陸是在users表中,并分配10M的空間)

    下面語句可以在sys系統管理員登錄的情況下創建的

    系統權限: 允許用戶執行特定的數據庫動作,如創建表、創建索引、連接實例等 對象權限: 允許用戶操縱一些特定的對象,如讀取視圖,可更新某些列、執行存儲過程等

    (1)系統權限:

    (2)對象權限

    grant 權限 on 對象名 to username[with grant option 同時獲得權限分配權];

    revoke 權限 on 對象名 from username;

    不同的對象具有不同的對象權限,對象的擁有者擁有所有權限,對象的擁有者可以向外分配權限.關于授予系統權限與授予對象權限的語法差異:授予對象權限時需要指定關鍵字ON,從而能夠確定權限所應用的對象.對于表和視圖可以指定特定的列來授權。

    對象授權示例

    關于用戶常見操作代碼(下面的代碼都是可以運行的,在windows操作系統上大寫小區分不敏感,所以大部分大寫的關鍵命令單詞都可以小寫):

    每個Oracle用戶都有一個名字和口令,并擁有一些由其創建的表、視圖和其他資源。Oracle角色(role)就是一組權限(privilege) (或者是每個用戶根據其狀態和條件所需的訪問類型)。用戶可以給角色授予或賦予指定的權限,然后將角色賦給相應的用戶。一個用戶也可以直接給其他用戶授 權。

    數據庫系統權限(Database System Privilege)允許用戶執行特定的命令集。例如,CREATE TABLE權限允許用戶創建表,GRANT ANY PRIVILEGE 權限允許用戶授予任何系統權限。

    數據庫對象權限(Database Object Privilege)使得用戶能夠對各個對象進行某些操作。例如DELETE權限允許用戶刪除表或視圖的行,SELECT權限允許用戶通過select從 表、視圖、序列(sequences)或快照 (snapshots)中查詢信息。

    (1)、3種標準角色

    Qracle為了兼容以前的版本,提供了三種標準的角色(role):CONNECT、RESOURCE和DBA。

    “`

    (2)、創建角色

    除了前面講到的三種系統角色—-CONNECT、RESOURCE和DBA,用戶還可以在Oracle創建自己的role。用戶創建的role可以由 表或系統權限或兩者的組合構成。為了創建role,用戶必須具有CREATE ROLE系統權限。下面給出一個create role命令的實例:

    現在,擁有STUDENT角色的所有用戶都具有對CLASS表的select權限。

    (3)、刪除角色

    摘要:Oracle數據庫實例端口默認是1521。Oracle連接問題涉及三個網絡配置文件,一是sqlnet.ora,該文件存放在 $ORACLE_HOME/network/admin 目錄下,主要是和客戶端緊密相連。作用類似于 linux 的/etc/hosts,通過這個文件來決定怎么樣尋找一個連接中出現的連接字符串。二是tnsnames.ora,文件存放在客戶端機器上,記錄客戶端訪問數據庫的本地配置。當sqlnet.ora 中有 “NAMES.DIRECTORY_PATH=(TNSNAMES)” 字樣時,才會嘗試使用這個文件。三是listener.ora,該文件為 listener 監聽器進程的配置文件。 listener 進程即為接受遠程對數據庫接入申請轉到 oracle 的服務器進程。即如果不是使用的遠程連接,listener 進程就不是必需的,關閉進程也不會影響已經存在的數據庫連接。現將有關Oracle的賬號和密碼管理方面的知識整理出來,供參考。詳細內容請看下文。

    一、Oracle 的啟動服務步驟

    1、切換到oracle 用戶: su - oracle

    2、打開oracle 監控: lsnrctl start

    執行指令# lsnrctl status查看監聽是否開啟

    執行指令# lsnrctl start開啟監聽

    3、打開oracle 命令行: sqlplus / as sysdba

    4、在oracle 命令行執行啟動服務: startup

    5、退出: quit

    二、Oracle 的停止服務步驟

    1、切換到oracle 用戶: su - oracle

    2、打開oracle 命令行: sqlplus / as sysdba

    3、執行停止服務命令: shutdown immediate

    4、退出: quit

    三、系統權限管理:(系統權限是對用戶而言)

    1、系統權限分類:

    DBA:擁有全部特權,是系統最高權限,只有DBA才可以創建數據庫結構。

    RESOURCE:擁有Resource權限的用戶只可以創建實體,不可以創建數據庫結構。

    CONNECT:擁有Connect權限的用戶只可以登錄Oracle,不可以創建實體,不可以創建數據庫結構。

    對于普通用戶:授予connect, resource權限。

    對于DBA管理用戶:授予connect,resource, dba權限。

    執行指令SQL> select grantee,privilege from dba_sys_privs where grantee='CONNECT' order by privilege; 查看CONNECT角色的權限。如下圖

    執行指令SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege; 查看RESOURCE角色的權限。如下圖

    執行指令SQL> select grantee,privilege from dba_sys_privs where grantee='DBA' order by privilege; 查看DBA角色的權限。如下圖

    2、系統權限授權命令:【系統權限只能由DBA用戶授出:sys, system】

    授權命令:SQL> grant connect, resource, dba to 用戶名1...;

    【備注:普通用戶通過授權可以具有與system相同的用戶權限,但永遠不能達到與sys用戶相同的權限,system用戶的權限也可以被回收。】

    例如:SQL> grant connect, resource to user001;

    查詢用戶擁有哪些權限:

    SQL> select * from dba_role_privs;

    SQL> select * from dba_sys_privs;

    SQL> select * from role_sys_privs;

    刪除用戶:SQL> drop user 用戶名 cascade; //加上cascade則將用戶連同其創建的東西全部刪除

    3、系統權限傳遞:

    增加WITH ADMIN OPTION選項,則得到的權限可以傳遞。

    SQL> grant connect, resorce to user001 with admin option; //加上with admin option可以傳遞所獲權限

    4、系統權限回收:系統權限只能由DBA用戶回收

    命令:SQL> Revoke connect, resource from user001;

    說明:

    (1)、如果使用WITH ADMIN OPTION為某個用戶授予系統權限,那么對于被這個用戶授予相同權限的所有用戶來說,取消該用戶的系統權限并不會級聯取消這些用戶的相同權限。

    (2)、系統權限無級聯,即A授予B權限,B授予C權限,如果A收回B的權限,C的權限不受影響;系統權限可以跨用戶回收,即A可以直接收回C用戶的權限。

    四、實體權限管理:(是針對表或視圖而言的)

    1、實體權限分類:select, update, insert, alter, index, delete, all //all包括所有權限

    2、將表的操作權限授予全體用戶:

    SQL> grant all on product to public; // public表示是所有的用戶,這里的all權限不包括drop。

    SQL> select owner, table_name from all_tables; // 用戶可以查詢的表

    SQL> select table_name from user_tables; // 用戶創建的表

    SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // 獲權可以存取的表(被授權的)

    SQL> select grantee, owner, table_name, privilege from user_tab_privs; // 授出權限的表(授出的權限)

    3、DBA用戶可以操作全體用戶的任意基表(無需授權,包括刪除):

    4、實體權限傳遞(with grant option):

    5、實體權限回收:【備注:如果取消某個用戶的對象權限,那么對于這個用戶使用WITH GRANT OPTION授予權限的用戶來說,同樣還會取消這些用戶的相同權限,也就是說取消授權時級聯的。】

    五、Oracle安全認證模式

    1、OS認證

    OS認證簡介:Oracle中,可以將新建立用戶或者把原來的用戶加入到oinstall組或dba等組中,然后使用這個用戶在安裝了數據庫的本地機器登陸或者使用安全的遠程連接登陸,可以作為sysdba登錄,在數據庫級則不需要提供密碼。

    比如,我們使用sqlplus登陸數據庫:sqlplus / as sysdba

    不需要密碼,這里linux安裝了oracle之后,默認自帶OS認證,查看當前用戶屬組:

    啟用OS認證:修改配置文件-sqlnet.ora,更改配置文件位于$ORACLE_HOME/network/admin目錄下,(沒有新建一個),Linux下默認是支持OS認證和口令(密碼)認證的所以不需要修改sqlnet.ora,如果是WINDOWS NT系統,則需要添加以下配置:SQLNET.AUTHENTICATION_SERVICES=(NTS)

    關閉OS認證:把操作系統用戶的dba組oinstall組取消,修改sqlnet.ora文件SQLNET.AUTHENTICATION_SERVICES=(NONE),待修改配置文件后,發現OS認證已關閉,需要驗證口令才能登陸。

    2、口令認證

    口令認證簡介:Oracle的口令文件的作用是存放所有以sysdba或者sysoper權限連接數據庫的用戶的口令,如果想以sysdba權限遠程連接數據庫,必須使用口令文件。

    修改口令文件:orapwd file=$ORACLE_HOME/dbs/orapw$ORACL_SID password=密碼 force=y

    修改完后,重啟數據庫,再次查看參數值!然后修改密碼,成功!

    六、Oracle賬號和密碼管理

    1、創建用戶的Profile文件

    SQL> create profile employee limit // employee為資源文件名

    FAILED_LOGIN_ATTEMPTS 3 //指定鎖定用戶的登錄失敗次數

    PASSWORD_LOCK_TIME 5 //指定用戶被鎖定天數

    PASSWORD_LIFE_TIME 30; //指定口令可用天數

    2、創建用戶

    SQL> Create User username

    Identified by password

    Default Tablespace tablespace

    Temporary Tablespace tablespace

    Profile profile

    Quota integer/unlimited on tablespace;

    例如:創建用戶abc01

    SQL> Create user abc01

    identified by abc01 // 如果密碼是數字,請用雙引號括起來

    default tablespace account

    temporary tablespace temp

    profile default

    quota 50m on account;

    SQL> grant connect, resource to abc01;

    [*] 查詢用戶缺省表空間、臨時表空間

    SQL> select username, default_tablespace, temporary_tablespace from dba_users;

    [*] 查詢系統資源文件名:

    SQL> select * from dba_profiles;

    資源文件類似表,一旦創建就會保存在數據庫中。

    SQL> select username, profile, default_tablespace, temporary_tablespace from dba_users;

    3、修改用戶:

    SQL> Alter User 用戶名

    Identified 口令

    Default Tablespace tablespace

    Temporary Tablespace tablespace

    Profile profile

    Quota integer/unlimited on tablespace;

    (1)、修改口令字:

    SQL>alter user abc01 identified by "123456";

    (2)、修改用戶缺省表空間:

    SQL> alter user abc01 default tablespace users;

    (3)、修改用戶臨時表空間

    SQL> alter user abc01 temporary tablespace temp_data;

    (4)、強制用戶修改口令字:

    SQL> alter user abc01 password expire;

    (5)、將用戶加鎖

    SQL> alter user abc01 account lock; // 加鎖

    SQL> alter user abc01 account unlock; // 解鎖

    4、刪除用戶

    SQL> drop user 用戶名; //用戶沒有建任何實體

    SQL> drop user 用戶名 CASCADE;// 將用戶及其所建實體全部刪除

    5、監視用戶:

    (1)、查詢用戶會話信息:

    SQL> select username, sid, serial#, machine from v$session;

    (2)、刪除用戶會話信息:

    SQL> alter system kill session 'sid, serial#';

    (3)、查詢用戶SQL語句:

    SQL> select user_name, sql_text from v$open_cursor;

    6、實例:

    執行指令SQL>show user;查看當前用戶

    修改當前用戶的密碼

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有