目录
1.2(建立swap分区(我自己的服务器内存只有1G、1核))
6修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
7 修改用户的限制文件,编辑 vim /etc/security/limits.conf
8、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
9编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件
11上传oracle软件包到 /tmp目录下(xftp上传)
开启防火墙
在CentOS 7或RHEL 7或Fedora中,防火墙由FirewalID来管理
通过systemctl status firewalld查看FirewalID状态,发现当前是dead状态,即防火墙未开启。
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
执行firewall-cmd --permanent --zone=public --add-port=1521/tcp --permanent,提示success
(–permanent永久生效,没有此参数重启后失效)
执行firewall-cmd --reload,提示success
firewall-cmd --permanent --zone=public --list-ports
或者关闭防火墙:systemctl stop firewalld
1、设置虚拟内存
1.1查看一下分区情况
演示:
[root@iz2zeacsb3xzn7t4f3igplz ~]# free - m
total used free shared buff/cache available
Mem: 1016396 63416 806092 6644 146888 801824
sssSwap: 0 0 0
1.2(建立swap分区(我自己的服务器内存只有1G、1核))
dd if=/dev/zero of=/home/swapfile bs=1M count=2048
mkswap /home/swapfile #格式化交换文件
swapon /home/swapfile #立即启用交换分区文件, 要停止使用新创建的swap文件,只要执行 swapoff/home/swap命令即可.
演示:
[root@iz2zeacsb3xzn7t4f3igplz ~]# dd if=/dev/zero of=/home/swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 15.0642 s, 143 MB/s
[root@iz2zeacsb3xzn7t4f3igplz ~]# mkswap /home/swapfile
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=a511ce44-b4d5-4d6b-8a0b-81a9d802e672
[root@iz2zeacsb3xzn7t4f3igplz ~]# swapon /home/swapfile
swapon: /home/swapfile: insecure permissions 0644, 0600 suggested.
1.3修改 /etc/fstab
vim /etc/fstab
i 进去编辑模式
添加一行/home/swapfile swap swap defaults 0 0
Esc 键 ‘:wq’ 保存退出
1.4 查看分区情况 free -m
2、安装依赖包
安装包参考
http://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCCADGD
由于本次是centos 7.3系统
yum install -y binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static kernel-headers glibc-headers gcc gcc-c++ glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel libXext libXtst libX11 libXau libXi make sysstat unixODBC unixODBC-devel libXp libXp.so.6 libgomp compat-libcap1 ksh
[root@iz2zeacsb3xzn7t4f3igplz ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh elfutils-libelf-devel-static
3、查一下本机ip
[root@iz2zeacsb3xzn7t4f3igplz ~]# ifconfig
在vim /etc/hosts文件中添加本机IP跟主机名
[root@iz2zeacsb3xzn7t4f3igplz ~]# vim /etc/hosts
4、安装解压文件
安装一下yum install -y unzip zip
[root@iz2zeacsb3xzn7t4f3igplz ~]# yum install -y unzip zip
5创建相关用户和组,作为软件安装和支持组的拥有者。
[root@iz2zeacsb3xzn7t4f3igplz ~]# groupadd oinstall
[root@iz2zeacsb3xzn7t4f3igplz ~]# groupadd dba
[root@iz2zeacsb3xzn7t4f3igplz ~]# useradd -g oinstall -G dba -m oracle
[root@iz2zeacsb3xzn7t4f3igplz ~]# passwd oracle
6修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件
[root@iz2zeacsb3xzn7t4f3igplz ~]# vi /etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
#编辑完成后按Esc键,输入“:wq”存盘退出
要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:
7 修改用户的限制文件,编辑 vim /etc/security/limits.conf
[root@iz2zeacsb3xzn7t4f3igplz ~]# 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
#编辑完成后按Esc键,输入“:wq”存盘退出
8、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
[root@iz2zeacsb3xzn7t4f3igplz ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
#编辑完成后按Esc键,输入“:wq”存盘退出
9编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件
[root@iz2zeacsb3xzn7t4f3igplz ~]# vim /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
#编辑完成后按Esc键,输入“:wq”存盘退出
source /etc/profile
10 创建安装目录、修改文件权限
[root@iz2zeacsb3xzn7t4f3igplz ~]# mkdir -p /u01/app/oracle/product/11.2.0
[root@iz2zeacsb3xzn7t4f3igplz ~]# mkdir /u01/app/oracle/oradata
[root@iz2zeacsb3xzn7t4f3igplz ~]# mkdir /u01/app/oracle/inventory
[root@iz2zeacsb3xzn7t4f3igplz ~]# mkdir /u01/app/oracle/fast_recovery_area
[root@iz2zeacsb3xzn7t4f3igplz ~]# chown -R oracle:oinstall /u01/app/oracle
[root@iz2zeacsb3xzn7t4f3igplz ~]# chmod -R 775 /u01/app/oracle
11上传oracle软件包到 /tmp目录下(xftp上传)
可在oracle 官网中下载
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
12解压oracle软件包(上传完成后)
[root@iz2zeacsb3xzn7t4f3igplz ~]# cd /tmp
[root@iz2zeacsb3xzn7t4f3igplz tmp]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
13切换到oracle用户,设置oracle用户环境变量
[root@iz2zeacsb3xzn7t4f3igplz ~]# su - oracle
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ 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
#编辑完成后按Esc键,输入“:wq”存盘退出
15编辑静默安装响应文件
- 切换到root 用户进入oracle安装包解压后的目录 /tmp/database/response/下备份db_install.rsp文件。
[root@iz2zeacsb3xzn7t4f3igplz ~]# cd /tmp/database/response/
[root@iz2zeacsb3xzn7t4f3igplz response]# ll
total 76
-rw-rw-r-- 1 root root 44969 Feb 14 2009 dbca.rsp
-rw-rw-r-- 1 root root 22557 Aug 15 2009 db_install.rsp
-rwxrwxr-x 1 root root 5740 Feb 26 2009 netca.rsp
[root@iz2zeacsb3xzn7t4f3igplz response]# cp db_install.rsp db_install.rsp.bak
[root@iz2zeacsb3xzn7t4f3igplz response]# ll
total 100
-rw-rw-r-- 1 root root 44969 Feb 14 2009 dbca.rsp
-rw-rw-r-- 1 root root 22557 Aug 15 2009 db_install.rsp
-rw-r--r-- 1 root root 22557 Nov 9 09:54 db_install.rsp.bak
-rwxrwxr-x 1 root root 5740 Feb 26 2009 netca.rsp
[root@iz2zeacsb3xzn7t4f3igplz response]#
(2)编辑 /tmp/database/response/db_install.rsp文件
[root@iz2zeacsb3xzn7t4f3igplz response]# vim db_install.rsp
修改以下参数:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=iz2zeacsb3xzn7t4f3igplz
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
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
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.CLUSTER_NODES=
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
oracle.install.db.config.starterdb.memoryLimit=400
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=1Password
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=xxxx@xxxx.com
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/fast_recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
16根据响应文件安装oracle 11g
[root@iz2zeacsb3xzn7t4f3igplz response]# su - oracle
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ cd /tmp/database
[oracle@iz2zeacsb3xzn7t4f3igplz database]$
[oracle@iz2zeacsb3xzn7t4f3igplz database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /tmp/database/response/db_install.rsp
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。(可能需要一段时间才能完成)
出现以上界面,说明安装程序已在后台运行,此时再打开另外一个终端选项卡,输入提示的会话日志目录:
[oracle@iz2zeacsb3xzn7t4f3igplz database]$ tail -f /home/oracle/app/oraInventory/logs/installActions2018-11-09_10-03-35AM.log
看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常。
待看到下图红色框部分,则表明安装已经完成
17 按照提示切换root用户运行脚本
[oracle@iz2zeacsb3xzn7t4f3igplz database]$ su - root
[root@iz2zeacsb3xzn7t4f3igplz ~]# sh /u01/app/oracle/inventory/orainstRoot.sh
[root@iz2zeacsb3xzn7t4f3igplz database]# sh /u01/app/oracle/product/11.2.0/root.sh
18.用oracle用户登录配置监听
[root@iz2zeacsb3xzn7t4f3igplz ~]# su - oracle
[oracle@iz2zeacsb3xzn7t4f3igplz~]$ netca -silent -responseFile /tmp/database/response/netca.rsp
出现下图情况时,则需要配置DISPLAY变量,配完之后重新netca:
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ export DISPLAY=localhost:0.0
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ netca -silent -responseFile /tmp/database/response/netca.rsp
19 建立新库,同时建立对应的实例
[root@iz2zeacsb3xzn7t4f3igplz ~]# cd /tmp/database/response/
[root@iz2zeacsb3xzn7t4f3igplz response]# ll
total 80
-rw-rw-r-- 1 root root 44969 Feb 14 2009 dbca.rsp
-rw-rw-r-- 1 root root 2676 Nov 9 12:10 db_install.rsp
-rw-r--r-- 1 root root 22557 Nov 9 12:09 db_install.rsp.bak
-rwxrwxr-x 1 root root 5740 Feb 26 2009 netca.rsp
[root@iz2zeacsb3xzn7t4f3igplz response]# cp dbca.rsp dbca.rsp.bak
切换到root用户,编辑 /tmp/database/response/dbca.rsp
修改以下参数(对照原来的进行修改):
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"
进行静默配置
root@iz2zeacsb3xzn7t4f3igplz oracle]# su - oracle
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp
(过程有点慢)
完成建库后进行实例检查
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ ps -ef | grep ora_ | grep -v grep
查看监听状态
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ lsnrctl status
如果查看监听如图(请看附录 重启实例和监听)
登录查看实例状态
[oracle@iz2zeacsb3xzn7t4f3igplz dbs]$ sqlplus / as sysdba
启动数据库:SQL> startup
看到以下信息,,表明数据库实例已经启动成功,至此,oracle 11g静默安装完成结束。(如果没起来实例请看附录)
附录
1、开启防火墙(是否开启防火墙)
在CentOS 7或RHEL 7或Fedora中,防火墙由FirewalID来管理
通过systemctl status firewalld查看FirewalID状态,发现当前是dead状态,即防火墙未开启。
通过systemctl start firewalld开启防火墙,没有任何提示即开启成功。
执行firewall-cmd --permanent --zone=public --add-port=1521/tcp --permanent,提示success
(–permanent永久生效,没有此参数重启后失效)
执行firewall-cmd --reload,提示success
firewall-cmd --permanent --zone=public --list-ports
或者关闭防火墙:systemctl stop firewalld
2.重启实例和监听
使用xshell连接上安装了oracle服务的linux服务器,然后输入命令su - oracle切换到oracle用户
[root@iz2zeacsb3xzn7t4f3igplz ~]# su - oracle
检查oracle监听服务运行状态,输入lsnrctl status命令来查看,看到提示信息TNS:no listener,表示监听没有启动
监听没有启动,则需要输入lsnrctl start启动监听服务,当看到提示信息"The command completed successfully",则表示启动成功
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ lsnrctl start
以system用户身份登陆oracle
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ lsnrctl start
[oracle@iz2zeacsb3xzn7t4f3igplz ~]$ sqlplus /nolog
SQL> conn as sysdba
提示Connected to an idle instance。则表示连接成功,下面开始启动oracle实例服务,输入startup命令,当看到如图的提示信息,则启动完成,就可以正常使用oracle服务了
如果需要停止oracle实例,则输入shutdown命令关闭oracle实例,输入lsnrctl stop可以关闭监听