数据库日常运维中的几个操作建议

    如果你去看其他DBA的操作的时候,如果要判断他们水平的高低,我想就是通过一些操作的差别来看了,而水平高低就体现于此。细节决定成败,越是看起来简单的操作越是要严谨,一丝不苟。
我们来简单举几个例子,可以作为参考。有更多的见解欢迎大家提出来,我们来集思广益,把大家认为需要的,重要的操作都整理成可行的,实用的。
1.停止数据库
shutdown immediate应该是停止数据库的首先方案,而如果你选择shutdown abort的方式,先去面壁。
在删除数据库之前,你需要考虑哪些方面呢。
    首先你需要判断这是一个主库还是备库,
select database_role from v$database;
如果显示为Primary,那就一定要小心了。你是否确实要停这个库
    然后查看数据库的状态
select open_mode from v$database;
有RAED ONLY,READ WRITE,MOUNTED几种状态
    然后查看会话的使用情况
select username,count(*)from v$session group by username;
这个步骤是停止数据库必看,如果已经有会话一定要确认是否需要停止应用端,是否连接了正确的数据库。
明确了以上的基本条件,确认没有相关的会话,那就可以shutdown immediate了。

2.启动数据库
数据库启动中的问题较多,我只是简单给出几个概要步骤,如果你启动数据库是直接一条命令startup,也需要面壁
启动最起码是从nomount,mount,open这几个阶段一步一步来。尤其是哪些异常宕机的数据库,你的有些不经意的操作就会使得恢复从可能变为不可能。在此主要说计划内的数据库重启。
首先是startup nomount这个阶段启动之后,还是需要查看是否启用spfile,使用show parameter spfile来看,然后查看数据库日志,启动的过程中是否有一些异常,大页是否开启,是否有NUMA的报警,是否有memlock的报警。
alter database mount,数据库启动到这个阶段本身不难,但是这个阶段是一个分水岭,数据库还原恢复相关的操作都需要在这个阶段完成
所以我们需要查看v$recover_file是否数据文件状态都正常.
如果需要更多的恢复,这个阶段就要把握好了。
最后是alter database open阶段,数据库是否可用就在这个阶段了。可用使用select open_mode,database_role from v$database来查看.
计划外的场景要复杂的多,就不再赘述了。

3.杀掉会话
杀掉会话,整个世界就清净了。但是kill session这种操作还是有些建议。
首先我们得到的是一个基本的信息,session的sid,serial#信息,我们在kill  之前还是需要做一些简单的准备工作。
select paddr,username,osuser,machine from v$session where sid=xxx and serial#='xxxx';
得到了会话的基本信息之后,我们在数据库中关联进程得到系统的进程pid,主要适应输出的paddr字段。
然后关联v$process来得到对应的进程号。
select spid from v$process where addr='xxxxx'
如果确认需要kill  session,则有很大的余地,如果清理数据库层面的会话有一些较大的延迟,我们可以直接清理系统级进程,否则这个过程就会麻烦很多。

4.创建用户
如果有一天,接到了一个需求是创建一个用户,需要有查询表test_tab的权限即可。对于这个需求我们还是需要考虑很多的方面。
--查询表属主
select SYNONYM_NAME, TABLE_OWNER, TABLE_NAME from dba_synonyms where SYNONYM_NAME=upper(‘test_tab’);
--创建profile,限制访问的会话数
create profile app_smartpt_db_profile limit SESSIONS_PER_USER 5;  
--创建用户
create user app_smartpt_db identified by xxx;
alter user app_smartpt_db profile app_smartpt_db_profile;
--或
--create user app_smartpt_db identified by asdfwegweger profile app_smartpt_db_profile;

--授权,注意此处,多一点权限都不多给
grant create session to app_smartpt_db;
grant select on ACCSTAT.security_phone_apply to app_smartpt_db;

--创建同义词
create synonym app_smartpt_db.test_tab for ACCSTAT.test_tab;

所以不要忽视这些看起来很简单的操作。

时间: 2024-09-20 00:11:40

数据库日常运维中的几个操作建议的相关文章

巧用利器Powershell,让数据库自动化运维事半功倍

作者介绍 许昌永,高级DBA,微软SQL Server MVP,十年以上SQL Server使用经验.曾就职于腾讯公司,从事了六年游戏行业SQL Server数据库开发和管理.目前就职于跨境电商DX.COM三年多,负责公司SQL Server和MongoDB的数据库架构设计.高可用部署.运维管理和性能优化等工作.翻译出版了书籍<PowerShell V3--SQL Server 2012数据库自动化运维权威指南>.   目前市场上针对SQLServer的图书,好的原创图书屈指可数,翻译的图书较

DBA避坑宝典:Oracle运维中的那些事儿

