阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle知识集锦:对Oracle数据库进行监控检查

403次阅读
没有评论

共计 4495 个字符,预计需要花费 12 分钟才能阅读完成。

整理了一些 Oracle 基础知识,与大家分享。

1、如何对 Oracle 数据库进行监控检查

sqlplus ‘/as sysdba’

手动生成一个 oracle 数据库的快照

execute dbbms_workload_repository.create_snapshot();

执行自动工作负载库的 sql 脚本

@?/rdbms/admin/awrrpt.sql; @表示在数据库中执行 sql 脚本,?指 $ORACLE_HOME 目录

接着输入想要分析的时间数字即可

默认导出的是 html 格式

生成自动诊断报告

sqlplus / as sysdba

@?/rdbms/admin/addmrpt.sql

然后输入相应的数字

2、Oracle 完全之 dbf 文件出现问题,ORA-01219

alter database datafile ‘/data/app/oradata/ora237/users01.dbf’ offline drop;

强制删除该故障文件

3、检查 Oracle 数据库和日常维护数据库

检查数据库日志

数据库最重要的日志为警告日志,alert_sid.log 一般位于 $ORACLE_BASE/admin/ORACLE_SID/bdump 目录下

也可以在数据库中执行

show parameter background_dump_dest;

根据上面返回结果使用 cat 查看,重点关注 ORA- 或者 Errors 关键字

检查数据库的数据文件是否为自动扩展

select file_id,file_name,tablespace_name,autoextensible from dba_data_files;

4、Oracle 之 logminer 日志分析

alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

select sysdate from dual;

执行增删操作

alter system switch logfile;    切换当前的重做日志已以生成归档日志(相当于将之后的操作重新放到另一个日志中)

alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’; 修改格式方便查看

select sequence#,first_time from v$log_history order by first-time desc;

归档日志默认放在 /u01/app/oracle/flash_recovery_area/ORCL/archivelog

查看分析日志

select t.FIRST_TIME,t.NAME from v$archived_log t order by t.FIRST_TIME desc;

使用 logminer 分析数据

conn /as sysdba

execute dbma_logmnr.add_logfile(logfilename=>’/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011-05_04/01_mf_1_12_6w0mmgmd_.arc’,options=>dbms_logmnr.new);

启动 logminer

execute dbms_logmnr.start_logmnr (options=>dbms_logmnr.dict_from_online_catalog);

把分析数据放入表中,并把表的权限授权给普通用户

create table logminer_20110504 tablespace BANK_TBS as select * from v$logmnr_contents;

grant select on logminer_20110504 to bankuser;

结束 logminer 分析

execute dbms_logmnr.end_logmnr;

查看分析日志结果

select t.timestamp,t.sql_redo,t.sql_undo from sys.logminer_20110504 t where t.seg_owner=’BANKUSER’ and t.sql_undo is not null;

5、Oracle 审计的激活与取消

审计 audit 用户见识用户所执行的操作,并且 oracle 会将审计跟踪结果存放到 os 文件或数据库中

激活审计

conn /as sysdba

show parameter audit_sys_operations; 查看审计参数

alter system set audit_sys_operations=TRUE scope=spfile; 设置审计参数为 true

alter system set audit_trail=db scope=spfile;

startup force; 重启生效

show parameter audit_sys_operations; 查看审计参数

定义需要审计的表

execute dbms_fga.add_policy(object_schema=>’bankuser’,object_name=>’emp’,policy_name=>’chk_emp’,statement_types=>’insert,update,delete’);

给普通用户授权查看 审计表

grant select on dba_fga_audit_trail to bankuser;

执行增删操作,查看对表的审计

select t.timestamp,t.sql_text from sys.dba_fga_audit_trail t;

取消审计

execute dbms_fga.drop_policy(object_schema=>’bankuser’,object_name=>’emp’,policy_name=>’chk_emp’);

6、把 Oracle 数据库恢复到某个时间点或者某个 scn

alter session set nls_date_format=’yyyymmdd hh24:mi:ss’;

select sysdate from dual;

conn dbauser/123456; 随便一个用户,然后删除其中的一张表用来做测试

drop table test;

rman target/

startup mount;

restore database; 还原数据文件

sql ‘alter session set nls_date_format=”yyyymmdd hh24:mi:ss”‘;  因为在 rman 中执行,所以需要 sql‘’;

recover database until time ‘20110414 11:33:56’; 恢复到这个时间的数据,执行之后需要重新生成重做日志文件

sql ‘alter database open resetlogs’;

scn 是指系统改变号,oracle 数据库使用它来记录数据库的过去时间内的状态和轨迹

conn /as sysdba

select dbms_flashback.get_system_chage_number from dual;

select to_char(scn_to_timestamp(963959),’YYYY-MM-DD HH24:MI:SS’) from dual;      将 scn 转换为时间

select * from (select time_dp,scn from smon_scn_time order by time_dp desc) where rownum<10;  根据用户删除数据时间找出相应的 scn 号

rman target/

startup mount;

restore database; 还原数据文件

recover database until scn 963915;

sql ‘alter database open resetlogs’; 重新生成重做日志文件

7、Oracle 重做日志文件硬盘坏掉解决方法

rman target/

list backup;

list backup summary;

删除数据库数据文件夹下的 log 日志,例如 /u01/app/oracle/oradata/ORCL 下的所有后缀为 log 的文件

sqlplus / as sysdba

alter system switch logfile; 因为没有重做日志文件,会一直处于等待装填,如果需要切换日志,数据库将会报错

shutdown immediate;

startup 也会报错

recover database until cancel; 重新设置 oracle 数据库的重做日志文件(这种恢复属于不完全恢复数据库)

alter database open resetlogs; 重新生成重做文件

archive log list; 查看日志

8、Oracle 使用 flashback 时,没有显示 undosql

这是因为 oracle11g 没有开启这个功能

用管理员用户 sys(也就是 sysdba)执行以下语句即可

alter databases add supplemental log data;

如果我们想恢复某些数据,执行 (查看误操作的 sql 语句,例如我们不小心删除了 test 表的某条数据,再从下面的结果中复制 insert 语句并执行即可)

select undo_sql from flashback_transaction_query where table_name=’TEST’;  #注意 oracle 中 where 后面的表名需为大写,否则会提示找不到表

显示在前面的结果为最新的操作

将 scott 用户的 test 表恢复到 10 分钟前的数据

flashback select * from scott.test to timestamp sysdate-10/1440;

不小心误删某个数据库表,使用 flashback 恢复

create table test(a int) tablespace USERS; 后面 tablespace 部分不能缺少,否则删除后无法进入回收站

drop table test;

flashback table test to before drop; 原数据库表里面的数据也恢复了

9、Oracle 数据库经常提示 27102 out of memory 解决方法

网上有很多解决方案,但是我一个也看不懂,不知道写的什么鬼的东西,为什么一句话就能解决的事,非得长篇大论说原理是什么,看得一脸懵逼

我的解决方法入戏

vi /etc/sysctl.conf

修改 kernel.shmall(共享内存总量)的值,该值原来为 2097152,我把它给为 4097152(暂时不知道应该改什么值,但是把这个值变大就对了,我就是随便吧第一位的 2 改为 4,然后问题就自动解决)了,然后 sqlplus / as sysdba

执行 select status from v$instance; 没有再提示 out of memory 错误,而是正常显示 open

更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4495字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7802692
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...