Oracle在Centos6安装步骤

1.建立组用户,配置密码... 1

2.安装依赖包... 1

3.系统预处理... 2

4. 内核参数调整... 4

5. Centos6 Limits配置... 5

6.PAM调整... 6

7.目录建立... 6

8环境变量... 6

9.重启系统... 7

安装程序... 7

打补丁... 14

创建监听... 15

建立数据库... 18

调整默认密码过期策略... 26

注意

1、数据库安装时,务必选择“仅安装数据库软件”

2、数据库卸载切勿手动删除目录,使用如下命令:$ORACLE_HOME/deinstall

3、创建完库后,请务必修改密码策略为“永不过期”,修改方法见目录

1.建立组用户

/usr/sbin/groupadd -g 5001 oinstall

/usr/sbin/groupadd -g 5002 dba

/usr/sbin/groupadd -g 5003 oper

/usr/sbin/useradd -u 5001 -g oinstall -G dba,oper oracle

配置密码

echo "<password>" | passwd oracle --stdin

2.安装依赖包

Centos6

yum install -y compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXp make sysstat unixODBC unixODBC-devel compat-libcap1 compat-libstdc++-33 elfutils-libelf-devel

centos7

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 elfutils-libelf-devel psmisc

3.系统预处理

关闭Transparent HugePages(此步可忽略,新系统已统一进行了优化)

Centos6

关闭Transparent HugePages特性(RHEL6/OEL6)

修改/etc/grub.conf文件,在Kernel行末尾加上下列参数:

transparent_hugepage=never

查看

grep H /proc/meminfo

centos7

# cd /usr/lib/tuned/throughput-performance/

# cp tuned.conf tuned.conf.bak

修改文件tuned.conf如下,如没有找到在最末行新增:

 [vm]

transparent_hugepages=always

to

[vm]

transparent_hugepages=never

需重启操作系统后确认

# cat /sys/kernel/mm/transparent_hugepage/enabled

always madvise [never] <<--- THP Disabled

禁用SELINUX,修改为DISABLE(此步可忽略,新系统已统一进行了优化)

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

getenforce

 IO调度算法调整,Centos6需要修改。(此步可忽略,新系统已统一进行了优化)

原先磁盘的IO算法是noop deadline [cfq]调度算法,这种算法是操作系统的默认算法,根据以往在Oracle调优上的建议,可以将这个算法修改为deadline模式。

修改/etc/grub.conf文件,在Kernel行末尾加上下列参数:

elevator=deadline

可以通过cat /sys/block/sda/queue/scheduler命令来查看目前调度算法。

配置服务

Centos6

service iptables stop

service iptables save

service ip6tables stop

service ip6tables save

chkconfig avahi-daemon off

chkconfig bluetooth off

chkconfig cpuspeed off

chkconfig cups off

chkconfig firstboot off

chkconfig ip6tables off

chkconfig iptables off

chkconfig pcmcia off

centos7

systemctl disable firewalld

systemctl disable avahi-daemon  

systemctl disable cups

systemctl disable postfix

systemctl disable smartd

RemoveIPC处理(centos7)

在RHEL7.2中,systemd-logind 服务引入了一个新特性,该新特性是:当一个user 完全退出os之后,remove掉所有的IPC objects。

解决方法

vim /etc/systemd/logind.conf

设置RemoveIPC=no

  # systemctl daemon-reload

  # systemctl restart systemd-logind

4. 内核参数调整

cat>>/etc/sysctl.conf<<EOF

kernel.shmmax = 137438953472

kernel.shmall = 26374320

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 4194304

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

net.ipv4.ipfrag_high_thresh = 16777216

net.ipv4.ipfrag_low_thresh = 15728640

kernel.randomize_va_space=0

vm.min_free_kbytes = 524288

##vm.nr_hugepages = 512

EOF

kernel.shmmax 是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。

可取的最大值为物理内存值 -1byte ,建议值为多于物理内存的一半,一般取值大于 SGA_MAX_SIZE 即可,可以取物理内存-1byte 。  

内存为12G时,该值为 12*1024*1024*1024-1 = 12884901887

内存为16G时,该值为 16*1024*1024*1024-1 = 17179869183

内存为32G时,该值为 32*1024*1024*1024-1 = 34359738367

内存为64G时,该值为 64*1024*1024*1024-1 = 68719476735

内存为128G时,该值为 128*1024*1024*1024-1 = 137438953471

kernel.shmall该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB

一个共享内存段的最大大小是 16G 时,那么需要共享内存页数是 16GB/4KB==4194304 (页),

当内存为12G时, kernel.shmall = 3145728

当内存为16G时, kernel.shmall = 4194304

当内次为32G时, kernel.shmall = 8388608

当内存为64G时, kernel.shmall = 16777216

当内存为128G时, kernel.shmall = 33554432

执行命令生效

# sysctl -p

5. Centos6 Limits配置

cat>>/etc/security/limits.conf<<EOF

oracle  soft    nproc           2047

oracle  hard    nproc           16384

oracle  soft    nofile          10240

oracle  hard    nofile          65536

oracle  soft    stack           10240

oracle  hard    stack           32768

root    soft    stack           10240

root    hard    stack           32768

*       soft    memlock         unlimited

*       hard    memlock         unlimited

EOF

Memlock在HugePage环境开启,单位为KB。

 Centos7 Limits配置

cat >> /etc/systemd/system.conf<<EOF

