【小张和Oracle数据库】Java两年半练习生裁员后竟然找到了一份DBA的工作?

news2024/11/17 11:33:42

一、引言

大家好,我叫张小念(小名念念),家里人都叫宝儿。

一个java两年半的练习生,经历了起起伏伏的疫情时代,终于在java一行也算是入了门。

但是,计划永远赶不上变化,

有一天经理突然发消息说:“哎呀,疫情时代没赚到钱,部门要裁一批人… ”

在这里插入图片描述

巴拉巴拉说了一大堆,也就是说念念也没有抵得了这波潮~

小念心想:哇靠,疫情的时候这么难都没裁人,咋还放开了还润了…

管他呢,拿了补偿直接出去旅游,先玩了再说…


就这样,小念同学在这2个月去了苏州,大理 又趁着空隙回了趟老家…

终于,2个月后的某一天,小张同学终于想着要找工作了,

说干就干,直接上招聘软件开聊约面试

就这样找了两个月,也去了面试,一共也就5家面试。

毕竟张同学的简历是中途转行自学进来的,现在的招聘软件第一条就是计算机专业…所以很多家公司连面试的机会都没有。

在这样不找工作,直接吃老本了,这个时候,小张已然有点着急了。

赶紧在群里面问问最近有小伙伴再找工作吗?

嘿,没想到还真有~

详细一聊发现,这孩子已经找了半年了,张小念瞬间觉得自己又行了,赶紧躺着开了一局王者农药~

又过了大半个月,终于在家里面的催促,疯狂投递简历

只要是计算机行业的,投!再投!疯狂投!

几天之后,念宝无意又仔细的阅读了这篇巨大的招聘要求,此时心里只有一句

在这里插入图片描述

因为这个招聘要求是:

1.踏实肯干,抗压能力强

2.熟练使用维护Oracle数据库

3.精通Linux,Unix

4.熟练使用C#,Java语言

5.熟练shell脚本

念念心想,这尼玛要求太高了, 我就是个初级…

就在念念陷入绝望之际,奇迹出现了------几天之后那边的HR打电话询问念念啥时候能过去面试一下。

这有面试还说啥,直接开干,面试的结果居然也出乎意料,当即就要求他第二天就来上班。

这念念回家不时的掐一下自己,在现在互联网如此恶劣的情况下,这个面试竟然这么快就拍板了~


二、开干:数据字典应用实例

念念上班的第一天,公司的部门主管见了他,并让他进行一个月的试用期工作,跟他说:

“考虑到你刚来公司,这一个月给你安排一点轻松的活,主要是想要让你熟悉一公司的数据库系统,因此你这一个月主要是把公司的Oracle数据库的配置和结构等做成文档发给我。”

这一个有一个惊喜,直接把念念干晕了,这真的是祖宗显灵了~

但是一开始工作念念就遇到了麻烦,发现前任DBA早已离开了公司,而且啥资料都没有留下,真的是干干净净的来,干干净净的走啊。而且很多工作是由公司的It来做的,但是公司没有设置这一职位,所以很多工作都是要从头开始,而且就只有念念一个人开干。

不管怎样,还是要干的不是吗?公司已经提供了平台,就算念念之前没搞过Oracle现在也得连夜学习突击,硬着头皮上了。


直接先链接到数据库,链接之后

先想着拿到公司Oracle数据库的基础信息

于是念念想到了数据字典v$database

SELECT name,created,log_mode,open_mode from v$database;
NAMECREATEDLOG_MODEOPEN_MODE
HELOWIN2016/1/4 1:28NOARCHIVELOGREAD WRITE

此时:

​ 念念发现,公司数据库名字叫helowin,创建时间居然是2016年,数据库运行模式在归档模式

,数据库的状态是可读可写【也就是正常状态】。


之后想着看看Oracle运行在的计算机的主机名字,实例名和oracle数据库的版本。

SELECT host_name,instance_name,version FROM v$instance;
HOST_NAMEINSTANCE_NAMEVERSION
d26786b358b3helowin11.2.0.1.0

这个时候晓得了运行在d26786b358b3这个机器上面,实例名字还是helowin,后面是版本号。


因为公司购买了一些商业软件,这对Oracle数据库管理系统有一些特殊的要求,于是念念利用数据字典v$version继续发起了查询

SELECT banner FROM v$version
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

显示的是一些信息。


接下来利用数据字典来获取控制文件的名字

