【HICP Gaussdb】數據庫 數據庫管理(文件 用戶管理 系統權限 對象權限 profile)-7


數據庫運行

依賴不同類型的文件 ,數據文件 參數文件 控制文件 redo日志文件 運行日志文件 審計日志文件等
數據文件 就是表空間文件 存儲數據庫的數據文件
參數文件 用戶修改的配置信息
控制文件 數據庫最重要的文件 記錄數據庫的狀態 表空間信息等
redo文件 保障數據庫異常退出 不丟失數據
運行日志文件 記錄數據庫運行中的日志 用於問題定位
審計日志文件 記錄DDL DCL DML 等SQL命令

參數文件位置 : /opt/zenith/app/data/cfg/zengine.ini 在數據文件的cfg目錄下

#修改 alter system checkpoint_pages = 20000 scope =both ; #查看 select * from DV_parameters where name = "checkpoint_pages"

 

控制文件 : 參數文件中制定控制文件位置
       control_files = /opt/zenith/data/ctrl1 /opt/zenith/data/ctrl2 /opt/zenith/data/ctrl3

       控制文件有三個副本 每次修改三個副本同時修改
       系統重啟時 通過檢測 某個副本損壞 嘗試使用其他副本 進行加載 同時修復損壞副本
       控制文件可以指定不同路徑 提高可靠性
控制文件信息

系統版本號 表空間列表 數據文件列表 redo文件列表 歸檔日志列表 系統SCN CHECKpoint 的RCY point/LRP point


redo日志 
WAL write ahead log 預寫日志
       修改數據頁面時記錄redo日志
       事務提交保證redo日志寫入磁盤
       通過checkpoint 后台線程將修改的數據寫入磁盤
      異常恢復時通過 redo日志恢復數據
redo日志文件狀態 in-active active current redo日志循環使用
添加redo日志 alter database add logfile('log1' size 128M)  刪除redo日志 : alter database dtop logfile('log1')    DV_LOG_FILES 視圖

歸檔日志歸檔日志是redo日志的副本
當redo日志 從active狀態變成in-active 將數據寫入磁盤后,還需要生成對應的歸檔文件
主備環境主機redo復用
備機是通過主機的redo日志文件重演恢復數據 如果主機redo復用后備機需要 通過歸檔日志來恢復數據
物理備份中redo復用
物理備份時數據庫還能繼續使用 會產生新的redo日志 如果redo復用后 需要將歸檔日志也備份 用來保障可以恢復到備份時的一致數據
歸檔模式只能在mount模式下設置
alter database archivelog/noarchivelog
歸檔路徑設置
LOG_ACHIVE_DEST_1 = LOCATION = /opt/zenith/data/achive_log
max_arch_files_size 歸檔日志占最大空間
arch_clean_ignore_backup 歸檔清理忽略備份
arch_clean_igone_standby 歸檔清理忽略備機

參數配置演示

# 修改 max_arch_files_size 制定scope=pfile 制定下次重啟生效 
zsql sys/sys@127.0.0.1:1611 select name,value,isdefault,effective from dv_parameters where name = 'max_arch_files_size' alter system set max_arch_files_size = 32G scope=pfile select name,value,isdefault,effective from dv_parameters where name = 'max_arch_files_size'
# 添加三個redo文件 
alter database add logfile('log4' size 64M , 'log5' size 128M , 'log6' size 256M)
select id,status,file_name,bytes from dv_log_files
# 刪除redo日志文件 
alter database drop logfile("log4")

 

 

 

 

 

 

數據庫用戶管理
數據庫用戶 角色 權限的介紹

用戶: 連接數據庫 訪問數據庫對象 執行SQL語句
角色:角色是一組命名的權限集合 數據庫使用角色進行權限組織和划分
意義: 權限分組 並授予角色 可以將角色授予用戶 相當於批量授予權限
注意: 角色在系統中唯一 角色名不能重復 不能登錄和執行sql語句 不屬於用戶

權限:執行特定sql語句 以及訪問或維護某一對象的能力
權限類型: 系統權限 對象權限

用戶權限角色的關系
可以定義角色進行權限的組織和划分 角色賦予其他角色 其他角色擁有此角色所有權限 角色的權限可以繼承

