前期准备
1虚拟机准备:
Centos 7.3 64位
内存2G
硬盘30G
Cpu 4核
Hostname server
2. 依赖包检查(root下执行)
yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc \
libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel
3.创建oracle用户和相应的属组
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle #密码暂定为oracle
4.创建目录修改属组和权限
创建目录:
mkdir -p /data01/oracleDB/product/11.2.0/db_1 mkdir -p /data01/oracleDB/oradata mkdir -p /data01/oracleDB/inventory mkdir -p /data01/oracleDB/fast_recovery_area chown -R oracle.oinstall /data01/oracleDB
语句的作用依次为:前面创建的目录主要作用为Oracle家目录、数据文件存放位置,安装日志存放位置,快速恢复区修改属组,修改权限
5.解压Oracle软件压缩包
cd /home/oracle linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 使用unzip解压 chown -R oracle:oracle database
6.服务器配置文件修改
6.1 在/etc/hosts文件中添加主机名:
添加一条
192.168.157.10 server
6.2关闭防火墙(如果是正式生产库,请评估后在操作,可以修改配置文件开放1521端口)
systemctl stop firewalld.service centos7 service iptables stop centos7以下的 firewall-cmd --zone=public --add-port=1521/tcp --permanent firewall-cmd --reload iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
6.3 关闭selinux
原来那行注释掉,将值改为disable
vi /etc/selinux/config //修改配置文件永久生效 [root@server ~]# setenforce 0 //临时生效重启失效
6.4 修改内核参数文件
vim /etc/sysctl.conf 添加以下内容 fs.aio-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 其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte。 然后执行sysctl –p [root@server~]# sysctl -p
6.5 修改用户的限制文件
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
6.6修改/etc/pam.d/login文件:
vim /etc/pam.d/login 添加以下内容: session required /lib64/security/pam_limits.so session required pam_limits.so
查看系统字符集
echo $LANG 确保存在以下内容。 zh_CN.UTF-8 (如果按照乱码在调回原先的字符集en_US.UTF-8)
7.配置Oracle用户环境变量
vi /home/oracle/.bash_profile 在底部添加 PATH=$PATH:$HOME/bin ORACLE_BASE=/data01/oracleDB ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ORACLE_SID=orcl PATH=$ORACLE_HOME/bin:$PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID export PATH NLS_LANG=AMERICAN_AMERICA.UTF8 export NLS_LANG
8.编辑静默安装响应文件
在修改文件前,我们来备份一下相应的文件
[root@server response]# pwd /home/oracle/database/response [root@server response]# ll total 76 -rw-rw-r--. 1 oracle oinstall 44969 Feb 14 2009 dbca.rsp -rw-rw-r--. 1 oracle oinstall 22557 Aug 15 2009 db_install.rsp -rwxrwxr-x. 1 oracle oinstall 5740 Feb 26 2009 netca.rsp [root@server response]# cp db_install.rsp db_install.rsp.bak 然后在解压目录编辑改响应文件 [root@server response]# vi db_install.rsp 需要设置的选项如下: oracle.install.option=INSTALL_DB_SWONLY #只装数据库软件
ORACLE_HOSTNAME=server #用hostname命令查看
UNIX_GROUP_NAME=oinstall #指定oracle inventory目录的所有者
INVENTORY_LOCATION=/data01/oracleDB/inventory #指定产品清单oracle inventory目录的路径
SELECTED_LANGUAGES=en,zh_CN #指定语言
ORACLE_HOME=/data01/oracleDB/product/11.2.0/db_1/ #设置ORALCE_HOME的路径
ORACLE_BASE=/data01/oracleDB #指定ORALCE_BASE的路径
oracle.install.db.InstallEdition=EE #EE是企业版
oracle.install.db.DBA_GROUP=dba #指定拥有DBA用户组,通常会是dba组
oracle.install.db.OPER_GROUP=dba #指定操作者用户组,通常会是dba组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE #选择数据库的用途,一般用途/事物处理,数据仓库
oracle.install.db.config.starterdb.globalDBName=orcl #指定GlobalName
oracle.install.db.config.starterdb.SID=orcl #指定SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8 #设置数据库编码
oracle.install.db.config.starterdb.memoryOption=true #11g的新特性自动内存管理,也就是SGA_TARGET和PAG_AGGREGATE_TARGET都,不用设置了,Oracle会自动调配两部分大小
oracle.install.db.config.starterdb.password.ALL=Oracle123 #所有用户名的密码
DECLINE_SECURITY_UPDATES=true # False表示不需要设置安全更新,注意,在11.2的静默安装中疑似有一个BUG Response File中必须指定为true,否则会提示错误,不管是否正确填写了邮件地址
具体参数参考:https://blog.csdn.net/weixin_42250094/article/details/85122209
开始安装软件
9.根据响应文件进行静默安装Oracle软件
如果远程登录最好重新用oracle用户登录,本地安装注销使用oracle用户
cd database
[oracle@server database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /home/oracle/database/response/db_install.rsp
在另一个终端tail -f /data01/oracleDB/inventory/logs/installActions2018-12-20_03-15-03PM.log
时时查看oracle安装状况。
开始Oracle在后台静默安装。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。
看到日志文件会持续输出安装信息没有输入异常信息,则表明安装过程正常。
待看到下图红色框部分,则表明安装已经完成
按照提示打开一个终端使用root用户运行脚本
10.静默方式配置监听
[oracle@server database]$ xhost +
access control disabled, clients can connect from any host ##如果不是这行返回值,则使用oracle用户远程登录系统或者本地注销使用oracle登录(如果切换还不管用yum update "X Window System")
[oracle@server database]$ netca -silent -responseFile /home/oracle/database/response/netca.rsp
成功运行后,会在/data01/oracleDB/product/11.2.0/db_1/network/admin/中生成listener.ora和sqlnet.ora两个文件。
查看监听端口:
[root@server database]# netstat -tnulp | grep 1521
静默方式建库
11.静默方式建库
[oracle@server response]$ pwd /home/oracle/database/response [oracle@server response]$ cp dbca.rsp dbca.rsp.bak [oracle@server response]$ vi dbca.rsp 修改如下参数: RESPONSEFILE_VERSION = "11.2.0" #数据库版本 GDBNAME = "orcl" #数据库的全局数据库名称:SID+主机名这里不能是空的 SID = "orcl" #数据库的SID SYSPASSWORD = "oracle" SYSTEMPASSWORD = "Oracle123" SYSMANPASSWORD = "Oracle123" DBSNMPPASSWORD = "Oracle123" DATAFILEDESTINATION = /data01/oracleDB/oradata/ RECOVERYAREADESTINATION=/data01/oracleDB/fast_recovery_area CHARACTERSET = "ZHS16GBK" TOTALMEMORY= "1638" 其中TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。
注意,如果密码没有指定,在执行dbca建库语句后,会出现清屏现象,如果出现清屏现象,请检查上面提到的几个password的设定是否正确
编辑完成就可以开始静默安装了:
[oracle@server response]$ dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
完成建库后进行实例检查
[root@server database]# ps -ef |grep oracle
查看监听状态
[oracle@server response]$ lsnrctl status
登录查看实例状态
[oracle@server response]$ sqlplus / as sysdba
如果SQL> startup之后报LRM-00109错则需要cd /data01/oracleDB/admin/orcl/pfile到目录下,把init.ora.59201719540文件cp到/u01/app/oracle/product/11.2.0/db_1/initorcl.ora
具体错误查看百度,这个我也没有遇到
编辑监听文件,要不重启监听就启动不了了
vi /data01/oracleDB/product/11.2.0/db_1/network/admin/listener.ora
lsnrctl stop
lsnrctl start
lsnrctl status
来自:
https://www.cnblogs.com/masked/p/7977643.html
https://jingyan.baidu.com/article/90895e0f29c92164ec6b0bd1.html