导图社区 Linux基础
包含周期性任务、磁盘、逻辑卷、链接、服务管理命令等内容,知识点详细且全面,可以作为学习笔记和复习资料,帮助大家系统地回顾和巩固所学知识,学生更好地理解和记忆知识。
编辑于2024-06-22 17:25:32Orale
逻辑结构
数据库->表空间(含逻辑对象)-> 数据段-> 数据区间-> 数据快
默认表空间
EXAMPE实例表空间
SYSAUX:SYSTEM表空间的辅助空间
SYSTEM:存储数据字典,包括表、试图、存储过程的定义等
TEMP: 存储SQL语句处理的表和索引的信息
UNDOTBS1:存放数据局恢复信息
USERS:用户表空间,存放用户私有信息
内存结构
系统局区(SGA)在实例启动时分配【1.分配邻近的虚拟内存 2.大小基于SGA_SIZE】
共享池(库缓冲区、数据字典缓冲区)
大小参数由(SAG)SHARED_POOL_SIZE
数据库高速缓冲区
大小参数由DB_BLOCK_SIZE
重做日志缓冲区
尺寸大小由LOG_BUFFER定义
程序全局区(PGA):服务器进程启动时分配
对象存储结构
表
列表中的字段
主键:一列(或一组列),其值能够唯一区分表中每个行,任意两行都不具备相同的主键值
其他
行
数据库的管理
sqlplus
sqlpius system/oracle@itpuxdb 命令 用户名/密码@数据库名
文件命令
@ filename:执行文件
SPOLL filename:把所得操作输出到文件里面
启动数据库
STARTUP: (一瞬间启动) SHUTDOWN-->NOMOUNT(实例启动)-->MOUNT(控制文件打开) -->OPEN(实例中控制文件描述的所有文件被打开)
控制文件:Control_File
alter
改变数据状态的命令
ALTER DATABASE MOUNT;
打开数据库
ALT DATABASE OPEN;
数据库的关闭
NORMAL(正常关闭)关闭太慢
TRANSACTIONAL
IMMEDIATE(建议的关机命令)
shutdown immediate
ABORT(强制关闭)
诊断文件
select * from V$diag_info;(11g) show parameter dump(10g)
警告日志文件(alterSID.LOG):数据库运行错误信息
后台跟踪:进程检查到错误信息
用户跟踪文件:SQL执行语句和用户通讯错误信息
参数文件管理
spfile(用户名).or
静态初始化参数文件:PFILE(9I之前)
PFILE initSID.ora修改文本文件(重启后生效):initfgdeu.ora
动态初始化参数文件:SPFILE(10之后)
创建SPFILE:CREATE SPFILE FROM PFILE;
启动顺序:spflie<sid>.ora --->spfile.ora --->init<sid>.ora
重做日志文件:(恢复数据),Oracle至少有两组(组成员)重做日志文件
手工切换:alter switch logfile;
增加在线重做日志组成员:
增加组:ALTER ADTABASE ADD LOGFILE GROUP 3 ('/oracle/oradata/fgedu/log3a.rdo'. '/oracle/oradata/fgedu/log3a.rdo') SIZE 10m;
增加组成员:ALTER ADTABASE ADD LOGFILE MEMBER '/oracle/oradata/fgedu/log1c.rdo' TO GROUP 1, '/oracle/oradata/fgedu/log2c.rdo' TO GROUP2, '/oracle/oradata/fgedu/log3c.rdo' TO GROUP 3;
删除
删除组成员: ALTER DATABASE DROP LOGFILE MEMBER '/oracle/oradata/fgedu/log3c.rdo' ;
删除组:ALTER DROP LOGFILE GROUP 3;
查询日志组及其成员信息:V$LOG ,V$LOGFILE
归档日志文件:恢复和备份
表空间和数据文件管理
本地管理的表空间
CREASTE TABLESPACE fgedu DATAFILE '/oracle/oracledata/fgedu.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL;
字典管理的表空间
CREATE TABLESPACE fgeu DATAFILE '/oracle/oracledata/fgedu.dbf' SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (inital 1M NEXT 1M) ;
UNDO
CREATE UNDO TABLEESPACE undo1 DATAFILE '/oracle/oradata/undo01.dbf' SIZE 40M
TEMP临时表空间
CREATE TEMPORARY TABLESPACE temp TEMPFILE '/oracle/oradata/TEMP01.dbf' SIZE 500M EXTANT MANAGEMENT LOCAL;
删除表空间
DROP TABLESPACE fgedu INCLUDING CONTENTS AND DATAFILE;
改变表空间的大小
增加数据文件
手动:ALTER DATABASE app_data ADD '/fgedu/ordata/app_data_03.dbf SIZE 200M;
改变数据文件的大小
手动:ALTER DATABASE DATAFILE '/fgedu/ordata/app_data_02.dbf RESIZE 200M;
修改表空间
ALTER TABLESPACE userdata RENAME DATAFILE '/u01/ordata/userdata01.dbf' TO '/u02/oradata/useradta01.dbf';
获取表空间信息
表空间信息:DBA_TABLESPACES V$TABLESPACE 数据文件信息: ABA_DATA_FILES V$DATAFILE 临时文件信息:ABA_TEMP_FILES V$TEMPFILE
用户权限
创建用户并设置初始口令:CREATE USER itpux (用户名) IDENTIFIED BY itpux (密码) DAFAULT TABLESPACE data (默认表空间) TEMPORARY TABLESPACE temp;(临时表空间)
删除用户: DROP USER itpuxc CASCADE; 使用CASCADE 条件删除用户及其用户包含的所有对象
获取用户相关信息:DBA_USERS DBA_TS_QUOTAS
监听网络管理
配置文件:Listener.ora Tnsnames.ora 图形命令:netca 启动/关闭/查看命令:lsnatcl start/stop/status
Oracle EM管理
Oracle 11g: emctl start dbconsole emctl stop dbconsole https://ip:1158/em/ Oracle 12C:exec dbms_xdb_config.sethttpsport(550); exec dbms_xdb_config.sethttpsport(550); https://ip:5500/em/
Oracle备份与恢复
备份
完整备份与增量备份(差异增量与累积增量)
恢复:还原和恢复
工具:imp/impdf、exp/expdp
rman:物理备份恢复,支持命令及图形接口
dataguard、goldengate容灾与恢复
日常维护检查
1数据库的正常运行 2.备份检车 3.alert_SID.log 发现问题 4.定期rebuild索引 5.定期analyze tables 和indexs 6.定期检车数据库的空间使用情况 7.定期检查Unix空间使用情况 8定期做数据可的恢复测试 9.及时发现并解决数据出现的问题
数据库高可用
DaraGuard(主备)
RAC:集群
GRID组件:11gR2/12c/18c/19c
ogg
GoldenGate
LINUNX基础
周期性任务
0 22 *** su -orecle -c /oracle/backuo.sh(每天22点整执行脚本) 分 时 日 月 周 命令/脚本
*/2 :每隔两分钟 */1 :每隔一个小时 12-14:12点到14点 3-6:3-6月 1-5: 周一到周五执行脚本 */2 */1 12-14 * 3-6 1-5 /bin/backuo.sh
配置文件:/etc/crontab 如果没有执行需手动执行: /etc/rcd/init.d/crond start crontab -e 编辑
磁盘
df -h 磁盘信息
fdsik - 显示磁盘分区 lsblk -f 查看磁盘挂载信息
fdisk 进行磁盘分区(fdisk /dev/sdb)
a 添加 p:显示磁盘分区(先n再p就是分主分区) t:改分区类型
格式化:mkfs.xfs(红帽7,8)/mkfs.ext3(红帽5)/mkfs.ext4(6)
parted (大型分区)
parted /dev/sdc mklabel 打标签 gpt mkpart primary 0 102400(分区) I 同意 mkpart primary 102400 204800(分区) I同意 partprobe /dev/sdc(刷新分区信息)
子主题
挂载 :mount /dev/cdrom /tmp vim /tec/fstab : /dev/sdb1 /mysql xfs defaulits 0 0(配置文件) xfs_repeair /dev/sdc1(修复磁盘)
逻辑卷 LVM添加顺序:PV->VG=>LV LVM删除顺序:LV=>VG=>PV
pv
(创建PV)pvcreate /dev/sdb /dev/sdc /dev/sdd (查看PV)pvdispaly、pvs
vg
(创建vg)vgcreate datavg /dev/sdb /dev/sdc /dev/sdd (查看)vgs、vgdispaly
LV
lvcreate -n oreclely -L 15G datavg lvs(查看) 路径: /dev/datavg 格式化:mkfs.xfs /dev/datavg/mysql mkfs.xfs /dev/datavg/oreclely datavg:mkdir /oracle mkdir /mysql mount /dev/datavg/oreclely /oracle mount /dev/datavg/mysql /mysq (开机自动重启)vim /tec/fstab : /dev/datavg/oreclely /oracle xfs defaulits 0 0 /dev/datavg/mysql /mysql xfs defaulits 0 0 reboot (重启生效)
lv扩容
当vg充足时:lvextend -L +1000M /dev/datavg/oreclely xfs_growfs /oracle(扩容,xfs), resize2fs (ext4/3/2) 当vg不足时:pvcreate /dev/sde(增加PV) vgextend datavg /dev/sde(扩充VG) lvextend -L +10G /dev/datavg/oreclely
lv缩小(生产环境不要做)
1、 umount /oracle(取消挂载) 2、lvreduce -L -6G /dev/mapper/datavg-oreclely (减少空间)
删除逻辑卷
umount /mysql ,umount /oreclely 先删除LV:lvremove /dev/datavg/oreclely lvremove /dev/datavg/mysql 再删除VG/:vgremove datavg 后删除pv:pvremove /dev/sdb /dev/sdc /dev/sde
链接
软件链接(类似于文件的快捷方式)
ln -s
硬链接(类似于文件复制)
ln
压缩文件
gzip boot.log gunzip boot.log
tar -cvf :使用-c选项创建新的归档文件。 使用-f选项指定归档文件的名称 -tvf:使用-t选项查看归档文件中的内容,而不需要解压整个文件 -zcvf:使用-z选项与gzip压缩算法一起使用 -xvf:解压:使用-x选项解压缩归档文件
zip: zip log.zip
bzip2: bzip2 log2.tar
find(查找)
-name:名字 find /etc -name network
-d:目录
-f:文件
-user:用户
size(文件大小): find /etc -size +1M
mmin(修改文件的时间):finf /etc -mmin -120
type(类型):finf /etc -type d(查文件类型为目录的)
exex(查询后执行):find /home/fgedu/ -name 1,log -exec ls -l {} \ ;
用户管理命令
用户权限 r:4读 w:2写 x:1执行
chmod: u:用户user g:同组的group o:其他others -a:所有的操作都加权限 +:增加权限 -:取消某个权限 chmod g+r o+r u+r fgedu,txt ; chmod 755 fgedu.txt
建立用户和用户组
用户组:groupadd 用户:useradd chown:修改所属组
su - 用户名:用此用户进入该系统
安装包
rpm -ivf :安装 rpm -e :卸载 rpm -qa 系统文件名:查询文件属于哪个包
(红帽7)yum :yum -y install 软件名
1.cd //etc/yum.repos.d 2.mkdir bk ---> mv rehat.repo 3.vim itpux.repo: [RHEL7] name = linux 7.x baseurl = file:///mnt gpgcheck = 0 enable = 1 4.mount /dev/cdrom /mnt/
(红帽8)DNF:dnf -y install 软件名
1.cd //etc/yum.repos.d 2.mkdir bk ---> mv rehat.repo 3.vim itpux.repo: [RHEL8-1] name = linux 8-1 baseurl = file:///mnt/AppStrem gpgcheck = 0 enable = 1 [RHEL8-2] name = linux 8.2 baseurl = file:///mnt/BaseOS gpgcheck = 0 enable = 1 4.mount /dev/cdrom /mnt/
服务管理命令
systemctl