笔记/Linux运维面试常见问题

linux基础

linux的特点 ?
免费;
开源;
单根目录树;
多用户多任务;
区分大小写;
一切皆文件;
不以扩展名区分文件类型。
Linux的必须分区有哪些?
根分区、swap分区
swap分区的作用?
物理内存不足时,未使用的进程可以临时保存到swap中。
linux目录的作用
/dev:设备目录;
/etc:配置文件目录;
/boot:系统启动目录;(内核、启动程序等)
/var:动态文件目录;
/var/log:日志目录;
/home:普通用户家目录;
/root:超级用户家目录;
/proc:进程目录;(保存系统内核、进程、网络状态等)
/bin(/usr/bin):系统命令目录;
/sbin(/usr/sbin):超级用户系统命令目录;
/mnt[6](/media[5]):挂载空目录;【5、6为centos版本】
/usr/local(/opt[7]):软件安装目录;【7为centos版本】
shell是什么?有哪些分类?
shell:命令行解释器,
作用:将管理员输入的命令翻译成内核可执行的代码。
分类:bash、sh、Kshell、Psh、Csh、Zch ……
linux中内部命令和外部命令的区别?
内部命令:写入内核的、常驻于内存之中的命令;
外部命令:软件功能命令,有时需要安装;
linux中绝对路径和相对路径的区别?
绝对路径:从"/"开始的路径;
相对路径:从当前目录开始的路径;
touch命令的作用?
修改文件时间戳;若文件不存在,可创建新文件。
linux文件的时间有哪些?
atime:文件访问时间;
mtime:内容修改时间;
ctime:权限改变时间;
查看文件内容的命令有那些?
cat、tac、more、less、head、tail、sed、grep、nl ……
如何统计文件的行数
# cat filename | wc -l
# sed -n = filename| tail -1
# awk '{print NR}' filename | tail -1
# nl filename |awk '{print $1}'|tail -1
# wc -l anaconda-ks.cfg |cut -d" " -f1
递归创建目录?
# mkdir -p
监听文件新增内容?
# tail -f
# tailf
如何文件重命名?
# mv
linux中符号链接和硬链接的区别?
软(符号)链接特点:
1,删除原文件后,链接文件失效;
2,可以链接目录,可以跨分区,标注清晰;
3,链接文件只链接inode号,不保留文件内容,所以大小不变。
硬链接特点:
1,删除源文件后,链接文件有效;
2,只能链接文件,不能链接目录,不能跨分区(不同分区,i节点范围不同);
3,硬链接只是复制inode号,并未复制文件本身,所以大小不变。
find和grep的区别?
1,查找对象不一样:find查找的文件,grep查找的是字符串;
2,find是精确匹配,grep是包含匹配;
3,find使用通配符,grep使用正则表达式.
locate和find的区别?
locate使用数据库、按文件名查找今天0点前生成的文件;
find可以使用多种条件来查找文件,但消耗系统资源。*(在繁忙的服务器上不建议使用)
Linux系统命令的优先级顺序?
绝对路径的命令 > 别名 > 内部命令 >哈希表(hash)内的命令 > 外部命令
管道符" | "的作用是什么?
前面命令作用的结果,是后面命令操作的对象。
挂载的作用?
存储设备和挂载点关联的过程(存储设备=挂载点)。
格式化的作用?
写入文件系统的过程。
操作系统和文件系统的区别?
操作系统:文件如何操作;
文件系统:文件如何存储。
二进制包和源码包的区别?
二进制包:
 优点:
  1,安装简单,
  2,安装速度快;
 缺点:
  1,闭源;
  2,功能选择不灵活;
  3,具有一定的依赖性(树形依赖、环形依赖、模块依赖)。
 
源码包:
 优点:
  1,开源;
  2,自由选择功能;
  3,单向编译安装,卸载方便;
 缺点:
  1,编译选项多;
  2,编译时间长。
