大约1年前下载了Oracle Core Essential Internals for DBAs and Developers这本书的电子文档,浏览了书中内容,感觉很深奥,同时听从了一些前辈的建议,初学者不要去看这些高深的内容,就买了Thomas kyte的那本经典教材,结合E文原版一起作为入门管理的书籍。由于之前工作的主要职责还是基于PL/SQL业务逻辑开发和实现,涉及数据库管理方面的知识比较少;也就是一年前的时候,换了一份工作,工作侧重点就是数据库管理,刚开始写了一个触发器还被mentor责备了,说这不是我们DBA的工作范围。期间,上班时间都是德国时间,每天下午2点到晚上11点上班,第二天2点之前也有充足的时间,加上工作的内容不是很繁多,空余时间大部分时间就在学习ORACLE和实验操作中。时间很快就过去了,这段时间没有那么忙了,抽空回顾下过去的一年。

先说说这一年的工作吧,这边主要的工作职责就是管理德国客户的3台AIX oracle 数据库服务器和6台DB2数据库,共计60个数据库实例和对应的数据库。在客户机器上做任何变更之前都需要在自己的虚拟机上做好相关测试,工作用的笔记本上先装好两个虚拟机,一个做ORACLE,一个做DB2,后来DB2相关的任务都交给另一个同事做,我主要负责ORACLE 数据库的管理和DB2服务器的一些流程处理。接下来就是申请自己的帐号,熟悉客户的服务器环境和数据库运行状态。熟悉变更处理流程。做的第一个变更(内部说法---change),就是重启所有oracle数据库实例和监听。看起来很简单,做起来如果认真对待的话,会出事故的,(听mentor说,之前一个资深DBA做一样的change,但是忘记把监听起来了,结果第二天客户的投诉就到老板那里了,作为一个failed change 处理,这个涉及到team和个人的年底考核)。
      
         然后就是搭建新的环境和机器。每台aix上都运行1~30个左右的数据库实例,有几个比较大的需要迁移到新的服务器上去。部署的ORACLE 软件到AIX 6.1版本上,因为这里的分工比较明细,OS、网络和存储相关的工作都有其他人员完成。我们这边将相关参数、用户和组、权限、软件包等要去和相关人员交流下就可。
     
          接着就是部署自动备份脚本和文件系统监控,因为这边的数据库SLA要去是5*8,S1必须在有个小时内处理完成。客户机器上有oracle 9i, 10g,3台AIX 6.1。因为每台server上都运行5~30不等数量的实例,每天下班之后都需要进行备份。开始按照mentor 提供的DB2备份脚本,针对oracle 环境进行修改后部署到生产环境中去就可以了。这个看似不难,也有学问可做。比如,有个机器上运行这28个数据库实例,之前的shell备份脚本,写完28个数据库备份内容之后,上2000多行。后来使用Linux命令和shell for循环,简化脚本备份,不到200行代码就完成了。同样,对于数据库和服务器文件系统监控,每天运行几个监控脚本,查看文件系统容量和每个数据库表空间使用情况,将相关结果发送到自己的邮箱。因此,每天上班的第一件事就是查看邮件中是否有警告和备份失败的提示。
      
          然后就是数据库升级和补丁,全部升级到oracle 11.2.0.3,数据库升级前前后后持续了将近两个月。提出升级方案,和SDM、客户交流,每天非工作时间(上午8点到下午13点之间)进行一你定数量的数据库升级,解决升级中遇到的问题;因为都是单实例的数据库,数据库最大20G左右,从9i, 10g升级到11G,加上客户允许的停机时间比较长,所以接本上采用exp/imp 这种方式完成数据升级。当时也考虑过TTS。新的环境和原有的环境是一样的,所以11g软件是通过克隆过来的,中间节省了一些时间和省略了图形界面操作。刚开始升级的时候,没有考虑AIX系统内存和CPU资源问题,结果导致第一次升级后,服务器资源差不多耗尽,所有数据库hang住了,change差点被定为failed,做RCA分析。
    
          再就是打补丁,为了符合公司规范,每季度ORACLE公司发布相关补丁集之后,如果没特殊原因,必须打补丁。给OPatch打补丁,备份数据库和,给数据库打补丁,每次都是小心翼翼的。在这之后,对10个左右的数据库进行数据库字符集转换迁移,之前数据库基本上采用WES8ISO8859P1这个字符集,后面根据需要客户的要求,将数据库字符集转为AL32UTF8,经过和应用开发人员的调试,所有应用程序正常显示和使用。
       
        每个季度的第一个月都要对数据库进行监控检查,检查所有用户权限、监听配置文件属性、数据文件属性和profile属性设置等方面。然后就是QVB,数据库中的每个用户必须有一个所有者,没有所有者的用户全部要删除禁用。11g数据库开始都是使用exp/expdp进行全库备份的,保留3天备份记录,后面发现如果发生S1情况。一个小时候根本不够使用数据库备份进行恢复,而且备份的数据结果太大,占用很多空间。学习RMAN备份,根据条件对数据库进行增量备份,这样恢复会比较快,备份集占用的空间减少了很多。