DefaultLimitNOFILE=100000

DefaultLimitNPROC=65535

EOF

cat>>/etc/security/limits.conf<<EOF

*       soft    memlock         unlimited

*       hard    memlock         unlimited

EOF

6.PAM调整

     ##防止本地登陆一直退出之login状态

echo "session    required     pam_limits.so" >>/etc/pam.d/login

7.目录建立

    请保证oracleoradata目录为单独挂载的lvm目录,切入直接在“/”目录下直接创建目录使用。

mkdir -p /oracle/u01/app/oraInventory

mkdir -p /oracle/u01/app/oracle/cfgtoollogs

mkdir -p /oracle/u01/app/oracle/product/11.2.0/db_1

chown -R oracle:oinstall /oracle

chown -R oracle:oinstall /oracle

chown -R oracle:oinstall /oradata

chmod -R 775 /oracle/u01/app/oraInventory

chmod -R 775 /oracle/u01/app/oracle

8环境变量

oracle用户

# su - oracle

$ vi .bash_profile

TMP=/tmp

ORACLE_SID=ORCL

#ORACLE_SID请预先想好,保证变量值与实际安装值一致。

ORACLE_BASE=/oracle/u01/app/oracle

ORACLE_HOME=/oracle/u01/app/oracle/product/11.2.0/db_1

TNS_ADMIN=$ORACLE_HOME/network/admin

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$HOME/bin:$PATH

umask 022

9.重启系统

安装数据库

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_2of7.zip

Centos7提前打好补丁

安装软件前,对安装介质更新Patch 19404309。

unzip p19404309_112040_Linux-x86-64.zip

cp b19404309/database/cvu_prereq.xml  database/stage/cvu

cd database

./runInstaller -jreLoc /oradata/install/jdk1.8/jre  

##上方请指定使用jdk,否则图形显示有问题。

在Oracle用户下执行数据库软体安装:

取消收取安全和升级通知

跳过软件升级界面

选择“仅安装数据库软体”

选择单实例或RAC模式

选择安装语言,英文好的直接默认下一步。

选择安装组件,这边选择“企业版”

配置ORACLE_BASE和ORACLE_HOME,预先配置好变量后,直接下一步。

配置用户组,这里选择dba和oper

安装检测,根据实际警告情况选择处理或忽略。

当所有报错解决完成

点击OK继续,

如果是centos7安装过程中会报错,确保启动安装时指定了JDK路径,否则可能无法看到报错界面。

error in invoking target ‘agent nmhs’ of makefile

vi $ORACLE_HOME/sysman/lib/ins_emagent.mk

Search for the line

 $(MK_EMAGENT_NMECTL)

修改为:

 $(MK_EMAGENT_NMECTL) -lnnz11

修改完成后选择“Retry”,如果正常则数据库继续安装。

用ROOT用户执行图上命令。

https://www.linuxidc.com/upload/2017_05/170518082847911.png

至此完成数据软体的安装

打补丁

升级OPatch

# unzip p6880880_112000_AIX64-5L.zip

更新到Oracle目录下:

# opatch version

# cd $ORACLE_HOME

# mv OPatch OPatch.bak

# mv /install/OPatch .

# chown -R oracle:oinstall OPatch

# chmod -R 775 OPatch

  opatch version  查看版本

 打补丁

  # unzip p28729262_112040_Linux-x86-64_db_190115.zip

  # cd 28729262

  # opatch apply -local  #安装补丁

  # opatch lsinventory  #查看补丁信息

创建监听

执行$ netca启动配置界面,一直下一步即可。

https://www.linuxidc.com/upload/2017_05/1705180828288914.png

 

https://www.linuxidc.com/upload/2017_05/170518082828893.png

 

https://www.linuxidc.com/upload/2017_05/1705180828288911.png

 

https://www.linuxidc.com/upload/2017_05/1705180828288926.png

 

https://www.linuxidc.com/upload/2017_05/1705180828288915.png

 

https://www.linuxidc.com/upload/2017_05/1705180828288919.png

 

https://www.linuxidc.com/upload/2017_05/170518082828898.png

 

https://www.linuxidc.com/upload/2017_05/1705180828288924.png

建立数据库

使用oracle用户,输入dbca建立数据库

建立数据库

选择第一项创建一个数据库

选择Custom Database,不使用模板建库

输入SID和Global name,尽量保持一致。

取消自动作业

取消企业管理

配置数据库SYS和SYSTEM密码

选择使用文件系统存放数据文件,可以使用默认位置(如图),也可以自己设置、第二项(如果数据要存储到单独盘,要选择此项)

https://www.linuxidc.com/upload/2017_05/1705180828288925.png

https://www.linuxidc.com/upload/2017_05/1705180828288920.png

配置内存如图(请根据实际情况调整)

配置用户连接数为300(请根据实际情况调整)

语言集选择“ZHS16GBK“

配置日志组、控制文件、表空间路径,根据实际情况改变目录位置

OK,确认后开始建库

开始建库

建库完成,点击Exit退出

调整默认密码过期策略

1、查看用户的proifle是哪个,一般是default:
sql> SELECT username,PROFILE FROM dba_users;
2
、查看指定概要文件(如default)的密码有效期设置:
sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3
、将密码有效期由默认的180天修改成“无限制”:
sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。

4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,举例如下:
 $sqlplus / as sysdba
sql> alter user smsc identified by <
原来的密码> ----不用换新密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值