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

news/2024/11/25 21:25:31/

一、引言

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

一个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.ppmy.cn/news/185471.html

相关文章

联想笔记本电脑开机无法修复计算机,联想笔记本开机没反应怎么办 笔记本无法开机的解决方法...

笔记本电脑使用的时间长了,一样也是会出现一些小故障的,比如说像开机后,电源指示灯亮,但是电脑的显示器屏就是没有反应。下面小编就来给大家介绍一下联想笔记本开机没反应怎么办及笔记本无法开机的解决方法。 第一步:联…

联想t168服务器硬盘,联想万全T168服务器板载Sata+raid系统设置图解.doc

联想万全T168服务器板载Sata raid系统设置一、RAID?信息显示系统启动时,SATA?RAID?BIOS?初始化后,在屏幕上显示适配器的BIOS版本和磁盘阵列状态和当前的磁盘阵列配置。其中阵列状态“status”中包括了两种可能出现的情形:正常状态(Optima…

联想微型计算机内容不清楚,联想L2060wa显示器显示不清楚,特别是文字更无法看...

公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。 话题:联想L2060wa显示器显示不清楚,特别是文字更无法看清,不知道显示回答:将能找到的螺丝全部卸下3、将显示器仰放,然后显示器天侧前框你好&…

python爬取b站搜索结果播放地址_Golang 爬虫快速入门 | 获取B站全站的视频数据

提到爬虫,总会联想到Python。似乎Python是爬虫的唯一选择。爬虫只是完成一个访问页面然后收集数据的任务,用任何语言来写都能实现。相比较Python快速实现但是庞大的体型,Golang来写爬虫似乎是更好的又一选择。 HTTP请求 Golang语言的HTTP请…

启用计算机的fn键,联想 ThinkPad 笔记本 Fn 键 关闭与启用方法

为适应部分用户的传统使用习惯,采用媒体功能键设计的笔记本电脑,BIOS中一般预留了热键模式切换开关,可通过切换开关来满足个人使用需要。 1、电脑关机状态下,按下一键恢复按键。目前销售的联想笔记本电脑中,一键恢复按键多在电脑右侧(或左侧)以凹陷孔形式出现,建议使用捅…

联想笔记本计算机服务在哪里,北京联想电脑服务站都在哪里?我在宣武门应当到哪里去修电脑呢?(高额悬赏 )...

离你最近的是 联想产品客户服务中心 北京市宣武区南线阁41号院底商1-2 010-83547764/83558776/63542261 NewThinkCentre、笔记本、台式 联想产品客户服务中心 北京市海淀区知春路2号院3号楼3门1层 010-62059288/62052889 台式、NewThinkCentre、笔记本 联想产品客户服务中心 北…

雪球acw_sc__v2

文章目录 声明目标网站分析js代码python调用测试往期逆向文章推荐声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! acw_sc__v2之前已经写过一篇了,今天换一个网站水一篇文章,原谅我硬凑…

AutoCompleteTextView实现联想输入

本文使用AutoCompleteTextView实现联想输入,实现了中文对应的拼音搜索、中文首字母搜索和中文搜索。下拉菜单使用了自定义的控件,可以自己设计样式,方便了项目中使用。自定义adapter实现Filterable接口,实现中文对应的拼音搜索、中…