对于Oracle运维中的那些事儿,我的最终目的:不是比谁更惨,而是能够从中吸取经验和教训. 从我的理解来看,我会从下面的几个方面来进行说明DBA运维中的一些事儿. 每个部分都是非常关键的,缺一不可,而且每一部分都有很多的东西可以细化,我会逐一展开来说. (一)环境篇   首先来说说环境篇. DBA的角色及分工 对于DBA的分工,以前的公司对于DBA角色划分粒度还是很细的. 大体是按照核心和客户化定制层来划分的,核心层主要负责产品化,客户化层面主要负责定制.属于不同的产品线但又彼此紧密关联. Ph

mysql日常运维

DBA运维工作 日常 导数据.数据修改.表结构变更 加权限.问题处理 其它 数据库选型部署.设计.监控.备份.优化等 日常运维工作 导数据及注意事项 数据最终形式(csv.sql文本,还是直接导入到某个库中) 导数据的方法(mysqldump.select into outfile) 导数据注意事项 导出为csv格式需要file权限,并且只能数据库本地导 避免锁库锁表(mysqldump使用–single-transaction选项不锁表) 避免对业务造成影响,尽量在镜像库做 简单案例 数据修改

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——第2章 SQL Server和PowerShell基础任务2.1 介绍

第2章 SQL Server和PowerShell基础任务 PowerShell V3--SQL Server 2012数据库自动化运维权威指南 2.1 介绍 本章介绍使用PowerShell完成一些基本的SQL Server任务的脚本和代码片段.我们将从简单任务开始,例如,列出SQL Server实例,创建对象,如表.索引.存储过程和函数,让你轻松以编程方式使用SQL Server. 你会发现一些使用PowerShell和SQL管理对象(SQL Management Object,SMO)的方

搜狐畅游高级DBA:Oracle运维中的实战经验和应对技巧

作为一个孜孜不倦.已连续坚持技术写作800多天的技术分享人,搜狐畅游资深数据库专家杨建荣在Gdevops全球敏捷运维峰会北京站的讲台,给现场带来了一场题为<Oracle运维中的些实战经验和应对技巧>的深度分享.他匠心独运,见微知著,先从国内外食品安全事件讲起,再在反思诱因的过程中类比到运维问题,进而引申出对体系.预防.规矩和工具四大问题的探讨.   (点击"这里"听杨建荣演讲完整录音)   古有云:"欲事之无繁,则必劳于始而逸于终",如果想要整个运维体系

《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——第1章 开始使用SQL Server和PowerShell 1.1 简介

第1章 开始使用SQL Server和PowerShell PowerShell V3--SQL Server 2012数据库自动化运维权威指南1.1 简介PowerShell是一款拥有Shell和脚本能力的可管理工具,可以用来调用Windows管理规范(Windows Management Instrumentation,WMI).COM组件和.NET库.PowerShell在一代一代的微软产品中变得更加杰出.在大量的.新的.即将发布的微软产品中,对于它的支持是捆绑式的,并有所加强.Windo

2017年中华数据库与运维大会正式启动,这个可以约!

时隔一年,中华数据库与运维大会将于2017年06月03日在上海强势回归,届时来自全国各行各业的IT从业人员将欢聚于2017中华数据库与运维大会,探讨与交流数据库和运维的经验. 以下中华数据库与运维大会信息由活动家提供,篇幅所限,最新最全中华数据库与运维大会通知请点击下方链接了解: https://www.huodongjia.com/event-1685066679.html [会议概况] 自2009年以来,超过4000位技术总监.技术负责人.架构师.项目经理.运维总监.运维经理.DBA经理.D

ITIL在数据中心运维中的应用

随着数据中心建设规模越来越大,运维的工作变得十分重要.运维的工作效率与好坏在一定程度上决定了数据中心的整体水平.数据中心运维工作涉及两大方面:一是确保数据中心的稳定性而对数据中心各个环节进行维护;二是当数据中心内出现问题时,能够及时定位并且解决,以缩短故障时间.前一个是基础,后一个是关键.这就像当兵打仗,俗话说"养兵千日,用在一时",平时对数据中心各个方面进行了精心的检查和熟悉,对整个数据中心状况了如指掌,那在数据中心发生故障时,才能迅速找到痛点,明确故障原因,并采取恢复措施.一个数据

威胁情报在甲方安全运维中的应用

前言 很多企业使用 SIEM 来收集日志数据,并将安全事件与多类安全设备(入侵检测设备.Web应用防火墙等)日志相关联,指导安全人员进行风险处置.然而 SIEM 也存在局限,监控人员往往被淹没在海量的告警之中无从下手,原因之一就是对于威胁的告警没有处理的依据,例如缺乏经验的监控人员很难判定一条安全事件告警是扫描还是针对性攻击引起的(通常后者需要更多关注).而通过借助于威胁情报,可为监控人员提供处理依据,也可为安全人员在进行日志分析和攻击溯源时提供有力帮助. 在本文中,来自证通股份有限公司的安全管