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

所属分类: 数据库 / oracle 阅读数: 1880
收藏 0 赞 0 分享

一、管理用户和安全性
在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存储过程中return和exit区别概述及测试

至于return和exit在oracle存储过程中的应用,有些新手朋友们还是比较容易混淆的,本文将针对这两个关键字进行详细对比下,感兴趣的你可以参考下,希望可以帮助到你
收藏 0 赞 0 分享

oracle查看当前日期是第几个星期的方法

oracle查看当前日期是第几个星期方法的代码段,需要的朋友可以参考一下
收藏 0 赞 0 分享

oracle删除已存在的表的实例

查询系统表,判断表是否存在,存在则直接删除
收藏 0 赞 0 分享

oracle中文乱码解决的办法

oracle中文乱码解决的办法,需要的朋友可以参考一下
收藏 0 赞 0 分享

Oracle中在pl/sql developer修改表的2种方法

Oracle中在pl/sql developer修改表的2种方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

oracle 创建表空间步骤代码

oracle 创建表空间步骤代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

Oracle 查看表空间的大小及使用情况sql语句

表空间使用情况包括:查看表空间的名称及大小/查看表空间物理文件的名称及大小/查看回滚段名称及大小等等感兴趣的你可以参考下本文
收藏 0 赞 0 分享

Oracle Form中COMMIT的概述及使用技巧

针对form上面的数据变动提交到后台数据库,同时数据库提交数据,接下来将详细介绍下Form中COMMIT的使用,感兴趣的你可以参考下本文
收藏 0 赞 0 分享

Oracle跨数据库查询并插入实现原理及代码

需要从一个数据库中的表GIS_WEICHAI_DATA_1S中的数据导入到另个一数据库的表GIS_WEICHAI_DATA_1S中,接下来为你讲解跨数据库查询并插入需要的朋友可以参考下
收藏 0 赞 0 分享

Oracle 存储过程发送邮件实例学习

接下来将介绍下如何使用存储过程发送邮件这一案例实现,感兴趣的你可以参考下本文或许对你有所帮助
收藏 0 赞 0 分享
查看更多