模式:schema 是對象的集合 由數據庫擁有 並與用戶具有相同的名稱
模式對象包括: 表 視圖 索引 序列 同義詞 觸發器

用戶和模式的關系 : 每個用戶有獨立的模式 名字和用戶相同 創建時對應的模式同時被創建

系統預置用戶
SYS 系統初始超級管理員用戶 最高權限
PUBLIC 公共用戶 無法登陸到數據庫 如果授權給public一個權限 就會授權給所有用戶此權限
系統預置角色
DBA 系統管理員 系統所有權限
RESOURCE 創建基礎對象角色 創建存儲過程 創建序列 創建表 創建觸發器權限
CONNECT 連接數據庫權限
STATISTICS 統計角色 創建刪除 查看WSR權限 生成WSR報告權限

 

# 自定義用戶創建 create user username identified by "passwd" default tablespace tablespace1; # 設置表空間 create user username identified by "passwd" account lock ; # 賬戶鎖定不等登錄 # 修改用戶 alter user 需要有alter user的系統權限 如果用戶不存在會報錯 # 修改密碼 alter user usernmae identified by "password" replace "PASSWD" # 修改表空間 alter user username default tablespace tablespace_t; # 修改鎖定狀態 alter user username account unlock; # 刪除用戶 #強制刪除數據庫對象 drop user if exists username cascade; # 創建自定義角色 #刪除自定義角色 create role role_name ; drop role role_name DB database DV data_view 

 

 

 

系統權限
用戶對系統操作的能力 可以執行一定的sql語句
SYS 與DBA角色 擁有所有系統權限 支持通過角色 繼承進行系統權限管理
create session 連接數據庫 create user 創建新用戶 alter user 修改用戶 drop user 刪除用戶 create role 創建角色
drop any role 刪除任意角色 alter system 修改系統信息 grant any privilege 授予收回系統權限 grant any role 授予角色
grant any object privilege 授權任意用戶的對象權限

對象權限
對數據庫對象有執行操作的能力 可以訪問或維護某一特定的對象 表 視圖 序列 索引 存儲過程等
SYS和DBA擁有該對象的所有權限
select 查詢 delete 刪除數據 upadte 更新數據 alter 更新對象定義 insert 插入 index 創建索引 references 外鍵約束

系統權限 角色授權
滿足條件 :
with admin option / grant any privileges系統權限 ---> 授權系統權限
with admin option / grant any role系統權限 ----> 授權角色

grant create session to username WITH ADMIN OPTION ; # 授權連接 和授權權限
grant teacher TO username ; # 授權teacher 角色

授權角色對象權限
條件:
with grant option / grant any object privileges 並且是該對象的創建者
grant select on table1 to username with grant option ;

回收 revoke
條件:
with admin option / grant any privileges 回收系統權限 with admin option / grant any role系統權限 ----> 授權角色
revoke create session from username / revoke teacher from usernmae

 

 

 

 

Profile
profile 是配置檔案 包含一組資源和密碼策略
profile可以通過DDL 語句 create user 或 alter uer 賦予用戶
profile 賦予用戶后 數據庫就要按照profile的規定來 限制用戶的資源使用

failed_login_attempts 最大登錄次數 默認10次
password_life_time 允許密碼使用天數 默認180天
password_lock_time 超過失敗次數之后鎖定時間 默認1天
password_grace_time 密碼失效天數 告警 默認7天
password_reuse_time 密碼在多少天內不能重復使用 ulimited
password_reuse_max 指定了當前密碼被重用之前密碼改變的次數 ulimited
session_per_user 制定了每個用戶的連接數 連接數必須小於連接池 ulimited

profile 將profile賦予用戶 不會影響當前會話 只能賦予用戶 如果創建時為賦予profile 則使用默認profile
系統默認profile

# 自定義profile 
create profile pro_common limit passwd_grace_time 10 password_lock_time default password_lift_time unlimited ; 
# 修改profile 
alter profile pro_common limit password_life_time 30; 
# 刪除profile 刪除后會默認綁定default profile 如果綁定profile 需要加上cascade
alter profile pro_common cascade;
# 賦予profile
alter user username profile pro_common;

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM