程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle日常維護中管理用戶以及重做日志文件的方法,oracle日常維護

Oracle日常維護中管理用戶以及重做日志文件的方法,oracle日常維護

編輯:Oracle教程

Oracle日常維護中管理用戶以及重做日志文件的方法,oracle日常維護


一、管理用戶和安全性
在db中各種對象以 用戶(方案) 的方式組織管理

    select distinct object_type from dba_objects;

        模式對象,schema ----> user.objects(某個用戶下的某個對象)

在創建對象和訪問對象前,首先創建對象的擁有者——用戶
        所有的對象在用戶下

用戶有相關的屬性,有些必須明確設置,有些可以使用默認值
        常見屬性:用戶名、口令、默認表空間(可默認)、臨時表空間(可默認)、賬戶狀態(可默認)、空間配額(可默認)、概要文件(可默認)等
        dba_users表

創建用戶

        1 確定用戶對象在表空間上的分布,從而確定表空間的配額

        2 確定用戶的默認表空間和臨時表空間,保持用戶數據的獨立性

        create user u1 identified by u1; --->默認 users表空間和temp表空間
        create user u2 identified by u2 default tablespace user_u2 temporary tablespace temp_u2; --->指定user_u2表空間和temp_u2表空間

                
        3 確定用戶的口令管理規則和資源閒置規則,設置Profile
                dba_users表可以查到profile文件

        4 創建用戶,設置口令

        5 給用戶賦予必要的角色和其他的直接權限
                一般要設置connect, resource給一個新用戶:

grant connect, resource to u1;
        grant creata session to u1;    --->設置會話的權限

刪除用戶

    drop user u1;

        如果用戶方案中包含對象,drop user u1 CASCADE;
        當前已經連接的用戶不能刪除

權限

        系統權限 + 對象權限
        grant授予,revoke回收
        sysdba和sysoper才能授予權限

    select * from session_privs;    --->查詢當前用戶的權限
    select * from session_roles;    --->查詢當前用戶的角色
    select * from role_sys_privs;    --->查詢當前用戶的角色權限
    select * from user_sys_privs;    --->查詢當前用戶的系統權限

二、重做日志文件
redo log files        重做日志文件或聯機日志
        archived log files        歸檔日志
        alert log files        告警日志
        trace files        user_dump_dest   用戶        background_dump_dest   進程

重做日志文件

查詢

    >select * from v$logfile;   

  status列:invalid該文件不可訪問(不存在或添加到該組的新logfile)|stale內容不完全|deleted不再使用

    >select * from v$log;    

status列:unused未寫入|current當前組,活動的|active非當前組,活動的,可能已歸檔也可能沒有|clearing正在重建空日志(執行了alter database clear logfile),完成後變為unused狀態

20151227164040727.png (301×209)

作用

        在數據庫發生故障時,可以重新處理事務
        記錄對數據所做的所有更改,提供恢復機制,可以劃分成組,至少兩個組,每組下至少有一個成員file

        寫日志時按組順序循環寫,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……
        日志切換:g1-g2-g3-……   自動切換   手工切換 (alter system  switch logfile)

規劃

        分散原則:每個組多個成員,成員互為備份,分開到不同的磁盤。例子:

20151227164103248.png (322×87)

        大小原則:組間切換時間滿足20分鐘左右的業務需求

增減刪

        新建組
 

    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狀態和current狀態不可刪
        刪除成員
 

    alter database drop logfile member '<logfile path&name>','<logfile path&name>',……;

        
        重命名成員(可以做日志移動等)

    ho cp <old> <new>
    alter database rename file '<old>' tp '<new>';

                 歸檔模式下 current狀態不可重命名;非歸檔模式下  都可以改

        【alter database noarchivelog|archivelog;】
       
異常處理

        啟動時日志不一致問題

    alter database clear logfile group <X>; 

active狀態和current狀態不可用

    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='*';

您可能感興趣的文章:

  • Oracle新建用戶、角色,授權,建表空間的sql語句
  • Oracle 添加用戶並賦權,修改密碼,解鎖,刪除用戶的方法
  • oracle 如何關閉打開歸檔日志

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