linux 部署oracle

1.安装前准备工作

1.1.修改主机名

(1)vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=qms   不能是localhost。

(2)vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 qms
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

1.2.关闭防火墙

service iptables status     

service iptables stop      //临时关闭防火墙

chkconfig iptables off    //永久关闭防火墙

 

1.3.关闭SELiunx

vi /etc/selinux/config  (没有修改)

 

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted - Targeted processes are protected,

# mls - Multi Level Security

protection. SELINUXTYPE=targeted

 

1.4.修改内核参数

vi /etc/sysctl.conf
文件行末添加以下内容,如某项默认值大于配置值,可不修改(注意内存大小 ,调整数值。其他的不用修改)

 

kernel.shmall = 2097152       //设置共享内存总页数。这个值太小有可能导致数据库启动报错。计算公式为:内存(G)* 1024* 1024* 1024/4096,4096为getconf PAGE_SIZE得到分页大小。
kernel.shmmax = 4294967295    //Linux进程可以分配的单独共享内存段的最大值,一般设置为内存总大小的一半。 这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。
kernel.shmmni = 4096                    //设置系统级最大共享内存段数量。推荐最小值为4096。
kernel.sem = 250 32000 100 128   //
fs.file-max = 6815744                    //系统允许打开的文件数。
net.ipv4.ip_local_port_range = 9000 65000 //表示端口的范围,为指定的内容
net.core.rmem_default = 262144            //表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max = 4194304               //表示接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_default = 262144            //表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max = 1048576               //表示发送套接字缓冲区大小的最大值(以字节为单位)。
fs.aio-max-nr = 1048576                   //同时可以拥有的的异步IO请求数目。1048576 即 1024 * 1024 也就是 1024K 个。

最后输入下面的命令,让内核参数生效:

sysctl -p

 

1.5.修改用户限制

vi /etc/security/limits.conf  (末尾添加)

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

1.6.修改用户验证选项 设置关联信息

vi /etc/pam.d/login

在文件尾部添加如下信息:

session  required  /lib64/security/pam_limits.so 

session required pam_limits.so

************备注:64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录*********

 

1.7.修改系统启动环境参数

 

 

vi /etc/profile在文件尾部添加如下信息:

if [ $USER = "oracle" ]; then

 if [$SHELL = "/bin/ksh" ]; then

 ulimit -p 16384

 ulimit -n 65536

 else

 ulimit -u 16384 -n 65536

 fi

fi

source /etc/profile 使其生效

 

 

1.8.创建Oracle用户

 

groupadd oinstall              //创建oinstall组

groupadd dba                 //创建dba组

useradd -g oinstall -G dba oracle  //将oracle用户加入组 

passwd oracle                   //修改并设定oracle用户密码  (密码为123456)

1.9.创建目录及修改权限

# the oracle base directory
mkdir -p /home/app/oracle
chown -R oracle:oinstall /home/app/oracle
chmod -R 775 /home/app/oracle


1.10.配置oracle用户环境变量

su – oracle
vi /home/oracle/.bash_profile

添加以下内容,请使其生效 source ~/.bash_profile (注意实例名,oralce基础路径 与前面或者后面设置的一致)

export ORACLE_BASE=/home/app/oracle    
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH


让配置生效 source ~/.bash_profile

1.11 增加Swap分区
1.创建交换分区的文件:增加1G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。

# dd if=/dev/zero of=/home/swapfile bs=1M count=1024

2.设置交换分区文件:
 
# mkswap /home/swapfile  #建立swap的文件系统

 3.立即启用交换分区文件:

# swapon /home/swapfile   #启用swap文件

4.使系统开机时自启用,在文件/etc/fstab中添加一行: ()

/home/swapfile swap swap defaults 0 0

1.12.安装oracle必须的包

1.13.安装oracle必须的包

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

2.安装

2.1.解压安装包  (需要使用 su - oracle 用户   )

将oracle软件上传至/home/oracle目录下

cd /home/oracle