/etc/passwd的文件内容?
zhangsan:x:1000:1000:张三:/home/zhangsan:/bin/bash
# 用户名:密码占位符:UID:GID:描述信息:家目录:shell类型
什么是权限溢出?
举例:当赋予目录权限时,目录内文件会继承X权限,导致权限溢出。
du和df的区别?
du统计文件大小;
df统计文件系统使用率;(包括临时文件、内存文件、进程未释放文件等)
描述linux使用一块硬盘的步骤?
分区、格式化、挂载。
什么LVM?
逻辑卷管理(Logical Volume Manager),LVM是建立在硬盘之上的一个逻辑层,来提高磁盘分区管理的 灵活性。
如何静态查看进程?
(linux)# ps -ef
(unix) # ps aux
如何动态查看进程?
# top(耗资源)
如何关闭进程?
关闭一个进程:
# kill -9 进程ID (-1 重新加载,-9 强制停止 -15 正常停止)
以名字杀死进程:
# killall
以其它属性杀死进程:
# pkill
如何将后台进程恢复到前台?
# fg %ID
如何将任务放在后台运行?
# nohup 运行命令 & (nohup脱离终端)
# 先(ctrl+z) 再bg %ID
描述一下centos6的系统启动顺序?
BIOS开机自检;
DISK分区引导;
kernel内核加载;
init初始化进程;
描述一下centos7的系统启动顺序?
1,硬件引导阶段
2,GRUB2引导阶段
3,内核引导阶段
4,(systemd)初始化进程
case和if有什么区别?
case是选择判断;
if是条件判断。
continue、break、exit的区别。
continue是跳过当前循环;
break是终止当前循环;
exit是退出脚本。
shell中函数的作用?
提供固定的代码块;方便脚本重复调用,简化脚本。
查看http的并发请求数与其TCP连接状态:
# netstat -nt | awk '{++S[$NF]}END{for(a in S) print a,S[a]}'
统计出apache的access.log中访问量最多的5个IP:
# cat access.log|awk '{print $1}'|sort -n|uniq -c|sort -nr|head -5
请执行命令取出linux中 ens33 的IP地址:
# ip address show ens33 | grep -oE "([0-9]*.){3}[0-9]*/24"
# ip address show ens33|sed -n /inet/p|grep brd|awk '{print $2}'
检查 mysql 是否安装,然后备份,写出脚本。
#!bin/bash
rpm -qa|grep -E mysql-server-([0-9]){2}.* &>/dev/null
if [ $? -ne 0 ];then
echo "mysql未安装。"
else
echo "mysql已安装。"
[ ! ‐d /mysqlbackup ] &&  mkdir /mysqlbackup
mysqldump ‐uroot ‐p"123123" "discuz" > /mysqlbackup/discuz‐$(date
+%Y%m%d).sql
fi
循环检查 mysql 运行状态,出现状况重启数据库。写出脚本。
mysqladmin ‐h "localhost" ‐uroot ‐p'123123'  ping &>/dev/null
if [  $? ‐eq  0 ];then
      echo  "MySQL is UP."
else
      echo  "MySQL is down,About to restart."
      systemctl restart mysqld
fi
每天早7点ping一个网站,过程持续3分钟,如延迟超过100ms发送警告
#!/bin/bash
for j in `seq 180`;do
 for i in `ping -c 1 www.baidu.com | grep rtt | awk -F'/' '{print $5}'| cut -
d'.' -f1`;do
 if [ "$i" -ge 100 ];then
   echo -e "\e[31mWarning: delay too high.\t$(date +%Y-%m-%d_%H:%M:%S)\e[0m"
 fi
 done
 sleep 1
done

linux服务

