您好,登錄后才能下訂單哦!
一)基本概念介紹
在國內有一款自主知識產權關系型數據庫(達夢),其基本原理及管理方式與Oracle及其相似,因此涉及到的主要基本概念及代表的意義也基本一樣,所以這里不再驁述,請參考另一篇關于達夢數據庫介紹的文章《DM(達夢)數據庫簡介》。
二)安裝Oracle
不管是Windows安裝還是Linux安裝,網上有大量的安裝配置教程,這里也不再細說。這篇博文主要關注數據庫原理及基本使用,因此還是需要快速實例化一個Oracle數據庫,這里簡單介紹一下基于docker的安裝配置。
a. 首先,確認已經安裝配置好docker,如果沒有,請參考《Centos 7.5安裝Docker》安裝配置;
b. 在Docker中獲取Oracle鏡像信息;
#docker search oracle //在列表中選擇需要版本,如果需要數據持久化特性,建議選擇sath89/oracle-xe-xxx類型版本
c. 啟動docker實例;
#docker run -d -p 49160:22 -p 49161:1521 -v /hostfolder:/dockerfolder --name xe sauth89/oracle-xe-11g //以sauth89/oracle-xe-11g為例
1. -d參數表示后臺運行容器;
2. -p參數做端口映射,將docker的22和1521端口分別映射到宿主機的49160和49161;
3. -v參數表示目錄映射,其結果就是存在于dockerfolder目錄的文件也會在宿主機相應目錄存一份;
4. --name參數指定容器服務名;
d. 通過上面c步,就會創建一個Oracle數據庫實例,默認連接信息如下:
hostname: localhost(即宿主機)
port: 49161
SID: xe
service name: xe
username: system
password: oracle
e. 圖形化功能連接數據庫
三)基本使用
I. 管理命令
a. 查詢版本
select banner from sys.v_$version;
或
select * from v$version;
b. 查看數據庫名(實例名)及狀態
select name from v$database;
select status from v$instance;
c. 查看系統所有用戶
select * from all_users;
d. 創建用戶并賦予其鏈接數據庫權限
create user username identified by passwd;
grant connect to username;
e. 刪除用戶
drop user username ;
f. 查看當前用戶角色
select * from user_role_privs;
g. 查看表空間及使用情況
select * from v$tablespace; //查看系統所有表空間
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name; //單位是M
h. 創建表空間
create tablespace test_tbsp datafile
'/home/oracle/oradata/test_tbsp.dbf'
size 100M;
//數據文件一定要單引號引起來
i. 查看用默認表空間
select username,default_tablespace from dba_users;
j. 修改用戶默認表空間
alter user user1 default tablespace test_tbsp;
k. 開啟表空間自動擴展、查看、關閉
alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend on; //開啟
select file_name,autoextensible,increment_by from dba_data_files where tablespace_name='TEST_TBSP'; //查看
alter database datafile '/home/oracle/oradata/test_tbsp.dbf' autoextend off; //關閉
II. 角色、用戶及權限管理
a. 創建角色
create role roleName;
b. 給角色授予權限
grant 權限 to roleName:
c. 將角色授予用戶
grant roleName to userName;
d. 查詢當前用戶擁有角色
select * from user_role_privs;
e. 刪除角色
drop role roleName;
關于角色注意:
1. 當給角色授予權限的時候,擁有此角色的用戶也同時增加了權限;
2. 當撤銷角色權限的時候,擁有此角色的用戶的對應權限也被撤銷;
3. 當角色被刪除,擁有此角色的用戶將喪失之前角色所有的所有權限。
f. 授予用戶會話權限
grant create session to userName;
g. 授予用戶建表權限
grant create table to userName;
h. 授予用戶無限制使用表空間權限
grant unlimited tablespace to userName;
i. 授予權限及撤銷權限
grant 權限 to userName;
revoke 權限 from userName;
grant select on mytab to userName;
grant update on mytab to userName;
grant delete on mytab to userName;
grant insert on mytab to userName;
revoke select on mytab from userName;
批量賦權: https://www.cnblogs.com/abcwt112/p/5507917.html
j. 查看用戶擁有權限
select * from user_sys_privs;
k. 授予/撤銷其他用戶操作表的所有權限
grant all on mytab to userName;
revoke all on mytab from userName;
l. 查詢其他用戶對當前用戶表的操作權限
select * from user_tab_privs;
m. 權限傳遞
grant create session to userName with admin option; //表示把系統權限授予給userName,并允許其授予給其他用戶
grant update on mytab to userName with grant option; //表示把操作表的權限授予給userName,并允許其授予給其他用戶
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。