Oracle日常維護(hù)中管理用戶以及重做日志文件的方法
一、管理用戶和安全性
在db中各種對象以 用戶(方案) 的方式組織管理
select distinct object_type from dba_objects;
模式對象,schema ----> user.objects(某個用戶下的某個對象)
在創(chuàng)建對象和訪問對象前,首先創(chuàng)建對象的擁有者——用戶
所有的對象在用戶下
用戶有相關(guān)的屬性,有些必須明確設(shè)置,有些可以使用默認(rèn)值
常見屬性:用戶名、口令、默認(rèn)表空間(可默認(rèn))、臨時表空間(可默認(rèn))、賬戶狀態(tài)(可默認(rèn))、空間配額(可默認(rèn))、概要文件(可默認(rèn))等
dba_users表
創(chuàng)建用戶
1 確定用戶對象在表空間上的分布,從而確定表空間的配額
2 確定用戶的默認(rèn)表空間和臨時表空間,保持用戶數(shù)據(jù)的獨立性
create user u1 identified by u1; --->默認(rèn) users表空間和temp表空間 create user u2 identified by u2 default tablespace user_u2 temporary tablespace temp_u2; --->指定user_u2表空間和temp_u2表空間
3 確定用戶的口令管理規(guī)則和資源閑置規(guī)則,設(shè)置Profile
dba_users表可以查到profile文件
4 創(chuàng)建用戶,設(shè)置口令
5 給用戶賦予必要的角色和其他的直接權(quán)限
一般要設(shè)置connect, resource給一個新用戶:
grant connect, resource to u1; grant creata session to u1; --->設(shè)置會話的權(quán)限
刪除用戶
drop user u1;
如果用戶方案中包含對象,drop user u1 CASCADE;
當(dāng)前已經(jīng)連接的用戶不能刪除
權(quán)限
系統(tǒng)權(quán)限 + 對象權(quán)限
grant授予,revoke回收
sysdba和sysoper才能授予權(quán)限
select * from session_privs; --->查詢當(dāng)前用戶的權(quán)限 select * from session_roles; --->查詢當(dāng)前用戶的角色 select * from role_sys_privs; --->查詢當(dāng)前用戶的角色權(quán)限 select * from user_sys_privs; --->查詢當(dāng)前用戶的系統(tǒng)權(quán)限
二、重做日志文件
redo log files 重做日志文件或聯(lián)機(jī)日志
archived log files 歸檔日志
alert log files 告警日志
trace files user_dump_dest 用戶 background_dump_dest 進(jìn)程
重做日志文件
查詢
>select * from v$logfile;
status列:invalid該文件不可訪問(不存在或添加到該組的新logfile)|stale內(nèi)容不完全|deleted不再使用
>select * from v$log;
status列:unused未寫入|current當(dāng)前組,活動的|active非當(dāng)前組,活動的,可能已歸檔也可能沒有|clearing正在重建空日志(執(zhí)行了alter database clear logfile),完成后變?yōu)閡nused狀態(tài)
作用
在數(shù)據(jù)庫發(fā)生故障時,可以重新處理事務(wù)
記錄對數(shù)據(jù)所做的所有更改,提供恢復(fù)機(jī)制,可以劃分成組,至少兩個組,每組下至少有一個成員file
寫日志時按組順序循環(huán)寫,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……
日志切換:g1-g2-g3-…… 自動切換 手工切換 (alter system switch logfile)
規(guī)劃
分散原則:每個組多個成員,成員互為備份,分開到不同的磁盤。例子:
大小原則:組間切換時間滿足20分鐘左右的業(yè)務(wù)需求
增減刪
新建組
alter database add logfile [group <X0>] ('<logfile path&name>','',……) size <Y>, [group <X1>] ……
添加成員
alter database add logfile member '<logfile path&name>' to group <X0>,'<logfile path&name>' ……
刪除組
alter database drop logfile group <X>, group……
active狀態(tài)和current狀態(tài)不可刪
刪除成員
alter database drop logfile member '<logfile path&name>','<logfile path&name>',……;
重命名成員(可以做日志移動等)
ho cp <old> <new> alter database rename file '<old>' tp '<new>';
歸檔模式下 current狀態(tài)不可重命名;非歸檔模式下 都可以改
【alter database noarchivelog|archivelog;】
異常處理
啟動時日志不一致問題
alter database clear logfile group <X>;
active狀態(tài)和current狀態(tài)不可用
alter database clear unarchived logfile group <X>;
日志文件丟失
alter database clear logfile group <X>;
歸檔模式下不能clear時,
recover database using backup controlfile;alter database open resetlog;
非歸檔模式不能clear時,
alter system set "_allow_resetlogs_corruption"=true scope=spfile;
startup;
alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';
相關(guān)文章
Oracle Max函數(shù)使用中出現(xiàn)的問題
在Oracle Max函數(shù)使用中,會出現(xiàn)一些問題,本文將介紹解決方法,需要的朋友可以了解下2012-11-11Oracle表中重復(fù)數(shù)據(jù)去重的方法實例詳解
這篇文章主要介紹了Oracle表中重復(fù)數(shù)據(jù)去重的方法實例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07Oracle參數(shù)設(shè)置教程之set和reset的實用案例
最近在學(xué)習(xí)oracle,學(xué)習(xí)中遇到了一些覺著有必要記錄下的內(nèi)容,所以下面這篇文章主要給大家介紹了關(guān)于Oracle參數(shù)設(shè)置教程之set和reset實用案例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起看看吧。2017-10-10Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法
這篇文章主要介紹了Oracle設(shè)置DB、監(jiān)聽和EM開機(jī)啟動的方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04Oracle中行列轉(zhuǎn)換的實現(xiàn)方法匯總
行列轉(zhuǎn)換是指將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),或?qū)⒘袛?shù)據(jù)轉(zhuǎn)換為行數(shù)據(jù)的過程,本文主要介紹了Oracle中行列轉(zhuǎn)換的實現(xiàn)方法匯總,用PIVOT和UNPIVOT函數(shù)來實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-02-02Oracle學(xué)習(xí)記錄之使用自定義函數(shù)和觸發(fā)器實現(xiàn)主鍵動態(tài)生成
這篇文章主要介紹了Oracle學(xué)習(xí)記錄之使用自定義函數(shù)和觸發(fā)器實現(xiàn)主鍵動態(tài)生成,需要的朋友可以參考下2015-11-11