描述一个服务的搭建过程。
安装、配置、启动。
ssh(安全外壳协议,22/TCP)的两种安全验证?
基于口令的安全验证;
基于密钥的安全验证.
ssh和telnet的区别?
telnet是23/tcp端口,属于明文传输;
ssh是22/tcp端口,是密文传输。
远程登录的软件?
CRT、Xshell、putty、openssh ……
动态主机配置协议(DHCP)的作用?
DHCP用于动态自动配置节点IP地址,减少管理员工作量。
DHCP端口是多少?
Server port:68/UDP
Client port:67/UDP
描述DHCP的工作过程。
1,客户端向全网"广播"发送discovery(发现)包,寻找dhcp服务器;
2,服务器收到discovery(发现)包后,回复offer包,并携带可用ip、租约等信息;
3,客户端收到offer后,"广播"发送request包,请求确认有效IP;
4,服务器向客户端回复ACK报文,以确认客户端的request。
描述NFS、samba、FTP的区别。
NFS(2049/TU)是网络文件系统,可以将远程的计算机磁盘挂载到本地,像本地磁盘一样操作。
samba(139/T)主要用于在windows和unix之间资源共享,可共享文件、打印机等等。
FTP(20、21/T)可有效地提高文件的共享和数据可靠高效地传输,主要用于网间共享。
apache                                                      nginx
处理动态请求                                处理静态文件
运行稳定                                      可做负载服务器
生态完善模块超多                        设计模块化,编写模块相对简单
重写 rewrite 能力强                     占用资源少
对PHP支持简单                          可做反代、邮件服务器
处理请求模型为阻塞型                处理请求为异步非阻塞
FTP有哪些用户类型?
匿名用户;(不需要登录信息,默认登录位置为/var/ftp/)
本地用户;(有可能登录linux系统的权限,默认登录位置为"家目录")
虚拟用户。(使用独立的帐号、密码数据文件、权限文件)
DNS(53/TU)服务器都有哪些?
主域名服务器;(有完整的数据库文件)
从域名服务器;(数据库文件同步于主服务器)
唯高速缓存服务器。(每次从远程服务器上取得域名查询信息)
如何根据端口号,查找进程ID?
# lsof -i :端口号
VPN都有哪些?
PPTP、L2TP、GRE、IPSec、SSL
mysql支持哪些存储引擎?
InnoDB、MyISAM、Memory、Archive等.
InnoDB和MyISAM有什么区别?
- InnoDB不支持全文索引,而MyISAM支持
- InnoDB支持事物,而MyISAM不支持
- InnoDB支持MVCC, 而MyISAM不支持
- InnoDB支持外键,而MyISAM不支持
- InnoDB支持行级锁,而MyISAM支持表级锁。
数据库的五大语言
DQL 数据查询语言
DDL 数据定义语言
DML 数据操作语言
DCL 数据控制语言
TCL 事务处理语言
什么是数据仓库?(Hive)
是一个面向主题的、集成的、稳定的、反应历史变化的 数据集合。
什么是数据库?(mysql)
长期存储在计算机内、有组织的、可共享的、冗余度低的大量数据集合。
什么是表?
数据的集合。
什么是数据?
描述事物的记录。
什么是事务?
事务就是:一系列要执行的操作;但是这些操作要么完全执行,要么完全不执行。
事务的特性?
原子性(不可再分)
一致性(数据一致)
隔离性(并发隔离)
持久性(状态持久)
同时有多个事务在进行会怎么样呢?
脏读: A事务读取到了B事务未提交的内容,而B事务后面进行了回滚.
幻读: A事务读取了一个范围的内容,而同时B事务在此期间插入了一条数据,造成"幻觉".
不可重复读: 当设置A事务只能读取B事务已经提交的部分,会造成在A事务内的两次查询,结果竟然不一 样,因为在此期间B事务进行了提交操作.
事务隔离级别?
未提交读;
已提交读;
可重复读;
可串行化;
mysql锁的类型?
读锁(共享锁):在并发读的时候可以同时进行。
写锁(排它锁): 在并发写的时候不允许同时进行。
create 创建(用户、库、表);
insert 添加记录、复制记录;
show 查看(库、表[describe]);
select 查看数据记录;
alter 修改(库、表、字段类型、约束、索引、引擎);
update 修改(密码、数据记录);
drop、delete、truncate删除数据有什么区别?
truncate直接清空表数据,只留表结构,表空间释放;
drop是直接删除表数据和表结构;
delete是删除的数据在库中的标记,并未释放表空间;
MySQL 是如何保证主备同步?
搭建二进制日志同步服务,确保主备库内容一致。
MySQL的一主一备和一主多从有什么区别?
主备切换只需要把客户端流量切到备库;
一主多从,除了要把客户端流量切到备库外,还需要把从库接到新主库上。
什么是索引?
索引就是有指向的列表结构,基于“列”建立;作用是提高数据的查询速度
都有哪些索引类型?
普通索引;
唯一索引;
主键索引;
全文索引;
组合索引;
什么是三范式建模?
第一范式: 每个列都不可以再拆分.
第二范式: 非主键列完全依赖于主键,而不能是依赖于主键的一部分.
第三范式: 非主键列只依赖于主键,不依赖于其他非主键.
第一范式:列的原子性:
 a.即列不能够再分成其他几列。
