欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2025/3/20 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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状态

作用

在数据库发生故障时,可以重新处理事务

记录对数据所做的所有更改,提供恢复机制,可以划分成组,至少两个组,每组下至少有一个成员file

写日志时按组顺序循环写,g1(f1-f2-f3-……)-g2(f1-f2-f3-……)-g3(f1-f2-f3-……)-……

日志切换:g1-g2-g3-……   自动切换   手工切换 (alter system  switch logfile)

规划

分散原则:每个组多个成员,成员互为备份,分开到不同的磁盘。例子:

大小原则:组间切换时间满足20分钟左右的业务需求

增减删

新建组

alter database add logfile [group ] ('','',……) size , [group ] ……

添加成员

alter database add logfile member '' to group ,'' ……

删除组

alter database drop logfile group , group……

active状态和current状态不可删

删除成员

alter database drop logfile member '','',……;

重命名成员(可以做日志移动等)

ho cp

alter database rename file '' tp '';

归档模式下 current状态不可重命名;非归档模式下  都可以改

【alter database noarchivelog|archivelog;】

异常处理

启动时日志不一致问题

alter database clear logfile group ;

active状态和current状态不可用

alter database clear unarchived logfile group ;

日志文件丢失

alter database clear logfile group ;

归档模式下不能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 日志注册,Oracle日常维护中管理用户以及重做日志文件的方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。