0、本机环境说明
1 2 3 4 5 6 |
1、本次oracle 11gR2是在我电脑VMware Workstation Pro上面的linux虚拟机中安装中测试。 2、linux镜像为阿里云镜像站下载的CentOS-7-x86_64-Minimal-1708.iso 纯净的系统,最小化安装完未做任何配置 https://mirrors.aliyun.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso 3、Oracle 11gR2安装包从oracle官网下载。 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html 4、Windows物理机安装好Xshell,用来远程连接linux虚拟机 |
静默安装oracle时指定的响应文件及各参数作用请查看这篇文章《linux下静默安装oracle数据库各参数选项作用说明》
一、基本环境配置
1、初始配置
1 2 3 4 5 6 |
#1.1)关闭防火墙和SELinux [root@localhost ~]# setenforce 0 [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld |
1 2 3 |
#1.2)配置计算机名 [root@localhost ~]# hostnamectl --static set-hostname imzcy.cn [root@localhost ~]# echo "192.168.122.155 imzcy.cn" >>/etc/hosts |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#1.3、修改IP为固定IP地址 [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp -p ifcfg-ens33 ifcfg-ens33.20180503.bak [root@localhost network-scripts]# vi ifcfg-ens33 BOOTPROTO=static //修改dhcp为static,设置静态IP地址 IPADDR=192.168.122.155 //新增行配置IP地址 NETMASK=255.255.255.0 //新增行配置子网掩码 GATEWAY=192.168.122.5 //新增行配置网关 DNS1=119.29.29.29 //新增行配置主DNS DNS2=8.8.4.4 //新增行配置备DNS ONBOOT=yes //修改no为yes,随开机自动启动该接口 [root@localhost ~]# systemctl restart network |
2、安装基本的软件包
1 2 3 4 5 6 7 8 9 10 11 |
#2.1、安装vim [root@localhost ~]# yum -y install vim #2.2、安装wget [root@localhost ~]# yum -y install wget #2.3、安装unzip [root@localhost ~]# yum -y install unzip #2.4、安装lrzsz [root@localhost ~]# yum -y install lrzsz |
3、修改yum源为阿里云的
1 2 3 4 5 6 |
[root@localhost ~]# cd /etc/yum.repos.d/ [root@localhost yum.repos.d]# mkdir repo [root@localhost yum.repos.d]# mv *.repo repo/ [root@localhost yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo [root@localhost yum.repos.d]# yum clean all [root@localhost yum.repos.d]# yum makecache |
4、修改完重启下系统,然后物理机使用Xshell连接进来,方便操作
1 |
[root@localhost ~]# reboot |
二、开始配置安装oracle
5、检查SWAP分区大小
1 2 3 4 5 |
[root@imzcy ~]# grep MemTotal /proc/meminfo MemTotal: 999696 kB [root@imzcy ~]# grep SwapTotal /proc/meminfo SwapTotal: 2097148 kB |
6、安装oracle必须的环境包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[root@imzcy ~]# yum -y install binutils \ compat-libstdc++-33 \ elfutils-libelf \ elfutils-libelf-devel \ expat \ gcc \ gcc-c++ \ glibc \ glibc-common \ glibc-devel \ glibc-headers \ libaio \ libaio-devel \ libgcc \ libstdc++ \ libstdc++-devel \ libXp \ make \ pdksh \ sysstat \ unixODBC \ unixODBC-devel #一般pdksh是没办法直接使用yum安装上的,所以需要单独下载安装 [root@imzcy ~]# wget ./ http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm [root@imzcy ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm |
7、检查oracle需要的用户和组,并确认oracle用户及设置密码
1 2 3 4 5 6 7 8 |
[root@imzcy ~]# groupadd oinstall [root@imzcy ~]# groupadd dba [root@imzcy ~]# groupadd asmadmin [root@imzcy ~]# groupadd asmdba [root@imzcy ~]# useradd -g oinstall -G dba,asmdba oracle [root@imzcy ~]# echo 65431 |passwd --stdin oracle [root@imzcy ~]# id oracle uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba),1004(asmdba) |
8、优化oracle内核参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
#8.1、修改sysctl.conf文件,在文档尾部新增如下内容 [root@imzcy ~]# cat /etc/sysctl.conf fs.aio-max-nr=1048576 fs.file-max=6815744 kernel.shmall=2097152 kernel.shmmni=4096 kernel.shmmax = 536870912 //该值为物理内存的一半(byte),最好不要低于我设置的这个值,不然后面新增数据库实例时可能会报错 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=1048586 [root@imzcy ~]# sysctl -p #8.2、修改limits.conf文件,在文档尾部新增如下内容 [root@imzcy ~]# tail -n 5 /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 #8.3、修改login文件,在文档尾部新增如下内容 [root@imzcy ~]# tail -n 2 /etc/pam.d/login session required /lib64/security/pam_limits.so session required pam_limits.so #8.4、修改profile文件,在文档尾部新增如下内容 [root@imzcy ~]# tail -n 8 /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 |
9、创建oracle安装目录并设置权限
1 2 3 4 5 6 |
[root@imzcy ~]# mkdir -p /db/app/oracle/product/11.2.0 [root@imzcy ~]# mkdir /db/app/oracle/oradata [root@imzcy ~]# mkdir /db/app/oracle/inventory [root@imzcy ~]# mkdir /db/app/oracle/fast_recovery_area [root@imzcy ~]# chown -R oracle:oinstall /db/app/oracle [root@imzcy ~]# chmod -R 755 /db/app/oracle |
10、使用su命令切换到oracle用户,为其设置环境变量
1 2 3 4 5 6 7 8 9 |
[root@imzcy ~]# su - oracle [oracle@imzcy ~]$ tail -n 6 .bash_profile #修改.bash_profile文件,在文档尾部新增如下内容 ORACLE_BASE=/db/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0 ORACLE_SID=zcy PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH |
11、将下载好的oracle安装包使用rz命令从物理机复制到linux虚拟机中,并解压
1 2 3 4 5 6 7 8 9 |
#直接在xshell中输入rz命令,然后敲回车,xshell会弹出一个窗口然后选择目标文件,点确定会复制目标文件到linux当前目录下 [root@imzcy ~]# ll linux* -rw-r--r--. 1 root root 1239269270 5月 2 15:59 linux.x64_11gR2_database_1of2.zip -rw-r--r--. 1 root root 1111416131 5月 2 16:00 linux.x64_11gR2_database_2of2.zip [root@imzcy ~]# mkdir /tmp/oracle [root@imzcy ~]# unzip linux.x64_11gR2_database_1of2.zip -d /tmp/oracle/ [root@imzcy ~]# unzip linux.x64_11gR2_database_2of2.zip -d /tmp/oracle/ |
12、编辑Oracle静默安装响应文件db_install.rsp
静默安装oracle时指定的响应文件及各参数作用请查看这篇文章《linux下静默安装oracle数据库各参数选项作用说明》
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
[root@imzcy ~]# cd /tmp/oracle/database/response/ [root@imzcy response]# sed -i 's/^DECLINE_SECURITY_UPDATES=/DECLINE_SECURITY_UPDATES=true/' db_install.rsp [root@imzcy response]# sed -i 's/oracle.install.db.OPER_GROUP=/oracle.install.db.OPER_GROUP=dba/' db_install.rsp [root@imzcy response]# sed -i 's/oracle.install.db.DBA_GROUP=/oracle.install.db.DBA_GROUP=dba/' db_install.rsp [root@imzcy response]# sed -i 's/oracle.install.db.InstallEdition=/oracle.install.db.InstallEdition=EE/' db_install.rsp [root@imzcy response]# sed -i 's@ORACLE_BASE=@ORACLE_BASE=/db/app/oracle@' db_install.rsp [root@imzcy response]# sed -i 's@ORACLE_HOME=@ORACLE_HOME=/db/app/oracle/product/11.2.0@' db_install.rsp [root@imzcy response]# sed -i 's/^SELECTED_LANGUAGES=/SELECTED_LANGUAGES=en,zh_CN/' db_install.rsp [root@imzcy response]# sed -i 's@INVENTORY_LOCATION=@INVENTORY_LOCATION=/db/app/oracle/inventory@' db_install.rsp [root@imzcy response]# sed -i 's/UNIX_GROUP_NAME=/UNIX_GROUP_NAME=oinstall/' db_install.rsp [root@imzcy response]# sed -i 's/ORACLE_HOSTNAME=/ORACLE_HOSTNAME=imzcy.cn/' db_install.rsp [root@imzcy response]# sed -i 's/oracle.install.option=/oracle.install.option=INSTALL_DB_SWONLY/' db_install.rsp #修改为如下样子: 29 oracle.install.option=INSTALL_DB_SWONLY 37 ORACLE_HOSTNAME=imzcy.cn 42 UNIX_GROUP_NAME=oinstall 47 INVENTORY_LOCATION=/db/app/oracle/inventory 78 SELECTED_LANGUAGES=en,zh_CN 83 ORACLE_HOME=/db/app/oracle/product/11.2.0 88 ORACLE_BASE=/db/app/oracle 99 oracle.install.db.InstallEdition=EE 142 oracle.install.db.DBA_GROUP=dba 147 oracle.install.db.OPER_GROUP=dba 385 DECLINE_SECURITY_UPDATES=true |
13、根据响应文件配置安装oracle
1 2 3 4 5 6 7 8 9 10 |
[root@imzcy ~]# su - oracle [oracle@imzcy ~]$ cd /tmp/oracle/database/ [oracle@imzcy database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/oracle/database/response/db_install.rsp #如正常的话,会提示让查看日志文件确认安装情况,直接xshell复制当前会话在打开一个终端,时候使用tail -f FileName ,确认日志文件一直有输出就说明在安装了。 #根据提示在安装完成后,切换到root用户,执行提示的两个脚本 [oracle@imzcy database]$ su - root [root@imzcy ~]# /db/app/oracle/inventory/orainstRoot.sh [root@imzcy ~]# /db/app/oracle/product/11.2.0/root.sh |
14、切换回oracle用户,配置监听以便能让其他主机能远程到当前oracle数据库
1 2 3 |
[root@imzcy ~]# su - oracle [oracle@imzcy ~]$ export DISPLAY=192.168.122.155:0.0 [oracle@imzcy ~]$ netca -silent -responseFile /tmp/oracle/database/response/netca.rsp |
15、静默创建Oracle实例和数据库
静默安装oracle时指定的响应文件及各参数作用请查看这篇文章《linux下静默安装oracle数据库各参数选项作用说明》
1 |
[oracle@imzcy ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname zcydb -sid zcy -sysPassword imzcy.cn -systemPassword imzcy.cn -responseFile NO_VALUE -datafileDestination /db/app/oracle/oradata/ -redoLogFileSize 50 -recoveryAreaDestination /db/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE |
16、启动Oracle数据库
1 2 |
[oracle@imzcy ~]$ sqlplus / as sysdba SQL> startup |
17、基础命令
1 2 3 4 5 |
#17.2、查看监听状态 [oracle@imzcy ~]$ lsnrctl status #17.2、查看oracle是否启动 [oracle@imzcy ~]$ ps -ef |grep ora_mmon |