第二范式:行记录唯一性:
 a.满足一范式
 b.必须有一个主键
 c.没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
第三范式:主键唯一依赖:
 a.满足第一与第二范式
 b.非主键列必须直接依赖于主键,不能存在传递依赖。
一般都有哪些备份?
数据、网络设备(VRRP/IPVS)、链路(eth-channel)、电源(UPS)。
数据备份都有哪些?
完全备份;(可靠,但费时费资源)
增量备份;
差异备份;
NIS是什么?
集中管理(同步)集群内所有server上的用户信息.
RSYNC支持哪些协议?
使用ssh协议(22/TCP);用户身份认证为本地用户;
使用rsync协议(873/TCP);用户身份认证为非系统用户。
什么是iSICI?
可以通过网络链接的SICI存储技术。
LVS、Nginx、HAproxy有什么区别?
LVS:
 优点:工作在网络4层,抗负载,没有流量产生,资源消耗低;
 缺点:不支持正则,不做动静分离.
Nginx:
优点:工作在网络7层,抗负载、抗并发,可做负载均衡、反代、邮件、web服务等;
 缺点:只支持端口检测;
HAproxy:
优点:支持虚拟主机,支持会话保持,支持url检测,抗并发,策略多;
缺点:对nginx而言,HAproxy只是个负载均衡器。
描述LVS的三个模式。
DR (直接路由):RS(真实服务器)和DS(调度器)处于同一广播域;不支持端口映射;
NAT(地址转换):RS和DS处于同一网络中;DS必须在RS和Client之间充当RS网关;
TUN(隧道模式):RS和DS之间开启隧道功能。
4台服务器,1和2一个均衡,3和4一个均衡,能否用一台路由实现?
可以,LVS-DR模式可以。
描述一下LVS的调度算法种类。
轮循调度 rr
加权轮调 wrr
源地址散列调度 sh
目的地址散列调度 dh
永不排队 nq
最少链接 lc
加权最少链接 wlc
最少期望延迟 sed
基于局部性的最少连接调度算法 lblc
复杂的基于局部性最少的连接算法 lblcr
负载均衡分类
二层负载;(虚拟mac地址)
三层负载;(虚拟IP地址)
四层负载;(虚拟IP+端口)
七层负载;(虚拟的URL/IP)
ansible的工作过程?
ansible执行代码模块,通过SSH传递临时.py文件给节点设备;
在节点设备上执行.py文件;
执行后返回模块变量值;
删除节点上临时.py文件。
ansible返回值颜色的含义。
绿色:结果未改变;
黄色:结果有改变;
青色:执行警告;
红色:执行错误;
ansible模块的作用?
command:默认模块,但不支持特殊符号;
shell:通用命令模块,支持特殊符号;
ping:ping模块,检查目标主机是否在线;
debug:调试模块,输出ansible变量信息;
script:脚本模块,执行脚本;
copy:上传模块;
fetch:下载模块;
file:文件管理模块;
ansible playbook的作用?
是ansible命令的集合.
ansible roles的作用?
规范playbook,用于其它项目的共享和重(chong)用部分配置。
playbook必须的代码块?
hosts:被管理的节点;
tasks:被执行的任务;
ansible变量的作用?
ansible变量可以代替文件中重复使用的值,简化剧本,减少错误。
ansible的变量优先级顺序?
-e指定的变量 > 剧本中vars指定的变量 > 清单指定的变量
ansible handles的作用?
任务结果满足触发条件时,执行触发器任务。

Docker容器

