oracle在linux下的命令行安装
前言:
oracle的安装还是比较繁琐与容易出现问题的,在网上找了很多资料,一步步的解决问题,最后形成了本篇文章,在测试环境下复制粘贴加回车就完成了数据库的安装,如果有需要,还可以将它写成脚本,更方便的来进行操作:
一、准备工作:
- 在/etc/hosts下添加主机名和IP的映射(修改默认的localhost主机名)
- 关闭selinux 与防火墙,编辑 /etc/selinux/config文件,设置SELINUX= enforcing 为SELINUX=disabled
二、开始安装:
1.安装相关环境软件包
yum install -y binutils* compat-libcap1* compat-libstdc++* gcc* glibc* ksh* libgcc* libstdc++* libaio* make* sysstat* elfutils-libelf-devel* unixODBC*
2.修改内核参数:
编辑vim /etc/sysctl.conf
添加以下设置:
io-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
修改后运行/sbin/sysctl -p命令使得内核改变立即生效;
3.修改用户的限制文件:
编辑vim /etc/security/limits.conf
添加以下配置:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
4.修改vim /etc/pam.d/login文件:
添加:
session required /lib64/security/pam_limits.so
session required pam_limits.so
5.修改/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
6.创建安装目录、修改文件权限,创建oracle用户与相关组:
groupadd dba
groupadd oinstall
useradd -d /home/oracle -m -g oinstall -G dba -p 123 oracle
[root@woitumi-197 ~]# mkdir -p /u01/app/oracle/product/11.2.0
[root@woitumi-197 ~]# mkdir /u01/app/oracle/oradata
[root@woitumi-197 ~]# mkdir /u01/app/oracle/inventory
[root@woitumi-197 ~]# mkdir /u01/app/oracle/fast_recovery_area
[root@woitumi-197 ~]# chown -R oracle:oinstall /u01/app/oracle
[root@woitumi-197 ~]# chmod -R 775 /u01/app/oracle
7.上传oracle软件包到 /tmp目录下
8.解压软件包:
[root@woitumi-197 tmp]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
9.切换用户为oracle,设置oracle用户环境变量——vim .bash_profile
添加:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
重新加载环境变量:
source .bash_profile
11.切换到root 用户进入oracle安装包解压后的目录cd /tmp/database/response/下备份db_install.rsp文件。
cp db_install.rsp db_install.rsp.bak
12.编辑静默安装响应文件:
编辑vim /tmp/database/response/db_install.rsp文件
修改以下参数:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=woitumi-197
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true //385
13.切换到oracle用户下并进入/tmp/database目录下,执行脚本来进行安装:
[oracle@woitumi-197 database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
此处需要等3分钟或者更长时间。
14.切换root用户运行脚本:
[root@woitumi-197 database]# sh /u01/app/oracle/inventory/orainstRoot.sh
[root@woitumi-197 database]# sh /u01/app/oracle/product/11.2.0/root.sh
15.切换到oracle用户下,为数据库配置监听:
[oracle@woitumi-197 ~]$ netca -silent -responseFile /tmp/database/response/netca.rsp
这一步可能会报错,是个偶现的问题,配置下DISPLAY变量,然后再执行配置监听的命令就ok:
[oracle@woitumi-197 ~]$ export DISPLAY=localhost:0.0
16.查看1521端口是否已经启动oracle应用:
[root@woitumi-197 admin]# netstat -tnulp | grep 1521
17.切换到root用户下,修改实例名的配置文件:
编辑vim /tmp/database/response/dbca.rsp
修改以下参数:
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata /357
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area /367
CHARACTERSET = "ZHS16GBK" /415
TOTALMEMORY = "1638" /540
18.切换到oracle用户下,重载配置文件:
[oracle@woitumi-197 ~]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp
三、检验安装结果:
1.建库后的实例检查:
[oracle@woitumi-197 ~]$ ps -ef | grep ora_ | grep -v grep
2.查看监听状态:
[oracle@woitumi-197 ~]$ lsnrctl status
3.尝试命令行操作:
[oracle@woitumi-197 dbs]$ sqlplus / as sysdba
在三大常用数据库中,oracle的安装是属于比较复杂的,其中安装步骤也可能出现不同的问题,笔者在安装的时候也只是遇到了几个,日后遇到的问题也会在博客中一一补充的。