SELECT name FROM v$controlfile
NAME
/home/oracle/app/oracle/oradata/helowin/control01.ctl
/home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl

这里可以清楚的看到,数据库有两个控制文件,放在了同一个磁盘下的不同目录。


为了获取公司Oracle数据库的重做日志和配置信息

念念想到了数据字典v$log.

SELECT group#,members,bytes,status,archived FROM v$log
GROUP#MEMBERSBYTESSTATUSARCHIVED
1152428800INACTIVENO
2152428800CURRENTNO
3152428800INACTIVENO

这个时候,宝儿看到了oracle一共有三组重做日志,

每个重做日志组中只有一个成员,

每个重做日志成员大小为50MB,都没有被归档【ARCHIVED=no】

数据库当前正在操作的重做日志为2组【STATUS=CURRENT】


当然他也想知道每个重做日志【成员】文件所存放的具体位置。

于是他又想到了数据字典v$logfile。

SELECT group#,member FROM v$logfile
GROUP#MEMBER
3/home/oracle/app/oracle/oradata/helowin/redo03.log
2/home/oracle/app/oracle/oradata/helowin/redo02.log
1/home/oracle/app/oracle/oradata/helowin/redo01.log

这个时候就是显示的存放地址了。


为了评估公司的Oracle数据库的备份和恢复策略并确定归档文件的操作位置


archive log list

如果这个命令报错的话,查看一下这个文章解决问题。

解决办法:亲测好用

Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     24
Current log sequence           26

接下来,念念又想知道公司的Oracle数据库到底有多少表空间以及每个表空间的状态,这个时候,他想起来数据字典dba_tablespace。

于是:

SELECT tablespace_name,block_size,status,contents,logging FROM dba_tablespaces;
SYSTEM8192ONLINEPERMANENTLOGGING
SYSAUX8192ONLINEPERMANENTLOGGING
UNDOTBS18192ONLINEUNDOLOGGING
TEMP8192ONLINETEMPORARYNOLOGGING
USERS8192ONLINEPERMANENTLOGGING
EXAMPLE8192ONLINEPERMANENTNOLOGGING
WATERBOSS8192ONLINEPERMANENTLOGGING
DOG_DATA8192ONLINEPERMANENTLOGGING

由此可见,一共有7个表空间,数据大小都为8KB,

都是联机状态,除了TEMPEXAMPLE这两个表,其他的都受重做日志的保护!

其中temp为临时表(排序时用),而UNDOTBS1为还原表空间,其他都是永久的表空间。


当念念以及知道以上表空间的信息之后,

他当然也想了解每个表存放在哪个磁盘上面以及文件的名字等信息。

此时他想起来数据字典【dba_data_files】


SELECT file_id,file_name,tablespace_name,bytes/1024/1024 MB FROM dba_data_files;
FILE_IDFILE_NAMETABLESPACE_NAMEMB
5/home/oracle/app/oracle/oradata/helowin/example01.dbfEXAMPLE100
4/home/oracle/app/oracle/oradata/helowin/users01.dbfUSERS5
3/home/oracle/app/oracle/oradata/helowin/undotbs01.dbfUNDOTBS195
2/home/oracle/app/oracle/oradata/helowin/sysaux01.dbfSYSAUX680
1/home/oracle/app/oracle/oradata/helowin/system01.dbfSYSTEM690
6/home/oracle/app/oracle/product/11.2.0/dbhome_2/dbs/c:waterboss.dbfWATERBOSS100
7/home/oracle/app/oracle/product/11.2.0/dbhome_2/dbs/c:dogdata.dbfDOG_DATA100

上述结果显示了文件名,文件的位置,以及文件的所属空间,最后那个大小,就是把字节变成MB显示最后的单位也是MB咯。


最后,念宝儿想知道公司的oracle数据库系统上到底有多少用户和什么时候创建。

这个时候字典表就是dba_users;

于是


SELECT username,created FROM dba_users;