什么Docker?
Docker是一个容器化平台,以容器的形式将"应用程序"及其"所有依赖项"打包在一起,确保在开发、生 产的任何环境中无缝运行。
docker的优缺点
优点:
快速部署和交付;
更高效的虚拟化;
轻松迁移和扩展;
管理简单低消耗。
缺点:
隔离性差,安全性低。
描述docker的容器、镜像、仓库的作用。
仓库:存放镜像;
镜像:容器运行的基础;
容器:镜像的运行实例;
镜像分层的优点是什么?特点是什么?
优点是:共享资源;
特点是:
1,顶层读写;
2,每层只读;
3,修改数据,顶层保存,下层不变;
4,上层优先级高(如果多个层中有命名相同的文件,以最上层文件内容为准)。
如何将镜像的体积制作的更小?
减少镜像层;
构建镜像时使用已有缓存,把需要迭加的命令放在最后执行。
说几个docker的命令。
仓库命令:
上传镜像:# docker push
下载镜像:# docker pull
显示本地所有镜像:# docker images -a
删除本地镜像:# docker rmi
删除所有未被容器使用的镜像: # docker image prune -a
保存镜像到本地: # docker save >
导入本地镜像:# docker load <
容器命令:
创建容器:# docker build
创建并后台运行容器: # docker run -d
创建并进入容器:# docker run -it
查看所有容器编号:# docker ps -aq
查看容器端口映射:# docker port
删除容器:# docker rm
进入容器:# docker attach|exec
docker attach和docker exec的区别。
docker attach不会新建终端,退出后容器停止;
docker exec会新建终端,退出后容器不会停止。
(当多个终端同时使用attach进入同一个容器时,所有终端都会同步显示;当某个终端因命令阻塞时,其
他终端也无法执行操作。)
docker数据卷的分类,有什么特点?
分类:匿名卷、命名卷、主机卷:
特点:
 1,共享数据的持久化;
 2,容器之间可以共享;
 3,更改内容直接生效;
 4,更改内容不影响镜像;
 5,生命周期与容器一致。
docker网络的分类及特点
bridge(桥接):容器有IP,连接docker0(虚拟网卡),与主机可通信。
host(仅主机):容器无IP,使用主机IP和端口。
none(无网络):关闭容器网络功能。
dockerfile中COPY和ADD的区别。
COPY:复制主机文件到容器;
ADD:与COPY类似,但可加URL,可解压文件。
dockerfile中CMD和" entrypoint "的区别。
CMD:容器启动时运行的命令;
ENTRYPOINT:与CMD类似,但不会被 docker run 的命令行参数所覆盖。
如何对外暴露容器端口?
1,指定端口:# docker run -p (主机端口:容器端口)
2,随机端口:# docker run -P
3,在dockerfile中指定EXPOSE选项;
什么是docker-compose?
是运行“多容器”的docker部署工具。
docker仓库的类型。
公共仓库
私有仓库
什么是Docker Swarm ?
是Docker的本机群集管理工具。它将Docker主机集群转变为单个虚拟Docker主机。
(Docker Swarm提供标准的Docker API,任何已经与Docker守护进程通信的工具都可以使用Swarm透 明地扩展到多个主机。)

Kubernetes

