详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作,具体如下:

环境:OEL 5.7 + Oracle 10.2.0.5 RAC

1.实施前准备工作

1.1 服务器安装操作系统

1.2 Oracle安装介质

1.3 共享存储规划

1.4 网络规划分配

2.主机配置

2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

2.2 共享存储配置

2.3 配置/etc/hosts

2.4 配置Oracle用户等价性

2.5 创建软件目录

2.6 配置用户环境变量

2.7 关闭各节点主机防火墙和SELinux

2.8 各节点系统时间校对

1.实施前准备工作

1.1 服务器安装操作系统

配置完全相同的两台服务器,安装相同版本的Linux操作系统。留存系统光盘或者镜像文件。
 我这里是OEL5.7,系统目录大小均一致。对应OEL5.7的系统镜像文件放在服务器上,供后面配置本地yum使用。

1.2 Oracle安装介质

Oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升级包。

-rwxr-xr-x 1 root root 302M 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz
-rwxr-xr-x 1 root root 724M 12月 24 13:08 10201_database_linux_x86_64.cpio.gz
-rwxr-xr-x 1 root root 1.2G 12月 24 13:10 p8202632_10205_Linux-x86-64.zip

这个用MOS账号自己去support.oracle.com下载,然后只需要上传到节点1即可。

1.3 共享存储规划

从存储中划分出两台主机可以同时看到的共享LUN。

我这里自己的实验环境是使用openfiler模拟出共享LUN:

5个100M大小LUN;用于OCR,votedisk;

3个10G大小LUN;用于DATA;

2个5G大小LUN;用于FRA。

openfiler使用可参考:Openfiler配置RAC共享存储

1.4 网络规划分配

公有网络 以及 私有网络。

公有网络:物理网卡eth0(public IP,VIP),需要4个IP地址。

私有网络:物理网卡eth1(private IP),需要2个内部IP地址。

实际生产环境一般服务器都至少有4块网卡。建议是两两bonding后分别作为公有网络和私有网络。

2.主机配置

2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

由于系统环境是OEL5.7,可以简化依赖包安装、内核参数调整,用户和组创建等工作,可参考:OEL上使用yum install oracle-validated 简化主机配置工作

2.2 共享存储配置:

我这里openfiler所在主机的IP地址为192.168.1.12。归划的10块LUN全部映射到iqn.2006-01.com.openfiler:rac10g上。