ls *.zip |xargs -n1 unzip
或者

unzip linux.x64_11gR2_database_1of2.zip    

unzip linux.x64_11gR2_database_2of2.zip 

待解压完毕后会生成文件夹/home/database

 

2.2.复制一份静默模板

cp -R /home/oracle/database/response /home/oracle/response

三个文件作用分别是:

  • db_install.rsp:安装Oracle
  • dbca.rsp:创建数据库
  • netca.rsp:建立监听、本地服务名等网络设置

2.3.安装Oracle

vi db_install.rsp,修改安装应答文件,修改内容如下:

vi db_install.rsp,修改安装应答文件,修改内容如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=qms       (修改为1.1 设置的qms)
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/oracle/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db1
ORACLE_BASE=/oracle/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 物理内存的60%左右
oracle.install.db.config.starterdb.memoryLimit=124494
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 注意修改密码
oracle.install.db.config.starterdb.password.ALL=highcom87961677
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
#oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oradata  (不填默认创建到跟oracle基本目录)
#oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/fast_recovery_area (不填默认创建到跟oracle基本目录)

SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
# 一定要是true
DECLINE_SECURITY_UPDATES=true


在oracle用户下安装   su  - oracle   (中间有空格)

$cd /home/oracle/database
执行命令:

$./runInstaller -silent -force -ignorePrereq -responseFile /home/oracle/response/db_install.rsp

 

 

参数说明:      

runInstaller 是主要安装脚本   

-silent 静默模式   

-force 强制安装   

-ignorePrereq忽略warning直接安装。   

-responseFile读取安装应答文件。

安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在进行,如果出现[FATAL],则安装程序已经停止了。打开另一个终端,执行tail -f  提示的log名

********************(安装时间有些长,ctrl+c不能停止安装,需要等到安装结束 ,不要ctrl+c  然后再进行安装 )***************

 

 

当安装界面出现如下信息的时候,说明正在安装,通过日志文件

$tail  -f /u01/app/oracle/inventory/logs/installActions2020-02-27_04-14-39PM.log

 

 

安装完成后会出现如下图: 

 

按照提示执行下面以上两个脚本:

 

 

 

2.4.配置oracle监听  

netca.rsp文件无需修改,直接使用

$ netca /silent /responsefile /home/oracle/response/netca.rsp

执行结果如下: 
通过 netstat -tlnp命令检查: 

2.5.创建oracle数据库

vi dbca.rsp 修改配置文件,修改内容如下:

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
# 修改密码
SYSPASSWORD = "highcom87961677"
SYSTEMPASSWORD = "highcom87961677"

CHARACTERSET = "AL32UTF8"
# 物理内存的60%左右
TOTALMEMORY = "800"  //默认800  单位M

执行命令
$dbca -silent -responseFile /home/oracle/response/dbca_orcl.rsp

执行结果如下: 
建库后实例检查:

ps -ef | grep ora_ | grep -v grep


如果建库异常可以删库,重做:

dbca -silent -deleteDatabase -sourcedb orcle -sid orcle


至此,Oracle安装完成。


查看监听状态

lsnrctl status

正常可以使用plsql连接数据库了

如果出现以下错误: (没有出现,没有验证)

lsnrctl: error while loading sharedlibraries: /u01/app/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: cannotrestore segment prot after reloc: Permission denied

 

解决办法:在root用户下执行以下命令 

su - root

setenforce 0

3、开启和关闭数据库

su - oracle

$ dbstart $ORACLE_HOME (启动数据库和监听)

$ dbshut $ORACLE_HOME (关闭数据库和监听)

 

 

4、开机自动启动
 

$vi/etc/oratab 

orcl:/usr/oracle/product/11.2.0/db_1:Y //把“N”改成“Y” 

(1) 配置rc.local (root用户执行)

 

vi /etc/rc.d/rc.local

su - oracle -lc "/home/oracle/oracle10g/bin/dbstart /home/oracle/oracle10g"

(开机自启动没有测试,可以上网查询)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值