其他方面的工作包括用户审计结果定期检查、设置审计策略、用户密码策略、根据客户要去和平时检查结果,对部分SQL 进行调优、使用SHELL 和SQL进行编程等等,客户的环境是AIX,办公电脑是Redhat 操作系统,虚拟机也是Redhat,因此对AIX、LINUX都需要有一定的了解。后面还专门看了IBM官方网站上的技术专题,对AIX存储结构和管理方法进行深度了解。

总的来说,在这一年工作中,收获还是比较丰富的,对于ORACLE数据库管理有了一定的认识,可以说是入门了,后续的修行还得自己的努力;工作业务流程熟悉了,和SDM、客户能顺意交流和沟通。除了个人的努力,周围同事、老板和mentor 的帮助是必不可少的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21754115/viewspace-1259218/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21754115/viewspace-1259218/

简单回顾下过去这一年的工作相关推荐

  1. 【Redis】回顾下Redis的过期策略

    CSDN话题挑战赛第2期 参赛话题:面试宝典 金九银十之际,一定有很多朋友出去面试,通过每一次的面试,都可以检查一下自己的技术能力是什么样的,所以在面试前的准备是必不可少的环节. 俗话说的好:从不打无 ...

  2. 简单了解下 TCP,学习握手和挥手以及各种状态到底是怎么样的

    一口气真的吃不下 TCP,对着资料整理好多天,滑动窗口.重传等留到下一次博客,这里先简单认识下 TCP 以及其连接与断开 内容比较干,如果认真看完一定对您有一定帮助. TCP基本认识 TCP头格式 序 ...

  3. 简单说下YOLOv1、v2、v3、v4各自的特点与发展史

    文章目录 一.任务描述 二.设计思想 三.发展历程 YOLOv1 YOLOv2 YOLOv3 YOLOv4 四.总结 一.任务描述 目标检测是为了解决图像里的物体是什么,在哪里的问题.输入一幅图像,输 ...

  4. 中国2017 Google 开发者大会第一天简单回顾

    昨天有幸参加了中国2017 Google 开发者大会,在这第一天就收获满满,昨天太忙了,今天早晨来一起简单回顾一下,可以让没有参加的童鞋们感受一下现场的温度. 早早就来到了会议现场,外面看不出什么特别 ...

  5. 【RabbitMQ】回顾下RabbitMQ知识点,还记得哪些?

    回顾下RabbitMQ知识点,还记得哪些? 什么是RabbitMQ? 为什么要选择RabbitMQ,不选其他MQ? 使用MQ可以解决那些问题? RabbitMQ如何保证消息的有序性? 如何防止MQ消息 ...

  6. Example017简单的下拉框

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  7. springdatajpa命名规则_简单了解下spring data jpa

    公司准备搭建一个通用框架,以后项目就用统一一套框架了 以前只是听过jpa,但是没有实际用过 今天就来学习下一些简单的知识 什么是JPA 全称Java Persistence API,可以通过注解或者X ...

  8. html下拉折叠菜单,原生Js_实现简单的下拉折叠菜单(添加弹出动画效果)

    用javascript实现简单的下拉折叠菜单 Gary_js实现简单的下拉折叠菜单 *{margin:0px; padding:0px;} #div1 {width:200px; margin:0 a ...

  9. JNI之C语言简单回顾

    JNI之C语言简单回顾 一.C语言基本数据类型:  c语言中  char, int, float, double, signed, unsigned, long, short and void // ...

最新文章

  1. 怎么样才可批量导出word文档中的照片 不再一张一张的另存为!
  2. 柯里化思想--JS中的预处理机制
  3. ThingsBoard 小结
  4. pinctrl虚拟spi的linux驱动,linux内核pinctrl驱动的理解和总结
  5. oracle 常用知识点整理
  6. Godaddy Windows主机组件支持情况
  7. 给爱设计的你,一个理由爱上(和使用)渐变素材的理由
  8. 【体系结构】shared pool的个人理解
  9. 给 WordPress 博客添加 Tabs 标签切换功能
  10. android UI进阶之仿iphone的tab效果
  11. node重命名文件名_node文件批量重命名
  12. 大文件下载插件webupload插件
  13. k8s系列03-kubeadm部署calico网络的k8s集群
  14. android 拍照水印日期,胶片日期水印app安卓版-胶片日期水印手机版预约v1.0-发卡屋...
  15. 人工智能技术的热潮让不少创业浪潮迅速崛起
  16. 目标检测系列:SSD系列SSD、FSSD、DSSD、DSOD
  17. magicmatch java_签名图片一键批量生成 使用Java的Webmagic爬虫实现
  18. 线性dp,后缀处理——cf1016C好题
  19. JavaScript之DOM学习笔记
  20. 9.1.4 用 send2trash 模块安全地删除

热门文章

  1. element-ui表格列宽度根据内容计算最小宽度min-width实现自适应参考
  2. HttpClient的使用 (dotnetcore) (.netcore)
  3. XShell传输文件(CentOS7)
  4. java I/O流:字节流和字符流(概要及其方法)
  5. VC++中利用磁盘序列号识别正版软件
  6. Android P中的AVB校验(一)
  7. JavaScript 生成唯一ID的几种方式
  8. linux 修改网卡报错xe,启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结...
  9. 云平台是什么?知名云平台有哪些?
  10. vscode 函数定义跳转与回退