zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

Oracle文件方法日志 管理 用户 以及 维护
2023-06-13 09:20:06 时间

  模式对象,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="*";

我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题

本站部分文章参考或来源于网络,如有侵权请联系站长。
数据库远程运维 Oracle日常维护中管理用户以及重做日志文件的方法