USERNAMECREATED
WATERUSER2023/5/25 15:43
DOG2023/5/30 15:32
SYSMAN2009/8/15 0:40
SYSTEM2009/8/15 0:17
SYS2009/8/15 0:17
MGMT_VIEW2009/8/15 0:42
DBSNMP2009/8/15 0:24
SPATIAL_WFS_ADMIN_USR2009/8/15 0:39
SPATIAL_CSW_ADMIN_USR2009/8/15 0:40
HR2014/8/23 6:26
APEX_PUBLIC_USER2009/8/15 0:43
OE2014/8/23 6:26
DIP2009/8/15 0:19
SH2014/8/23 6:26
IX2014/8/23 6:26
MDDATA2009/8/15 0:36
PM2014/8/23 6:26
BI2014/8/23 6:26
XS$NULL2009/8/15 0:31
ORACLE_OCM2009/8/15 0:19
SCOTT2009/8/15 0:50
OLAPSYS2009/8/15 0:36
SI_INFORMTN_SCHEMA2009/8/15 0:31
OWBSYS2009/8/15 0:49
ORDPLUGINS2009/8/15 0:31
XDB2009/8/15 0:29
ANONYMOUS2009/8/15 0:29
CTXSYS2009/8/15 0:29
ORDDATA2009/8/15 0:31
OWBSYS_AUDIT2009/8/15 0:49
APEX_0302002009/8/15 0:43
APPQOSSYS2009/8/15 0:24
WMSYS2009/8/15 0:25
EXFSYS2009/8/15 0:29
ORDSYS2009/8/15 0:31
MDSYS2009/8/15 0:31
FLOWS_FILES2009/8/15 0:43
OUTLN2009/8/15 0:17

三、新的开始

经过不懈努力,张小念终于把公司的数据库的基本结构摸清楚了,

然后他就开始写了他人生中也是公司有史以来第一份Oracle数据库文档

他用了两周多的时间完成了这里程碑式的意义的重要文档,其中当然自己也添加了很多精彩的分析和注释。

交给经理的时候,经理满意的点了点头。

这个时候,宝儿知道了,他的暂时性危机算是解除了,接下来的路将更为凶险…

但是,Java练习生有什么可以畏惧的呢? 小张这样想到…


ok 那先这样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604751.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Makerbase SimpleFOC ESP32 例程3 I²C双编码器测试(AS5600)

Makerbase SimpleFOC ESP32 例程3 IC双编码器测试(AS5600) 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1ESP32 FOC V1.0 主板12YT2804电机2312V电源适配器14USB 线156pin杜邦线2 注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360连续运…

Makerbase SimpleFOC ESP32 例程2 双电机开环位置测试

Makerbase SimpleFOC ESP32 例程2 双电机开环位置测试 第一部分 硬件介绍 1.1 硬件清单 序号品名数量1ESP32 FOC V1.0 主板12YT2804电机2312V电源适配器14USB 线1 注意:YT2804是改装的云台无刷电机,带有AS5600编码器,可实现360连续运转。 主要参数如…

区间预测 | MATLAB实现基于QRCNN-GRU-Multihead-Attention多头注意力卷积门控循环单元多变量时间序列区间预测

区间预测 | MATLAB实现基于QRCNN-GRU-Multihead-Attention多头注意力卷积门控循环单元多变量时间序列区间预测 目录 区间预测 | MATLAB实现基于QRCNN-GRU-Multihead-Attention多头注意力卷积门控循环单元多变量时间序列区间预测效果一览基本介绍模型描述程序设计参考资料 效果一…

菱形图案打印、水仙花数、买汽水

目录 菱形图案打印 上三角 下三角 拓展:带空格直角三角形图案 代码一 代码二 水仙花数 拓展:变种水仙花数 买汽水 代码一 代码二 妙用汽水瓶 菱形图案打印 题目要求 其实呢这道题很多人想到直接用printf()进行输出,我想说的是&#…

开源:小狐狸GPT付费AI-v2.0.0 H5和小程序端增加使用手册

小狐狸GPT付费AI体验系统、系统版本更新至1.2.0,源码为小程序、H5、WEB版本,购买含更新,独立版;开源、开源、开源、可二开!!200包含H5、web的vue全开源,最新版更新了:H5和小程序端增…

打造一个你自己图标exe的Python脚本启动器

目录 1. 背景需求2. 需求软件3. 准备图标4. 编译命令4.1 使用Windows API4.2 使用-mwindows参数编译4.3 使用pythonw.exe解释器 5. 测试运行5.1 参考代码5.2 使用效果 1. 背景需求 有时候为了确保多平台的兼容性,需要开发绿色版的应用程序,也就是在嵌入…

windows server 查看登录日志