[root@oradb28 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.12
192.168.1.12:3260,1 iqn.2006-01.com.openfiler:rac10g

#手工登录iscsi目标
iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -l

#配置自动登录
iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 --op update -n node.startup -v automatic

#重启iscsi服务
service iscsi stop
service iscsi start

注意:安装10g RAC,要确保共享设备上划分的LUN要在所有节点上被识别为相同设备名称。

[root@oradb27 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 Jan 2 22:40 /dev/sda
brw-r----- 1 root disk 8, 16 Jan 2 22:40 /dev/sdb
brw-r----- 1 root disk 8, 32 Jan 2 22:40 /dev/sdc
brw-r----- 1 root disk 8, 48 Jan 2 22:40 /dev/sdd
brw-r----- 1 root disk 8, 64 Jan 2 22:40 /dev/sde
brw-r----- 1 root disk 8, 80 Jan 2 22:40 /dev/sdf
brw-r----- 1 root disk 8, 96 Jan 2 22:40 /dev/sdg
brw-r----- 1 root disk 8, 112 Jan 2 22:40 /dev/sdh
brw-r----- 1 root disk 8, 128 Jan 2 22:40 /dev/sdi
brw-r----- 1 root disk 8, 144 Jan 2 22:40 /dev/sdj

[root@oradb28 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 Jan 2 22:41 /dev/sda
brw-r----- 1 root disk 8, 16 Jan 2 22:41 /dev/sdb
brw-r----- 1 root disk 8, 32 Jan 2 22:41 /dev/sdc
brw-r----- 1 root disk 8, 48 Jan 2 22:41 /dev/sdd
brw-r----- 1 root disk 8, 64 Jan 2 22:41 /dev/sde
brw-r----- 1 root disk 8, 80 Jan 2 22:41 /dev/sdf
brw-r----- 1 root disk 8, 96 Jan 2 22:41 /dev/sdg
brw-r----- 1 root disk 8, 112 Jan 2 22:41 /dev/sdh
brw-r----- 1 root disk 8, 128 Jan 2 22:41 /dev/sdi
brw-r----- 1 root disk 8, 144 Jan 2 22:41 /dev/sdj

其中sda,sdb,sdc,sdd,sde是100M大小的LUN,我们分别将这5个LUN各分成一个区(我实验中发现如果不分区直接绑成裸设备,在安装clusterware后执行root.sh时会报错:“Failed to upgrade Oracle Cluster Registry configuration”,分区后绑定分区成裸设备,发现可以正常执行通过)

[root@oradb27 ~]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda
brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1
brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb
brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1
brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc
brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1
brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd
brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1
brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde
brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1

[root@oradb28 crshome_1]# ls -lh /dev/sd*
brw-r----- 1 root disk 8, 0 Jan 3 09:36 /dev/sda
brw-r----- 1 root disk 8, 1 Jan 3 09:36 /dev/sda1
brw-r----- 1 root disk 8, 16 Jan 3 09:36 /dev/sdb
brw-r----- 1 root disk 8, 17 Jan 3 09:36 /dev/sdb1
brw-r----- 1 root disk 8, 32 Jan 3 09:36 /dev/sdc
brw-r----- 1 root disk 8, 33 Jan 3 09:36 /dev/sdc1
brw-r----- 1 root disk 8, 48 Jan 3 09:36 /dev/sdd
brw-r----- 1 root disk 8, 49 Jan 3 09:36 /dev/sdd1
brw-r----- 1 root disk 8, 64 Jan 3 09:36 /dev/sde
brw-r----- 1 root disk 8, 65 Jan 3 09:36 /dev/sde1

1)使用udev 绑定raw devices ,供ocr和voting disk使用

编辑配置文件并追加以下内容:

# vi /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="sda1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="oinstall", MODE=="0660"

启动start_udev:

[root@oradb27 rules.d]# start_udev
Starting udev:            [ OK ]
[root@oradb27 rules.d]# ls -l /dev/raw*
crw-rw---- 1 oracle oinstall 162, 0 Jan 2 22:37 /dev/rawctl

/dev/raw:
total 0
crw-rw---- 1 oracle oinstall 162, 1 Jan 2 23:11 raw1
crw-rw---- 1 oracle oinstall 162, 2 Jan 2 23:11 raw2
crw-rw---- 1 oracle oinstall 162, 3 Jan 2 23:11 raw3
crw-rw---- 1 oracle oinstall 162, 4 Jan 2 23:11 raw4
crw-rw---- 1 oracle oinstall 162, 5 Jan 2 23:11 raw5
[root@oradb27 rules.d]#

配置文件60-raw.rules传到节点2:

[root@oradb27 rules.d]# scp /etc/udev/rules.d/60-raw.rules oradb28:/etc/udev/rules.d/

在节点2启动start_udev。

注意:如果安装中发现raw曾被使用过,可能需要dd清除头部信息;

dd if=/dev/zero of=/dev/raw/raw1 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw2 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw3 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw4 bs=1048576 count=10
dd if=/dev/zero of=/dev/raw/raw5 bs=1048576 count=10

2)使用udev 绑定asm devices,供data磁盘组和fra磁盘组使用

for i in f g h i j;
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""
done

操作过程如下:

[root@oradb27 rules.d]# for i in f g h i j;
> do
> echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id -g -u -s %p\", RESULT==\"`scsi_id -g -u -s /block/sd$i`\", NAME=\"asm-disk$i\", OWNER=\"oracle\", GROUP=\"oinstall\", MODE=\"0660\""
> done
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455279366c36366a2d5a4243752d58394a33", NAME="asm-diskf", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45525453586652542d67786f682d594c4a66", NAME="asm-diskg", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455232586c3151572d62504e412d3343547a", NAME="asm-diskh", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45527061334151682d4666656d2d5a6a4c67", NAME="asm-diski", OWNER="oracle", GROUP="oinstall", MODE="0660"
KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c4552495649757a352d675251532d47744353", NAME="asm-diskj", OWNER="oracle", GROUP="oinstall", MODE="0660"
[root@oradb27 rules.d]# 

vi
[root@oradb27 rules.d]# vi 99-oracle-asmdevices.rules

[root@oradb27 rules.d]# start_udev
Starting udev:            [ OK ]
[root@oradb27 rules.d]# ls -lh /dev/asm*
brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:18 /dev/asm-diskf
brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:18 /dev/asm-diskg
brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:18 /dev/asm-diskh
brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:18 /dev/asm-diski
brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:18 /dev/asm-diskj

#拷贝配置文件99-oracle-asmdevices.rules到节点2,启动start_udev
[root@oradb27 rules.d]# scp 99-oracle-asmdevices.rules oradb28:/etc/udev/rules.d/99-oracle-asmdevices.rules

[root@oradb28 ~]# start_udev
Starting udev:            [ OK ]
[root@oradb28 ~]# ls -l /dev/asm*
brw-rw---- 1 oracle oinstall 8, 80 Jan 2 23:20 /dev/asm-diskf
brw-rw---- 1 oracle oinstall 8, 96 Jan 2 23:20 /dev/asm-diskg
brw-rw---- 1 oracle oinstall 8, 112 Jan 2 23:20 /dev/asm-diskh
brw-rw---- 1 oracle oinstall 8, 128 Jan 2 23:20 /dev/asm-diski
brw-rw---- 1 oracle oinstall 8, 144 Jan 2 23:20 /dev/asm-diskj

2.3 配置/etc/hosts

按照规划配置节点1的/etc/hosts内容

#public ip
192.168.1.27 oradb27
192.168.1.28 oradb28
#private ip
10.10.10.27 oradb27-priv
10.10.10.28 oradb28-priv
#virtual ip
192.168.1.57 oradb27-vip
192.168.1.58 oradb28-vip

然后scp拷贝/etc/hosts配置文件到节点2:

scp /etc/hosts oradb28:/etc/

2.4 配置Oracle用户等价性

#所有节点执行:
ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa

#节点1执行:
ssh 192.168.1.27 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh 192.168.1.28 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys 192.168.1.28:~/.ssh/

#所有节点执行验证ssh等价性:
ssh 192.168.1.27 date;ssh 192.168.1.28 date;
ssh oradb27 date;ssh oradb28 date;
ssh oradb27-priv date;ssh oradb28-priv date;

对配置用户ssh互信步骤如有疑问可以参考:记录一则Linux SSH的互信配置过程

2.5 创建软件目录

mkdir -p /u01/app/oracle/product/10.2.0.5/dbhome_1
mkdir -p /u01/app/oracle/product/10.2.0.5/crshome_1
chown -R oracle:oinstall /u01/app

2.6 配置用户环境变量

节点1: vi /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1
export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1
export ORACLE_SID=jyrac1
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
alias sql="sqlplus \"/as sysdba\""

节点2:vi /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1
export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1
export ORACLE_SID=jyrac2
export NLS_LANG=AMERICAN_AMERICA.US7ASCII
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
alias sql="sqlplus \"/as sysdba\""

2.7 关闭各节点主机防火墙和SELinux

各节点检查、关闭防火墙和SE Linux:

service iptables status
service iptables stop
chkconfig iptables off

getenforce
setenforce 0
vi /etc/selinux/config
 修改:Enforcing -> disabled

2.8 各节点系统时间校对

service ntpd stop
date
#如果时间有问题,就按下面的语法进行设定
date 072310472015 //设定日期为2015-07-23 10:47:00
hwclock -w
hwclock -r

至此,主机配置的相关准备工作已经完成。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux下安装oracle客户端并配置php5.3

    因项目需要在linux下进行php5.3的oracle客户端编译,简要介绍一下步骤及走过的弯路. 1.下载Oracle客户端程序包,其中包含OCI.OCCI和JDBC-OCI等相关文件. 1.1下载文件地址 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 根据操作系统的版本选择对应的软件,我需要的是X86_64选择 Instant Client for Linux x86-6

  • Linux Apache PHP Oracle 安装配置(具体操作步骤)

    Oracle 就不说了,Linux 是 CentOS.1. 安装 httpd(apache)yum install httpd -y 2. 安装 php, php-gd, php-mcrypt, php-pecl*yum install php php-gd php-mcrypt php-pecl* -y 3. 安装 oci8pecl install oci8安装时输入oracle安装目录 4.修改 httpd.conf找到User apacheGroup apache改成系统中的用户,如:Us

  • Linux系统下Oracle数据库的安装和启动关闭操作教程

    1.准备: df -H 查看空间剩余   一般准备最少5G 2.查看swap分区大小 du -sh /tmp/ 最少400M 3. 建组建用户 groupadd dba -g 111 groupadd oinstall -g 110 useradd oracle -u -110 -g 110 -G 111 passwd oracle --stdin 4. 设置参数 su - oracle vi .bash_profile export ORACLE_BASE=/u01/oracle export

  • Linux系统(X64)安装Oracle11g完整安装图文教程另附基本操作

    一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件. oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 编辑完成后按Esc键,输入":wq"

  • Linux下安装Oracle(CentOS-Oracle 12c)的方法

    第一步:网络连接,在我的上一篇博客中有介绍,不再多说. 网络连接的目的:为了能使用yum命令,在网上直接下载文件. 第二步:前往oracle官网下载12c database服务器端的两个文件:(安装在Linux) linuxamd64_12102_database_1of2.zip linuxamd64_12102_database_2of2.zip 将这两个文件放在Linux的tmp目录下,使用 unzip 命令来解压. database的client的一个文件:(安装在Windows) 32

  • Linux安装Oracle出现乱码怎么解决

    Linux系统下Oracle经常会出现乱码,不管是安装还是使用过程中都会出现中文乱码.这是因为Linux系统中缺少了某些字体,只要安装了这些字体,就能解决这个问题了. 解决办法一: 方法如下: 把中文字体放到Oracle安装包的 jdk/jre/lib/font/fallback下就可以了. 对于使用Oracle图形化工具时出现的乱码问题: 把中文字体复制到 ~/.font下,然后执行: 复制代码 代码如下: $ sudo mkfontscale $ sudo mkfontdir 以上就是Lin

  • linux下安装oracle后使用命令行启动的方法 linux启动oracle

    复制代码 代码如下: #su - oracle$sqlplus / as sysdba>startup>exit$lsnrctl start$ps -ef|grep oracle

  • 在Linux下安装Oracle

    正在看的ORACLE教程是:在Linux下安装Oracle. 由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素.本文分两个方面介绍在Linux RedHat 6.0环境下Oracle 8.0.5的安装. 一.调整Linux核心与环境 在安装Oracle之前,应该先对RedHat 6.0的Linux内核与环境进行调整,要做以下工作: 1.在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包. kernel -source -2.2.5 -15.1386.r

  • 详解Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作,具体如下: 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规划分配 2.主机配置 2.1 使用yum安装oracle-validated包来简化主机配置的部分工作 2.2 共享存储配置 2.3 配置/etc/hosts 2.4 配置Oracle用户等价性 2.5 创建软件目

  • 详解Linux 主机网络接入配置

    详解Linux 主机网络接入配置 前言: 网络配置是我们在安装好操作系统之后,需要解决的第一步.现时代没有接入网络的主机已然等同于一堆废铁.在网络配置的过程中,通常我们需要配置本机IP地址,缺省网关,DNS,主机名等等.本文主要描述在Linux环境下,主要以传统命令行方式讲解如何将主机接入网络.对于网路配置的新命令如ip,nmcli等等在以后的文章中描述. 一.网络配置概述 主机接入互联网前提:遵循TCP/IP协议栈 配置主机接入TCP/IP网络需要配置的内容:   IP/Netmask   路

  • 详解linux驱动编写(入门)

    在我离职之前,工作内容几乎不涉及到驱动方面的知识.我所要做的内容就是把客户对设备的请求拆分成一个一个的接口,调用驱动的设置进行配置就可以了.当然,至于驱动下面是怎么实现那就要根据具体情况而定了.比如说,有的驱动是芯片厂商直接写好的,假设芯片厂商提供了对应平台的sdk函数,那么驱动的工作就是对这些sdk函数进行封装就可以了,另外一种就是自己编写具体平台的驱动接口了.比如说,现在你需要编写串口.i2c.i2s.FLASH.网卡.LCD.触摸屏.USB驱动了.这个时候,你手里面除了一堆芯片手册,啥也没

  • 详解Linux命令中的正则表达式

    命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容. 1.单字符匹配符.  正则表达式主要由一些元字符和匹配模式组成 单字符匹配符可以匹配任意单个字符,这个字符的功能和文件名匹配符中的?功能相同 使用正则表达式查找文本,首先需要使用元字符组成一个查找模式 (1)使用查找模式时,通常将其放入两个斜杠//中,然后再放入命令,例如要在一个文本中查找匹配模式/.i...

  • 详解Linux命令iostat

    Linux系统出现了性能问题,一般我们可以通过top.iostat.free.vmstat等命令来查看初步定位问题.在一个以前看到系统监控工具,总在想那些监控工具的代理,如何收集系统性能信息,io性能,cpu使用,带宽使用等信息,偶然发现,不同系统均提供有性能分析工具的,代理可通过这些命令获取系统性能信息,个人猜测,不知道具体是不是这样的.其中iostat可以给我们提供丰富的IO状态数据,下边就来看一下iostat如何使用,命令能够输出那些信息. 简述 Linux系统中通过iostat我们能查看

  • 详解Linux下的sudo及其配置文件/etc/sudoers的详细配置

    详解Linux下的sudo及其配置文件/etc/sudoers的详细配置 1.sudo介绍 sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等.这样不仅减少了root用户的登陆 和管理时间,同样也提高了安全性.Sudo不是对shell的一个代替,它是面向每个命令的. 它的特性主要有这样几点: § sudo能够限制用户只在某台主机上运行某些命令. § sudo提供了丰富的日志,详细地记录了每个用

  • 详解linux 定时任务 crontabs 安装及使用方法

    安装 crontab yum install crontabs centos7 自带了我没有手动去装 启动/关闭 service crond start // 启动服务service crond stop // 关闭服务service crond restart // 重启服务service crond reload // 重新载入配置 查看 crontab 服务是否已设置为开机启动 systemctl list-unit-files | grep enable | grep crond 将 c

  • 详解Linux获取线程的PID(TID、LWP)的几种方式

    在 Linux C/C++ 中通常是通过 pthread 库进行线程级别的操作. 在 pthread 库中有函数: pthread_t pthread_self(void); 它返回一个 pthread_t 类型的变量,指代的是调用 pthread_self 函数的线程的 "ID". 怎么理解这个"ID"呢? 这个"ID"是 pthread 库给每个线程定义的进程内唯一标识,是 pthread 库维持的. 由于每个进程有自己独立的内存空间,故此&

  • 详解Linux动态库生成与使用指南

    Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件. 在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是在执行文件中记录对动态库的引用. 程序执行时,再去加载动态库文件.如果动态库已经加载,则不必重复加载,从而能节省内存空间. Linux下生成和使用动态库的步骤如下: 编写源文件. 将一个或几个源文件编译链接,生成共享库. 通过 -L<path> -lxxx 的gcc选项链接生成的libxxx.so

  • 详解Mysql和Oracle之间的误区

    本质区别 Oracle数据库是一个对象关系数据库管理系统(收费) MySQL是一个开源的关系数据库管理系统(免费) 数据库的安全性 mysql使用三个参数来验证用户,即用户名,密码和位置 Oracle使用了更多的安全功能,如用户名,密码,配置文件,本地身份验证,外部身份验证,高级安全增强功能等 权限 MySQL的权限系统是通过继承形成的分层结构.权限授于高层时,其他低层隐式继承被授于的权限,当然低层也可改写这些权限. 按授权范围不同,MySQL有以下种授权方式: 1.全局: 2.基于每个主机:

随机推荐