centos静默安装Oracle
1.包的上传与解压
[root@dzcl packgces]# ll
总用量 2487200
-r--------. 1 root root 1395582860 9月 30 2020 p13390677_112040_Linux-x86-64_1of7.zip
-r--------. 1 root root 1151304589 8月 3 2016 p13390677_112040_Linux-x86-64_2of7.zip
[root@dzcl packgces]# unzip p13390677_112040_Linux-x86-64_1of7.zip
[root@dzcl packgces]# unzip p13390677_112040_Linux-x86-64_2of7.zip
2.防火墙seliux的关闭
[root@myYUn software]# vim /etc/selinux/config
#设置
SELINUX=disabled
[root@dzcl packgces]# systemctl restart firewalld.service
[root@dzcl packgces]# systemctl list-unit-files|grep firewalld.service
firewalld.service enabled
[root@dzcl packgces]# systemctl disable firewalld.service
3.依赖包的安装
[root@dzcl packgces]# yum install gcc make binutils gcc-c++ compalibstdc++-33elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel –y
如果有些包没源可换阿里云
- [root@dzcl packgces]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- yum clean all && yum makecache
注:如果显示compat-libstdc++-33和libao-devel包没源,可通过rpm安装对应的包(compat-libstdc++-33一个+libao-devel的四个包)
[root@dzcl packgces]# rpm -ivh ./compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
[root@dzcl packgces]# rpm -ivh ./libaio-devel-0.3.109-13.el7.x86_64.rpm
所有包地址:
链接:https://pan.baidu.com/s/1FrX_-dMSrOV5Av-rKdSKGg
提取码:dzcl
4.创建用户和组
[root@dzcl packgces]# groupadd oinstall
[root@dzcl packgces]# groupadd dba
[root@dzcl packgces]# useradd -g oinstall -G dba oracle
[root@dzcl packgces]# passwd oracle
[root@dzcl packgces]# id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
5.修改内核参数配置文件
[root@dzcl packgces]# vi /etc/sysctl.conf
#-------------第一种4G
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
[root@dzcl packgces]# sysctl -p
6.修改用户限制文件
[root@dzcl packgces]# vim /etc/security/limits.conf
#-----------取下面一种,建议第二种 4G
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#oracle soft stack 10240
修改/etc/pam.d/login文件:
[root@dzcl packgces]# vim /etc/pam.d/login
#末位添加
session required /lib64/security/pam_limits.so
session required pam_limits.so
修改/etc/profile文件:
[root@dzcl packgces]# vim /etc/profile
#oracle配置
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384 #限制管道的缓冲区为xxx
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
[root@dzcl packgces]# source /etc/profile
7.创建安装目录和设置文件权限
[root@dzcl packgces]# mkdir -p /data/oracle/product/11.2.0
[root@dzcl packgces]# mkdir /data/oracle/oradata
[root@dzcl packgces]# mkdir /data/oracle/oraInventory
[root@dzcl packgces]# mkdir /data/oracle/fast_recovery_area
[root@dzcl packgces]# chown -R oracle:oinstall /data/oracle
[root@dzcl packgces]# chmod -R 775 /data/oracle
8.设置oracle用户环境变量
[oracle@dzcl ~]$ vim .bash_profile
#注意,ORACLE_SID=orcl 处必须与创建的数据库实例名称一致,否则数据库启动后无法访问。第一次配置完记得source一下。
ORACLE_BASE=/data/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
#设置字符集环境变量
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
#export NLS_LANG=american_america.ZHS16GBK # 默认设置
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
[oracle@dzcl ~]$ source .bash_profile
9.编辑静默安装响应文件
[oracle@dzcl ~]$ cd /home/packgces/database/response/
[oracle@dzcl ~]$ ll
[oracle@dzcl database]$ ./runInstaller -help #此过程较慢
#更改hosname 名称nodel
[root@dzcl database]# vi /etc/hosts
[root@dzcl database]# vi /etc/sysconfig/network
复制安装文件夹response到当前oracle用户的家目录下:
[oracle@dzcl ~]$ cp -R /home/packgces/database/response/ .
[oracle@dzcl ~]$ ll
total 0
drwxr-xr-x. 2 oracle oinstall 61 May 26 19:42 response
[oracle@dzcl ~]$ cd /response
编辑vim db_install.rsp
#第一种方法 选择其中一种 本章默认
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_BASE=/data/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
10.根据响应文件静默安装Oracle11g
[oracle@dzcl ~] cd /home/packgces/database/
[oracle@dzcl database]$ ./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq #此命令为一行
执行安装脚本(root用户)
[root@node1 dzcl]# sh /data/oracle/inventory/orainstRoot.sh
[root@node1 dzcl]# sh /data/oracle/product/11.2.0/root.sh
11.以静默方式配置监听(su -l oracle)
[oracle@node1 ~]$ netca /silent /responseFile /home/oracle/response/netca.rsp
[oracle@node1 ~]$ netstat -tunlp |grep 1521
12.以静默方式建立新库,同时也建立一个对应的实例
[oracle@node1 ~]$ vim /home/oracle/response/dbca.rsp
# oracle版本,不能更改
RESPONSEFILE_VERSION = "11.2.0"
# Description : Type of operation
OPERATION_TYPE = "createDatabase"
# 全局数据库的名字=SID+主机域名# 第三方工具链接数据库的时候使用的service名称
GDBNAME = "orcl"
# 对应的实例名字
SID = "orcl"
# 建库用的模板文件
TEMPLATENAME = "General_Purpose.dbc"
# SYS管理员密码
SYSPASSWORD = "123456"
# SYSTEM管理员密码
SYSTEMPASSWORD = "123456"
# SYSMAN管理员密码
SYSMANPASSWORD = "123456"
# DBSNMP管理员密码
DBSNMPPASSWORD = "123456"
# 数据文件存放目录
DATAFILEDESTINATION =/data/oracle/oradata
# 恢复数据存放目录
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
# 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
# (CHARACTERSET = "AL32UTF8" NATIONALCHARACTERSET= "UTF8")
CHARACTERSET = "ZHS16GBK"
# Description : total memory in MB to allocate to Oracle
# oracle内存1638MB,物理内存2G*80%
TOTALMEMORY = "13200"
[oracle@node1 response]$ dbca -silent -responseFile /home/oracle/response/dbca.rsp
[oracle@node1 response]$ sqlplus / as sysdba
SQL> select status from v$instance;
SQL> alter user sys identified by 010050 account unlock;
SQL> alter user system identified by 010050 account unlock;
SQL> commit;
13.oracle与plsql连接配置
查看Oracle监听配置文件
[oracle@node1 admin]$ cat /data/oracle/product/11.2.0/network/admin/tnsnames.ora
将该文件的 内容复制到plsql的D:\tool\oracle\network\admin目录下的tnsnames.ora文件,将hostname改为数据库的IP地址。
注:如果数据库遇到乱码问题如下图:
则可以通过修改 vi /home/oracle/.bash_profile 中的字符设置改为
export NLS_LANG="AMERICAN_AMERICA.UTF8"就解决了