什么是K8S?
是一个全新的基于容器技术的分布式系统支撑平台。为容器化的应用提供 部署运行、资源调度、服务发 现和动态伸缩等 一系列完整功能,提高了大规模容器集群管理的便捷性,具有完备的集群管理能力。
Kubernetes和Docker的关系?
Kubernetes用于关联和编排 在多个主机上运行的docker容器。
Kubernetes常见的部署方式有哪些?
单机搭建:minikube;
集群搭建:kubeadm部署(推荐)、源码包部署。
Kubernetes如何实现集群管理?
master通过API-server调动所有组件,实现集群全自动的"资源管理、Pod调度、弹性伸缩等"管理能 力;
K8S的各组件的作用。
master的组件:
etcd:分布式存储集群的网络配置和状态信息;
API-server:调动K8S的所有组件;
scheduler:资源调度(判断是否有足够的资源来存放容器);
controller-manager:状态监控(监控集群每个资源的当前状态)。
node的组件:
kubelet:处理master下发的任务,管理pod生命周期;
proxy:实现Service的通信与负载均衡。
etcd的特点,适应什么场景?
特点:简单、安全、快速、可靠。
场景:服务发现、消息发布、负载均衡、分布式锁、分布式通知和协调。
Kubernetes的优势、适应场景及其特点?
优势:
1,开源且轻量;
2,容器的编排;
3,弹性的伸缩;
4,负载的均衡;
场景:
1,快速部署应用;
2,快速扩展应用;
3,更新应用功能;
4,节省集群资源;
5,优化硬件资源;
特点:
1,可移植(支持公有云、私有云、混合云、多重云)
2,可扩展(模块化,、插件化、可挂载、可组合)
3,自动化(自动部署、自动重启、自动复制、自动伸缩/扩展)
kube-proxy ipvs原理?
使iptables扩展ipset,不直接生成规则链;ipset给iptables规则链(的线性数据结构)添加索引,使
规则的查找和匹配更高效。
K8S的各资源的作用。
namespace(命名空间):能让K8S支持更多的虚拟集群;
pod:pod是kubernetes管理的最小单元;
labels(标签):对资源进行分类,方便后期管理和调用;
pod控制器:
ReplicaSet(RS):pod副本集;使pod的数量稳定的运行在指定的个数上;
deployment:pod部署控制器;通过管理RS间接管理pod;使pod支持滚动升级和回滚、扩容和缩容;
StatefulSets(STS):pod有状态控制器;保证pod有序性,用pod名识别;
DaemonSet(DS):DS控制器;保证每个Node上都运行一个容器副本;
Jobs:一次性任务集;
CronJob(CJ):Job控制器;可以反复执行Job任务;
pod中pause根容器的作用。
共享pod的IP和卷,决定pod的运行状态。
pod的生命周期。
Pending(悬决):创建了pod资源并存入etcd中,但尚未完成调度。
Running(运行):pod已经绑定到了某个节点,Pod中所有的容器都已被创建。
Succeeded(成功):Pod 中的所有容器都已成功创建,并且不会再重启。
Failed(失败):所有容器都已经创建,但至少有一个容器创建失败,以非0状态退出。
Unknown(未知):无法取得 Pod 的状态。
pod创建方式的分类。
自主式(静态)pod:直接创建的pod,删除后不会自动重建;
控制器创建pod:控制器创建的pod,删除后会自动创建。
K8S中镜像拉取策略(imagePullPolicy)有哪些?
Always:总是拉取镜像(默认);
IfNotPresent:优先使用本地镜像,本地没有则拉取;
Never:只使用本地镜像,从不拉取,即使本地没有;
K8S中部署有状态服务和无状态服务的区别?
有状态应用:
 ○ pod的有序性;
 ○ pod的唯一性;
 ○ 按顺序伸缩和扩展。
无状态应用:
○ pod的无序性;
○ pod都一样;
○ 随意伸缩和扩展。
sessionAffinity(亲和性)、Taint(污点)和 Toleration(容忍)的区别。
sessionAffinity(亲和性):取值为ClientIP时,保证同一个IP请求发送到同一个pod上;
Taint(污点):使pod不部署在具有污点特性的node上(master默认);
Toleration(容忍):使pod可以部署在具有污点(Taint)特性的node上。
K8S的各种存储卷的特点。
普通卷:
 EmptyDir:与pod同在,类似于docker的命名卷;
 HostPath:不与pod同在,将主机目录挂载到pod中;
 nfs:不与pod同在,将主机的NFS挂载到pod中;
高级卷:
PV & PVC:用户用PVC来申请PV;
特殊卷:
Configmap:配置文件存储卷,大小不超1M;
Secret:机密文件存储卷,一般存放密码、密钥、证书等。
Service的作用?
服务发现,负载均衡。
Service类型都有哪些?
0,None:无头服务;
1,ClusterIP:pod具有集群内部可以访问的虚拟IP;
2,NodePort:Service使用node的IP和port对外提供服务;
3,ExternalName:把集群外部的服务引入集群内部直接使用;
4,LoadBalancer:用外接负载均衡器完成到服务的负载分发(此模式需要外部云环境的支持).
HeadLiness(无头服务)是什么?
pod没有IP,service通过pod名称来识别,可以保证pod重启前后的一致;多用于有状态服务部署;
service分发port范围为:
30000 ~ 32767
ingress是什么?
service端口有限,但ingress可以使多个服务应用于同一端口。
Kubernetes中flannel的作用?
协助K8S,给每个docker容器分配不同IP,建立一个覆盖网络(Overlay Network),将数据包传递到目 标容器
 

