Linux 系统常用功能参考
1.2.3.13 touch 创建文件和修改文件或者目录的时间戳。
1.2.4.1 chown 将指定文件的拥有者改为指定的用户或组
3.5.1 停止Oracle监听器(详见4.1.3停止监听器操作)
3.5.2 关闭Oracle数据库(详见4.2.3关闭数据库)
3.10.1 查看监听器状态(详见4.1.1查看监听器状态)
3.10.2 测试Oracle数据库(详见2.4.1.10.10测试Oracle数据库)
3.11 Linux进程跟踪(详见5.3Linux进程跟踪)
3.12 服务器非正常关机,开机后连接数据库提示错误(ORA-01033)
3.14.1.1 部署时间服务器服务端(TimeServer.exe)
3.14.1.2 下载并安装Windows版的NTP服务程序
1 Linux常用功能
1.1 Linux系统文件
1.1.1 Profile系统环境变量
# 用于存放系统环境变量,修改完成后,使用source /etc/profile 命令使其生效
/etc/profile
1.1.2 Host设置主机名
[root@oradbsv1~]$ vi /etc/hosts

1.2 Linux常用命令
1.2.1 系统重启与关机
1.2.1.1 shutdown 关机
-k: 只是发出警告信息给用户
-r: 关闭系统后重启系统
-h: 关闭系统后不重启系统
-f: 快速关闭系统,但是是重启系统时不进行磁盘检测(在实验时发现系统进入bios界面,但是不能进行任何操作)
-n: 快速关闭系统,但是不经过init程序关闭
# 立即关机
[root@oradbsv1~]$ shutdown -h now
# 延时1分钟关机
[root@oradbsv1~]$ shutdown -h
1.2.1.2 reboot 重启
1.2.2 系统性能跟踪
1.2.2.1 top 进程跟踪
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
(1)top 查看所有用户进程
(2)top -u [用户] 查看指定用户进程
(3)s- 改变画面更新频率
(4)l - 关闭或开启第一部分第一行 top 信息的表示
(5)t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
(6)m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
(7)N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
(8)P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
(9)M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)
(10)h - 显示帮助
(11)n - 设置在进程列表所显示进程的数量
(12)q - 退出 top
(13)s -改变画面更新周期
# 查看系统所有进程
[root@oradbsv1~]$ top
# 查看oracle用户进程
[root@oradbsv1~]$ top -u oracle
内容解释:

第一行(top):
15:24:36 系统当前时刻
14 days 系统启动后到现在的运作时间
3 users 当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目
load average 当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程
第二行(Tasks):
288 total 当前系统进程总数
1 running 当前运行中的进程数
287 sleeping 当前处于等待状态中的进程数
0 stoped 被停止的系统进程数
0 zombie 僵尸进程数
第三行(Cpus):
7.3% us 用户空间占用CPU百分比
2.0% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
90.4% id 空闲CPU百分比
0.3% wa 等待输入输出的CPU时间百分比
0.0% hi
0.0% si
0.0% st
第四行(Mem):
2042616 total 物理内存总量
1770116 used 使用的物理内存总量
272500 free 空闲内存总量
163912 buffers 用作内核缓存的内存量
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
2094076 total 交换区总量
45052 used 使用的交换区总量
2049024 free 空闲交换区总量
346624 cached 缓冲的交换区总量
最下部分的进程列表栏:
以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:
1.2.2.2 ps报告当前系统的进程状态
ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。
(1)-e 显示所有进程
(2)-f 全格式显示进程信息
#查看Java进程是否存在
[root@oradbsv1~]$ ps -ef|grep java
# 查看tomcat进程是否存在
[root@oradbsv1~]$ ps -ef|grep tom
1.2.2.3 free显示当前系统内存使用情况
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
#以字节(B)方式显示内存使用情况
[root@oradbsv1~]$ free
# 以兆字节(M)方式显示内存使用情况
[root@oradbsv1~]$ free -m

