源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Oracle日常维护中管理用户以及重做日志文件的方法

  • 时间:2022-04-22 17:27 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Oracle日常维护中管理用户以及重做日志文件的方法
[b]一、管理用户和安全性 [/b]在db中各种对象以 用户(方案) 的方式组织管理
    select distinct object_type from dba_objects;
        模式对象,schema ----> user.objects(某个用户下的某个对象) 在创建对象和访问对象前,首先创建对象的拥有者——用户         所有的对象在用户下 用户有相关的属性,有些必须明确设置,有些可以使用默认值         常见属性:用户名、口令、默认表空间(可默认)、临时表空间(可默认)、账户状态(可默认)、空间配额(可默认)、概要文件(可默认)等         dba_users表 [b]创建用户[/b]         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;    --->设置会话的权限
[b]删除用户[/b]
    drop user u1;
        如果用户方案中包含对象,drop user u1 CASCADE;         当前已经连接的用户不能删除 [b]权限[/b]         系统权限 + 对象权限         grant授予,revoke回收         sysdba和sysoper才能授予权限
    select * from session_privs;    --->查询当前用户的权限
    select * from session_roles;    --->查询当前用户的角色
    select * from role_sys_privs;    --->查询当前用户的角色权限
    select * from user_sys_privs;    --->查询当前用户的系统权限

[b]二、重做日志文件 [/b]redo log files        重做日志文件或联机日志         archived log files        归档日志         alert log files        告警日志         trace files        user_dump_dest   用户        background_dump_dest   进程 [b]重做日志文件[/b] [b]查询[/b]
    >select * from v$logfile;   
  status列:invalid该文件不可访问(不存在或添加到该组的新logfile)|stale内容不完全|deleted不再使用
    >select * from v$log;    
status列:unused未写入|current当前组,活动的|active非当前组,活动的,可能已归档也可能没有|clearing正在重建空日志(执行了alter database clear logfile),完成后变为unused状态 [img]http://files.jb51.net/file_images/article/201512/20151227164040727.png?20151127164051[/img] [b]作用[/b]         在数据库发生故障时,可以重新处理事务         记录对数据所做的所有更改,提供恢复机制,可以划分成组,至少两个组,每组下至少有一个成员file         写日志时按组顺序循环写,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……         日志切换:g1-g2-g3-……   自动切换   手工切换 (alter system  switch logfile) [b]规划[/b]         分散原则:每个组多个成员,成员互为备份,分开到不同的磁盘。例子: [img]http://files.jb51.net/file_images/article/201512/20151227164103248.png?20151127164111[/img]         大小原则:组间切换时间满足20分钟左右的业务需求 [b]增减删[/b]         新建组  
    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;】         [b]异常处理[/b]         启动时日志不一致问题
    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='*';
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部