windows server 查看登录日志 1、 先要开启登录审核,在查看登录日志 点击 “服务器管理器” – > “工具” – > “本地安全策略” 点击 “本地策略” – > “点击审核策略” 审核 成功 和 失败的记录(可以全选也可以选择需要审计的操作&am…

Linux pthread_create源码分析

前言 本文介绍pthread_create函数的使用和源码分析。 /include/pthread.h bionic/libc/bionic/pthread_create.cpp bionic/libc/bionic/pthread_attr.cpp pthread_create使用 Android中的绝大部分线程,最后都是通过pthread_create创建的。 int pthread_create(p…

【LeetCode热题100】打卡第11天:有效括号合并两个有序链表

文章目录 【LeetCode热题100】打开第11天⛅前言🔒有效括号🔑题解🔒合并两个有序链表🔑题解💡思路一:合并到第三方链表上🔐【非递归实现】🔐【递归实现】 💡思路二 &#…

2023年上半年数据库系统工程师下午真题及答案解析

试题一(15分) 某新能源汽车公司为了提升效率,需开发一个汽车零件采购系统。请完成系统的数据库设计。 概念结构设计 需求描述 (1)记录供应商信息,包括供应商的名称、地址和一个电话。 (2)记录零件信息,包括零件的编码、名称和价格。 (3)…

线程的四个属性

如上图所示,线程有四个属性: 线程ID线程名称守护线程线程优先级 1. 线程ID 每个线程都有id,这个id不能修改 线程id会不停的自增,从1开始 main函数就是第一个线程,id1 id 是操作系统用来识别各个线程的编号&#…

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

VIT在归纳偏置方面存在空间相关性和信道表示的多样性两大缺陷。所以论文提出了动态混合视觉变压器(DHVT)来增强这两种感应偏差。 在空间方面,采用混合结构,将卷积集成到补丁嵌入和多层感知器模块中,迫使模型捕获令牌特征及其相邻特征。 在信…

tcp shrinking window 之进退

一个有趣的问题:Unbounded memory usage by TCP for receive buffers, and how we fixed it 引出一个 kernel patch:[PATCH] Add a sysctl to allow TCP window shrinking in order to honor memory limits 但这 patch 把一个问题变成了两个问题&#…

apple pencil一代的平替有哪些品牌?平价电容笔推荐

要知道,真正的苹果原装电容笔,价格可不低,仅仅一支就是近千块。实际上,平替电容笔对没有太多预算的用户是个不错的选择。一款苹果的电容笔的售价,相当于平替电容笔的四倍,不过平替电容笔的书写体验&#xf…

pnpm对npm及yarn降维打击详解

目录 正文npm2yarnpnpm总结 正文 大家最近是不是经常听到 pnpm,我也一样。今天研究了一下它的机制,确实厉害,对 yarn 和 npm 可以说是降维打击。 那具体好在哪里呢? 我们一起来看一下。 我们按照包管理工具的发展历史&#xf…

3.5 凸多边形最优三角部分

博主简介:一个爱打游戏的计算机专业学生博主主页: 夏驰和徐策所属专栏:算法设计与分析 1.什么是多边形的三角剖分? 多边形三角剖分是指将多边形分割成互不相交的三角形的弦的集合T。 我的理解: 多边形三角剖分是将给…

uniapp本地存储详解

uniapp本地存储详解 前言 在开发uniapp应用时,我们常常需要使用本地存储来保存一些数据,比如用户登录信息、设置项等,使得应用能够在设备上保存和读取数据,以便提供更好的用户体验和离线功能支持,本文将简单介绍unia…

python编程——编译器与解释器

作者:Insist-- 个人主页:insist--个人主页 本文专栏:python专栏 专栏介绍:本专栏为免费专栏,并且会持续更新python基础知识,欢迎各位订阅关注。 目录 前言 一、编译器与解释器的介绍 二、编译器与解释器…

JDK1.8下载安装(优雅)

bug虐我千百遍,我待bug如初恋。 这里使用的环境是win11 64位系统,应该适配win8-win11 一、下载 这里提供两种下载方式,官网下载和第三方下载,区别就是下载速度不同 1. 官网下载 (1)官网下载:…

智慧物流货运系统源码 货运平台的功能介绍

网络货运平台源码 网络货运平台的功能 网络货运是指利用互联网平台,通过物流配送的方式进行商品销售和物流运输的一种新型商业模式。这种模式将传统的货运模式与互联网技术相结合,通过网络平台进行交易、物流配送和结算等一系列商业流程,从而…