SQL优化

分区表有几种?
(1)范围分区(range);
(2)哈希分区(hash);
(3)列表分区(list);
(4)范围-哈希复合分区(range-hash);
(5)范围-列表复合分区(range-list)。
简述索引存取的方法的作用和建立索引的原则
作用:加快查询速度。
原则:
(1) 如果某属性或属性组经常出现在查询条件中,考虑为该属性或属性组建立索引;
(2) 如果某个属性常作为最大值和最小值等聚集函数的参数,考虑为该属性建立索引;
(3) 如果某属性经常出现在连接操作的连接条件中,考虑为该属性或属性组建立索引;
数据仓库分几层?
ods接口层采集数据--临时存储层
dw 数据仓库将接口采集的数据沉淀下来--数据仓库层
dm 数据集市将数据仓库中的数据经过加工而来--数据集市层
数据库都有哪些锁,这些锁都有哪些的功能?
根据保护的对象不同,Oracle数据库锁可以分为以下几大类:
DML锁(data locks,数据锁),用于保护数据的完整性;
DDL锁(dictionary locks,字典锁),用于保护数据库对象的结构,如表、索引等的结构定义;
内部锁和闩(internal locks and latches),保护数据库的内部结构。
解释存储过程和触发器?
存储过程就是为了完成特定功能的sql语句集。可以反复调用。在一次编译后可以执行多次。因为不必重 新编译语句,所以执行存储过程可以提高性能。
触发器是一种特殊类型的存储过程,不由用户直接调用。满足触发条件时自动调用。创建触发器时会对其 进行定义,以便在对特定表或列作特定类型的数据修改时执行。
什么是执行计划,一般如何获取执行计划?
执行计划是一条查询语句在 Oracle 中的执行过程或访问路径的描述。
1. explain plan for获取;
  1) 不实际执行SQL语句,生成的计划未必是真实执行的计划
  2) 必须要有plan_table
2. set autotrace on ;
  1) 出了set autotrace traceoly explain 外均实际执行SQL,但任未必是真实计划
  2) 必须要有plan_table
3. statistics_level=all;
  1) 特殊的执行计划
  2) 比较详细,比较靠谱
4. 通过dbms_xplan.display_cursor输入sql_id参数直接获取
数据库的隔离级别 。
1.未提交读隔离级别
2.提交度隔离级别
3.可重复读隔离级别
4.串行化隔离级别

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux运维工程师Markdown笔记是指Linux系统运维工程师使用Markdown语言来记录和组织与工作相关的笔记。Markdown是一种轻量级的标记语言,具有简洁、易读、易写的特点,适合用于文档编写和笔记整理。 首先,Linux运维工程师经常需要处理大量的技术文档和操作指南。使用Markdown可以轻松编写格式清晰、易于阅读的文档。Markdown的语法简单直观,只需要使用少量的标记符号,比如井号(#)用于标题、星号(*)用于强调等,使得编辑变得快捷高效。 其次,Markdown支持代码框和代码高亮功能,对于Linux运维工程师来说非常有用。他们可以使用Markdown编写包含代码的文档,以便在需要时共享和复用。使用Markdown标记代码块可以使代码在文档中保持格式整齐,并使用适当的语法高亮显示,增强可读性。 另外,Markdown还支持快速插入图像、链接、表格等元素,这对于Linux运维工程师来说也是很有价值的。他们可以将截图、示意图等插入到Markdown笔记中,更直观地展示问题和解决方案,提高沟通效率。 最后,Markdown对于版本控制工具的支持也很好。Linux运维工程师通常使用Git等版本控制工具来管理代码和文档,而Markdown的纯文本格式使其可以轻松地与Git集成,并进行版本追踪和变更比较。 总的来说,作为一种简洁、灵活且易于上手的标记语言,Markdown对于Linux运维工程师来说是一种理想的工具,可以帮助他们更好地整理笔记、编写文档,并与团队成员分享和协作。使用Markdown笔记Linux运维工程师可以更高效地记录和共享工作中的知识和经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禅迦叶影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值