Mem 代表物理内存 / Swap 代表虚拟内存
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
1.2.2.4 df 查看磁盘使用情况
(1)df -h 查看linux系统根目录下文件使用磁盘情况。
(2)df -a 包含所有的具有 0 Blocks 的文件系统
1.2.2.5 du 查看目录占用磁盘情况
(1)du -ha 查看目录及目录下所有文件夹占用磁盘大小
(2)du -hs 查看当前目录点用总磁盘大小
1.2.3 文件或目录操作
1.2.3.1 文档编辑操作
vi、vim 打开或新建需要编辑的文档后,按键盘上的Ins键使文档进行 Insert 状态,编辑完成后先按下ESC退出编辑模式。保存与退出命令如下所示,如要强制退出,则在命令后加”!”
(1):wq 保存并退出
(2):q 退出
1.2.3.2 vi 文本创建或编辑
vi编辑器是所有Unix及Linux系统下标准的编辑器,等同与Windows下的记事本功能。
1.2.3.3 vim(文本)程序创建或编辑
vim 具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计;vim中视作vi的升级。
1.2.3.4 cat 一次性输出整个文本内容
(1)cat <文件名> 一次性显示整个文件
(2)cat -n <文件名>由 1 开始对所有输出的行数编号
(3)cat -b <文件名>由 1 开始对所有输出的非空行数编号
(4)cat -c <文件名>将连续的空行合并成一行空白行后进行输出
1.2.3.5 more 按页显示文本内容
more <文件名> 按页显示文本内容,按空格键翻页,按b键往回一页显示。
1.2.3.6 cd 目录操作
(1)cd 退至当前用户根目录
(2)cd <目录名> 进入指定目录
(3)cd .. 返回上一层
1.2.3.7 pwd 显示当前全路径
1.2.3.8 ll以详细信息模式列出指定文件夹下所有文件
ll <目录名>,列出来的结果详细,有时间,是否可读写等信息 ,等同于windows里的 详细信息。
1.2.3.9 ls以列表模式列表指定文件夹下所有文件
(1)ls <目录名> 列表当前目录下或者指定目录下的所有文件和目录。
(2)ls -l列出当前目录下所有文件及文件所属用户与组。
1.2.3.10 mkdir创建目录
(1)mkdir <目录名> 创建指定目录
(2)mkdir -p </目录名1/目录名2/…> 递归创建目录
(3)mdir -m <权限> <目录名> 创建带有指定权限的目录,m = mode
1.2.3.11 mv 移动文件、目录或修改文件名命令
mv -i 源文件或目录 目标文件或目录
# 移动文件操作
[root@oradbsv1~]$ mv /usr/local/aa.txt /usr
# 更改文件名称或目录名称(将 java_1.8.135 更改为 java)
[root@oradbsv1~]$ mv /usr/local/java_1.8.135 /usr/local/java
1.2.3.12 rm删除目录或文件
(1)rm -f略过不存在的文件,不显示任何信息,强制删除
(2)rm -r同时删除该目录下的所有目录层
(3)rm -rf 同时删除该目录下的所有目录层并略过不存在的文件,不显示任何信息,强制删除(慎用)
1.2.3.13 touch 创建文件和修改文件或者目录的时间戳。
touch 【选项】 【文件名或者目录名】
1.2.4 文件或目录权限分配
1.2.4.1 chown 将指定文件的拥有者改为指定的用户或组
(1)chown -R oracle:osinstall /u01/app 递归将/u01/app及其内部所有文件拥有者改为oracle用户与oainstall组
(2)-R : 处理指定目录以及其子目录下的所有文件
#为oracle用户赋权
[root@oradbsv1 ~]$ chown -R oracle:oinstall /data1
[root@oradbsv1~]$ chmod -R 755 /data1
1.2.4.2 chmod改变一个或多个文件的存取模式
(1)chmod [options] mode files,Options有多个时用“,”分隔
(2)-R 可递归遍历子目录,把修改应到目录下所有文件和子目录
(3)Options可以是 who+opcode+permission,即用户或组 + 运算符 + 指定的权限
Who:u 用户、g组、o其它、a所有用户(默认)
Opcode:+增加权限、-删除权限、=重新分配权限
Permission:r读、w写、x执行、s设置用户(或组)的ID号,u用户当前权限、g组的当前权限、o其他用户的当前权限
# 给file追加全部权限 读、写、执行
chmod 755 file
# 给file的属主增加执行权限
chmod u+x file
# 给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod 751 file
# 上例的另一种形式
chmod u=rwx,g=rx,o=x file
# 为所有用户分配读权限
chmod =r file
# 为所有用户分配读权限(同上例)
chmod 444 file
# 为所有用户分配读权限(同上例)
chmod a-wx,a+r file
# 递归地给directory目录下所有文件和子目录的属主分配读的权限
chmod -R u+r directory
#设置用ID,给属主分配读、写和执行权限,给组和其他用户分配读、执行的权限。
chmod 4755
1.2.5 压缩与解压缩操作
1.2.5.1 unzip解压.zip文件
[root@oradbsv1 u01]$ unzip linux.x64_11gR2_database_2of2.zip
1.2.5.2 tar Linux下压缩与解压缩命令
# 将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用
[root@oradbsv1 u01]$ tar czvf this.tar.gz ./*.txt
# 将当前目录下的this.tar.gz中的文件解压到当前目录
[root@oradbsv1 u01]$ tar zxvf this.tar.gz
# 将当前目录下的this.tar.gz中的文件解压到指定目录
[root@oradbsv1 u01]$ tar zxvf this.tar.gz /u01/mytar
1.2.6 用户与用户组操作
1.2.6.1 useradd 创建用户
(1)-g 创建用户默认属于哪个组
(2)-G 创建用户隶属于除默认组外的哪个组
(3)-m 自动创建用户 HOME 目录
(4)useradd -g osinstall -G dba oracle 创建用户oracle默认属osinstall组,隶属于dba组。
1.2.6.2 usermod 改变用户所属组
(1)-g 创建用户默认属于哪个组
(2)-G 创建用户隶属于除默认组外的哪个组
(3)usermod -g osinstall -G dba oracle 修改用户oracle默认属osinstall组,隶属于dba组。
1.2.6.3 passwd 修改用户密码
passwd <用户名>
1.2.6.4 userdel删除用户
(1)userdel <用户名> ,删除账户信息,但不会删除对应的Home与Email目录
(2)usedel -r <用户名> ,删除账户信息及对应的Home与Email目录
1.2.7 其它常用命令
1.2.7.1 su 切换到指定的用户下
su root
su oracle : 只切换用户,而不切换环境;依旧使用root的环境。
su - oracle :同时切换用户和环境
su oracle:不会执行oracle主目录中的profile脚本
su - oracle:会执行oracle主目录中的profile脚本
1.2.7.2 sudu 以root权限执行命令
sudu vim test.txt
1.2.7.3 clear 清屏
1.2.7.4 echo 以字符串的形式输出文件内容
echo $PATH 输出PATH环境变量的内容
1.2.7.5 tail 跟踪运行日志
tail -f /usr/tmp/logs/daemon_log.txt
动态滚动显示该 log 文件的动态更新。
1.2.7.6 rz 将文件从本地上传到服务器
received(接收)
1.2.7.7 sz 从服务器发送文件到本地
send(发送)
1.2.7.8 find 查找命令
find 要查找的目录 -name 文件或目录名称
find /data -name qdhiip_his.ora
1.2.8 磁盘相关命令
列出块设备信息:lsblk
查看硬盘及分区信息:fdisk -l
格式化:mkfs.ext4 /dev/sda*
1.3 Linux常用快捷键
(1) 输入错误删除命令使用Ctrl+退格键
(2) 编辑文本时按 i 键进行编辑状态
(3) 编辑文件时,在非编辑状态下,按 Shift + $ 跳转至行最后
1.4 Linux进程跟踪
[root@oradbsv1~]$ top -u oracle
(1)VIRT:virtual memory usage 虚拟内存
(2)RES:resident memory usage 常驻内存
(3)SHR:shared memory 共享内存
(4)DATA:数据占用的内存。如果top没有显示,按f键可以显示出来。
(5)按 m键进行内存使用排序,显示内存使用率

1.5 给普通用户赋sudo权限
(1) 切换至Root用户
[oracle@oradbsv1 ~]$ su root
Password: 输入Root用户密码后回车
[root@oradbsv1 ~]$
(2) 为sudoers 赋值可修改权限
[root@oradbsv1 ~]$ chmod u+w /etc/sudoers
(3) 打开sudo的配置文件
[root@oradbsv1 ~]$ vim /etc/sudoers
(4) 修改sudoers文件
在root ALL=(ALL)ALL 下 追加 用户名 ALL=(ALL)ALL
(5) 为sudoers 关闭可修改权限
[root@oradbsv1 ~]$ chmod u-w /etc/sudoers
2 离线RPM包
2.1 离线下载地址
Oracle Linux 服务器离线 PRM包下载地址如下两个
http://yum.oracle.com/repo/OracleLinux/OL7/UEKR4/x86_64/
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/
2.2 离线安装RPM包
2.2.1 上传文件
上传文件至指定目录下,例 /data 目录
2.2.2 离线安装
[root@oradbsv1~]$ cd /data
[root@oradbsv1~]$ rpm -ivh xxxx.rpm --force –nodeps
--nodeps:取消依赖关系
--force:强制安装
2.2.3 查询已安装RPM包列表
[root@oradbsv1~]$ yum list installed
3 服务器常用维护
3.1 硬盘操作
3.1.1 创建分区
3.1.1.1 查看下是否有磁盘没有分区
fdisk –l
其中第一个框是已经分好区的磁盘,第二、三个硬盘没有分区。下面开始分区

3.1.1.2 用fdisk 对/dev/vda 进行分区
fdisk /dev/vdb
输入m,可以查看命令操作

输入p 查看当前硬盘分区,目前没有分区

输入n新建一个分区,输入p 建立分区,输入分区编号 1

然后会让你设置开始扇区,我填的是开始扇区2048,结束,20480

最后输入w,回车保存

其实这个时候,建立好的分区还不能用,还需要挂载才可以用。但是挂载之前,必须要格式化,才行。。。
3.1.2 格式化分区
#格式化命令:格式分区,并指定分区系统/dev/vdb ,我这里是格式化成 xfs
mkfs.xfs /dev/vdb

3.1.3 挂载分区
#新建data1文件夹作为新挂载磁盘的访问路径
root@oradbsv1 ~]$ mkdir /data1
#挂载磁盘/dev/sdb至指定文件夹data1
[root@oradbsv1 ~]$ mount /dev/sdb /data1
#为oracle用户赋权
[root@oradbsv1 ~]$ chown -R oracle:oinstall /data1
[root@oradbsv1~]$ chmod -R 755 /data1
3.1.4 设置开机自动挂载
#解决系统重启后丢失磁盘的问题
[root@oradbsv1 ~]$ vi /etc/fstab
#追加如下语句
/dev/sdb /data1 xfs defaults 0 0
3.1.5 卸载分区
umount /dev/vdb
卸载了,其实还可以挂载,而且数据还会在的

3.1.6 删除分区
fdisk /dev/sdc
m
d
1
d #删除
w #输入 w 保存,这个时候分区以及删除了,可以重新创建了
3.2 查看与挂载新磁盘
3.2.1 查看新磁盘是否被系统识别
[root@oradbsv1 ~]$ su root
# 列出块设备信息(df -h不能看到的卷)
[root@oradbsv1 ~]$ lsblk
[root@oradbsv1 ~]$ fdisk -l
#新磁盘识别如下图所示:

3.2.2 查看原有磁盘的文件系统类型
[root@oradbsv1 ~]$ df -T
#新磁盘识别如下图所示(Avail<已使用>4.5G / Used<可用>12G / 74%,Type=xfs即原磁盘文件系统类型):

3.2.3 初使化新挂载磁盘并初使化
[root@oradbsv1 ~]$ mkfs -t xfs /dev/sdb

3.2.4 挂载磁盘至指定的文件夹
#新建data1文件夹作为新挂载磁盘的访问路径
root@oradbsv1 ~]$ mkdir /data1
#挂载磁盘/dev/sdb至指定文件夹data1
[root@oradbsv1 ~]$ mount /dev/sdb /data1
#解决系统重启后丢失磁盘的问题
[root@oradbsv1 ~]$ vi /etc/fstab
#追加如下语句
/dev/sdb /data1 xfs defaults 0 0
#为oracle用户赋权
[root@oradbsv1 ~]$ chown -R oracle:oinstall /data1
[root@oradbsv1~]$ chmod -R 755 /data1
3.2.5 查看新挂载磁盘情况
[root@oradbsv1 ~]$ df -h

3.2.6 卸载磁盘
[root@oradbsv1 ~]$ umount /data1 /dev/sdb
3.3 调整系统虚拟内存(swap)大小
3.3.1 查看swap空间使用情况
[root@oradbsv1 ~]$ free -m

3.3.2 创建swap文件
# 在一个将大的分区上创建swap文件(大小B = bs * count)
[root@oradbsv1 mapper]$ cd /usr
[root@oradbsv1 usr]$ mkdir swap
[root@oradbsv1 usr]$ cd swap
[root@oradbsv1 swap]$ ll
总用量 0
[root@oradbsv1 swap]$ dd if=/dev/zero of=/usr/swap/swapfile1 bs=1024 count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
1024000000字节(1.0 GB)已复制,5.40277 秒,190 MB/秒
3.3.3 查看创建文件的大小
[root@oradbsv1 swap]$ du -sh /usr/swap/swapfile1
977M /usr/swap/swapfile1
3.3.4 将目标文件设置为swap分区文件
[root@oradbsv1 swap]$ mkswap /usr/swap/swapfile1
Setting up swapspace version 1, size = 999996 KiB
no label, UUID=7eec8e34-e5d9-48f7-aa71-028268a48e46
3.3.5 激活swap,立即启用交换分区文件
[root@oradbsv1 swap]$ swapon /usr/swap/swapfile1
3.3.6 设置开机时自启用(/etc/fstab)
说明:修改文件/etc/fstab中的swap行,将前方的路径调整为新创建的swap文件
[root@oradbsv1 swap]$ vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon May 11 19:35:55 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_localhost-lv_root / ext4 defaults 1 1
UUID=cef520a0-df77-4ce1-8856-514d154c816d /boot ext4 defaults 1 2
#/dev/mapper/vg_localhost-lv_swap swap swap defaults 0 0
/usr/swap/swapfile1 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
3.3.7 重启系统生效。
[root@oradbsv1 swap]$ reboot
3.4 查看服务器配置情况
3.4.1 查看CPU
(1) 查看CPU个数
[root@oradbsv1 ~]$ cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
(2) 查看CPU核数
[root@oradbsv1 ~]$ cat /proc/cpuinfo | grep "cpu cores" | uniq
(3) 查看CPU型号
[root@oradbsv1 ~]$ cat /proc/cpuinfo | grep 'model name' |uniq
3.4.2 查看内存
[root@oradbsv1 ~]$ cat /proc/meminfo | grep MemTotal
3.5 重启或关机流程
3.5.1 停止Oracle监听器(详见4.1.3停止监听器操作)
注意:切换用户至oracle
[oracle@oradbsv1~]$ lsnrctl stop
3.5.2 关闭Oracle数据库(详见4.2.3关闭数据库)
注意:切换用户至oracle
[oracle@oradbsv1 database]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sun Jun 2 21:58:12 2019
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
SQL> exit
3.5.3 重启服务器
注意:切换用户至root
[oracle@oradbsv1~]$ su root
[root@oradbsv1~]$ reboot
3.5.4 关机服务器
注意:切换用户至root
[oracle@oradbsv1~]$ su root
# now 立即关机
[root@oradbsv1~]$ shutdown -h now
3.6 打开或关闭图形界面(详见2.6关闭图形界面)
注意:建议在安装Oracle后关闭图形界面
#查看当前的默认目标,运行:
[root@oradbsv1~]$ systemctl get-default
graphical.target,标明运行状态
#关闭图形界面
[root@oradbsv1~]$ systemctl set-default multi-user.target
#打开图形界面
[root@oradbsv1~]$ systemctl set-default graphical.target
#重启系统生效(永久)
[root@oradbsv1~]$ reboot
#dos界面与图形化界面切换快捷键
图形到dos:ctrl+alt+f2
dos到图形:输入startx
3.7 服务器时间查看与修改
3.7.1 格式化查看时间
#查看当前系统日期 2019-06-03
[root@oradbsv1~]$ date "+%Y-%m-%d"
#查看当前系统时间13:13:59
[root@oradbsv1~]$ date "+%H:%M:%S"
#查看当前系统日期时间 2019-06-03 13:14:19
[root@oradbsv1~]$ date "+%Y-%m-%d %H:%M:%S"
#查看当前系统硬件时间钟
[root@oradbsv1~]$ hwclock -show
[root@oradbsv1~]$ clock -show
3.7.2 修改系统时间
#修改当前系统日期(date -s mm/dd/yyyy)
[root@oradbsv1~]$ date -s 06/03/2019
#修改当前系统时间(date -s hh:mm:ss)
[root@oradbsv1~]$ date -s 21:00:00
#设置硬件时间(月/日/年时:分:秒)
[root@oradbsv1~]$ hwclock --set --date="06/18/14 14:55"
[root@oradbsv1~]$ clock --set --date="06/18/14 14:55"
#这个命令强制把系统时间写入CMOS。
[root@oradbsv1~]$ clock -w
3.8 网络配置
3.8.1 查看系统网卡列表
ifconfig

3.8.2 设置网络地址与开机启动
[root@oradbsv1~]$ vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
#系统启动此配置就生效
ONBOOT=yes
#网卡获取IP的方式(默认为dchp,表示自动获取;需要改为static,手动设置)
BOOTPROTO=static
# IP地址的前三位必须与z子网IP一致,与宿主机的VMnet8 的IP一致
IPADDR=192.168.109.132
#使用子网IP掩码
NETMASK=255.255.255.0
#使用子网IP的网关
GATEWAY=192.168.109.2
#根据实际情况进行配置
DNS1=192.168.109.2
#根据实际情况进行配置
DNS2=8.8.8.8
参照如上配置根据实际网络环境进行配置。
● 按“i”键进入 Insert 模式后进行编辑
● 编辑完成后,按Esc退出编辑状态
● 输入:wq 进行存盘退出
说明:“:wq”保存并退出或者 ”:q”退出或者 ”:q! ”强制退出
(1) 重启网络配置
[root@oradbsv1~]$ service network restart
(2) 测试网络连接
[root@oradbsv1~]$ Ping 内网下指定ip
3.8.3 设置静态路由
IP地址后的/16 与 /24代表子网掩码
/16 = 255.255.0.0
/24 = 255.255.255.0
#查看系统路由表
[root@oradbsv1 ~]$ ip route show|column –t
default 代表默认路由,即分配IP地址时,指定的网关
10.10.0.0/24为需要追加的路由 dev ens33为指定的网卡

#为网卡ens33添加静态路由,追加指定路由文件
[root@oradbsv1 ~]$ cat /etc/sysconfig/network-scripts/
[root@oradbsv1 ~]$ vi route-ens33
#文件中追加如下内容
10.10.0.0/24 via 192.168.90.1 dev ens33
如上内容解释如下所示:
#10.10.0.0 即需要访问的网段
#/24 即子网掩码 255.255.255.0
#192.168.90.1 即追加的网关
#dev ens33 即指向的网卡
#重新查看路由表,确认路由是否追加成功
[root@oradbsv1 ~]$ ip route show|column –t
#重启网卡服务
[root@oradbsv1 ~]$ service network restart
3.9 关闭防火墙
#查看防火墙状态,运行中
[root@oradbsv1 ~]$ systemctl status firewalld.service
#返回信息如下所示
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since 六 2019-06-01 14:19:40 CST; 57min ago
Main PID: 632 (firewalld)
CGroup: /system.slice/firewalld.service
└─632 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
6月 01 22:12:24 orclserver systemd[1]: Starting firewalld - dynamic firewall daemon...
6月 01 14:19:40 orclserver systemd[1]: Started firewalld - dynamic firewall daemon.
#关闭防火墙
[root@oradbsv1 ~]$ systemctl stop firewalld.service
[root@oradbsv1 ~]$ systemctl status firewalld.service
Active: inactive (dead) since 六 2019-06-01 15:19:03 CST; 12s ago
#禁止使用防火墙(重启也是禁止的)
[root@oradbsv1 ~]$ systemctl disable firewalld.service
3.10 验证Oracle是否启动
3.10.1 查看监听器状态(详见4.1.1查看监听器状态)
注意:切换用户至oracle
[oracle@oradbsv1~]$ lsnrctl status
如下图所示,标明服务已启动:

#查看Oracle监听器进程:
[oracle@oradbsv1 database]$ ps -ef | grep tnslsnr
#如下图所示:

3.10.2 测试Oracle数据库(详见2.4.1.10.10测试Oracle数据库)
注意:切换用户至oracle
[oracle@oradbsv1 database]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Sun Jun 2 21:58:12 2019
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> select sysdate from dual;
SYSDATE
------------
02-JUN-19s
#查看Oracle进程:
[oracle@oradbsv1 database]$ ps -ef | grep oracle
#如下图所示:

3.11 Linux进程跟踪(详见5.3Linux进程跟踪)
[root@oradbsv1~]$ top -u oracle
(6)VIRT:virtual memory usage 虚拟内存
(7)RES:resident memory usage 常驻内存
(8)SHR:shared memory 共享内存
(9)DATA:数据占用的内存。如果top没有显示,按f键可以显示出来。
(10)按 m键进行内存使用排序,显示内存使用率

3.12 服务器非正常关机,开机后连接数据库提示错误(ORA-01033)
错误信息:ORA-01033: ORACLE initialization or shutdown in progress
解决方法如下:
(1)sqlplus /nolog
(2)connect sys/change_on_install as sysdba
(3)shutdown normal
提示:数据库已经关闭 已经卸载数据库 ORACLE 例程已经关闭
(4)startup mount
(5)alter database open;
3.13 配置FTP服务器
3.13.1 检查并安装vsftpd软件
#检查vsftpd软件是否安装
[root@oradbsv1 ~]$ rpm -qa |grep vsftpd
#安装vsftpd软件
[root@oradbsv1 ~]$ yum install vsftpd –y
3.13.2 配置FTP服务(vsftpd.conf)
[root@oradbsv1 ~]$ rm -f /etc/vsftpd/vsftpd.conf
[root@oradbsv1 ~]$ vi /etc/vsftpd/vsftpd.conf
#配置文件内容替换为如下:
write_enable=YES
local_enable=YES
local_umask=000
anonymous_enable=NO
anon_mkdir_write_enable=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
allow_writeable_chroot=YES
3.13.3 创建FTP主目录并赋权
#创建ftp的主目录
[root@oradbsv1 ~]$ mkdir /data/ftpfile
#给该目录赋权。可以根据需求自定义该文件夹权限。
[root@oradbsv1 ~]$ chmod 777 /data/ftpfile
[root@oradbsv1 ~]$ chmod a-w /data/ftpfile
[root@oradbsv1 ~]$ chmod -R 755 /data/ftpfile
3.13.4 创建FTP用户
# 创建Fft用户 qdsoft 指向目录 /data/ftpfile
[root@oradbsv1 ~]$ useradd -d /data/ftpfile -m qdsoft
# 配置Ftp用户 qdsoft 密码,根据提示输入密码即可
[root@oradbsv1 ~]$ passwd qdsoft
# 配置Ftp用户有指向目录的修改权限
[root@oradbsv1 ~]$ chown -R qdsoft:qdsoft /data/ftpfile
3.13.5 创建chroot_list文件
注意:chroot_list 文件用于记录所有新建的ftp用户,目的是列出“不会被限制在主目录下”的用户列表。
#创建chroot_list文件
[root@oradbsv1 ~]$ vi /etc/vsftpd/chroot_list
#添加新增加的ftp用户后 :wq 保存
3.13.6 重启Ftp服务并设定开机自动运行
#重启Ftp服务
[root@oradbsv1 ~]$ service vsftpd restart
#查看Ftp服务运行是否正常
[root@oradbsv1 ~]$ service vsftpd status
#FTP设置开机自动运行:
[root@oradbsv1 ~]$ chkconfig vsftpd on
#查看本地是否含有包含ftp的进程开启:
[root@oradbsv1 ~]$ ps -ef | grep ftp
----------------------------------------------------------------------------------------------
#【辅助】关闭FTP开机自动运行:
[root@oradbsv1 ~]$ chkconfig vsftpd off
#【辅助】查看所有服务开启自动运行的情况:
[root@oradbsv1 ~]$ chkconfig --list
3.14 配置Linux与Windows时间服务器同步
3.14.1 配置Windows时间服务器
注意:寻找一台能够上内外网的电脑做为时间服务器,我们可以配置在支付服务器中。
3.14.1.1 部署时间服务器服务端(TimeServer.exe)
该应用程序用于定时向Internet获取标准北京时间,在选项或配置文件中配置开机自动启动与端口号后保存设置并重启服务。

3.14.1.2 下载并安装Windows版的NTP服务程序
下载地址:https://www.meinbergglobal.com/english/sw/ntp.htm#ntp_stable
文件名称:ntp-4.2.8p15-v2-win32-setup.exe
默认安装目录:下载并安装Windows版的NTP服务程序
3.14.1.3 由防火墙中将如下文件设置为例外
C:\Program Files (x86)\NTP\bin\ntpq.exe
C:\Program Files (x86)\NTP\bin\ntpd.exe

3.14.2 配置Linux时间同步
3.14.2.4 检查并安装NTP包
l 在线安装RPM包
[root@oradbsv1~]$ yum -y install ntp ntpdate
l 离线安装RPM包
(1)打开网站:http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/
(2)下载文件:ntp-4.2.6p5-29.0.1.el7.x86_64.rpm
(3)上传至服务器指定目录下(可自行指定):/data
(4)以root用户进行离线安装
[root@oradbsv1~]$ cd /data
[root@oradbsv1~]$ rpm -ivh ntp-4.2.6p5-29.0.1.el7.x86_64.rpm --force –nodeps
3.14.2.5 测试一次时间同步
#192.168.90.205为时间服务器IP地址,根据单位实际地址配置
[root@oradbsv1 ~]$ ntpdate -u 192.168.90.205
#如出现如下内容,标明时间同步成功
4 Jun 10:34:51 ntpdate[326978]: adjust time server 192.168.90.205 offset 0.001961 sec
3.14.2.6 配置系统定时任务
#添加定时任务,30分钟同步一次
[root@oradbsv1 ~]$ crontab -e
#添加如下语句:每天30分执行一次时间更新操作
*/30 * * * * /usr/sbin/ntpdate -u 192.168.90.205 > /dev/null 2>&1; /sbin/hwclock -w
#重启定时服务状态
[root@oradbsv1 ~]$ service crond restart
#查看定时服务状态
[root@oradbsv1 ~]$ service crond status

