由于oracle默认不兼容centos,所以要修改/etc/redhat-release
echo 'redhat-7' > /etc/redhat-release
安装依赖包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
检查依赖包安装情况
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
新建用户和用户组
[root@DB ~]# groupadd oinstall
[root@DB ~]# groupadd dba
[root@DB ~]# useradd -g oinstall -G dba oracle
[root@DB ~]# echo 'oracle' |passwd --stdin oracle
更改用户 oracle 的密码 。
passwd:所有的身份验证令牌已经成功更新。
检查oracle用户的组
[root@DB ~]# id oracle
uid=1000(oracle) gid=1000(oinstall) 组=1000(oinstall),1001(dba)
修改内核参数
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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
EOF
使之生效
[root@DB ~]# sysctl -p
修改用户权限
cat >>/etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65535
oracle soft stack 10240
oracle hard stack 10240
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF
cat >>/etc/profile <<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
[root@DB ~]# source /etc/profile
[root@DB ~]# su - oracle
cat >>~/.bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=dbsrv2
EOF
[oracle@DB ~]$ source .bash_profile
解压
[oracle@DB ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@DB ~]$ unzip linux.x64_11gR2_database_2of2.zip
创建并拷贝配置文件
[oracle@DB ~]$ mkdir etc
[oracle@DB ~]$ cp database/response/* etc/
[oracle@DB ~]$ vim etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY // 安装类型
ORACLE_HOSTNAME=docker // 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall // 安装组
INVENTORY_LOCATION=/u01/app/oraInventory //INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 //oracle_home
ORACLE_BASE=/u01/app/oracle //oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba // dba用户组
oracle.install.db.OPER_GROUP=oinstall // oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl //globalDBName
oracle.install.db.config.starterdb.SID=dbsrv2 //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手动写了false)
DECLINE_SECURITY_UPDATES=true//设置安全更新(貌似是有bug,这个一定要选true,否则会无限提醒邮件地址有问题,终止安装。PS:不管地址对不对)
[oracle@DB database]$ ./runInstaller -silent -responseFile ../etc/db_install.rsp
正在启动 Oracle Universal Installer...
检查临时空间: 必须大于 120 MB。 实际为 13278 MB 通过
检查交换空间: 可用的交换空间为 0 MB, 所需的交换空间为 150 MB。 未通过 <<<<
未通过某些要求检查。必须先满足这些 要求,
然后才能继续安装,
退出 Oracle Universal Installer, 您可以在 /tmp/OraInstall2019-04-04_01-34-41PM/installActions2019-04-04_01-34-41PM.log 中找到本次会话的日志
[oracle@DB database]$ su -
[root@DB ~]# dd if=/dev/zero of=/swapfile bs=1024 count=512k
记录了524288+0 的读入
记录了524288+0 的写出
536870912字节(537 MB)已复制,5.37255 秒,99.9 MB/秒
[root@DB ~]# mkswap /s
sbin/ srv/ swapfile sys/
[root@DB ~]# mkswap /swapfile
正在设置交换空间版本 1,大小 = 524284 KiB
无标签,UUID=d830ae65-f103-424b-9501-5943dbcc8d0d
[root@DB ~]# swap
swaplabel swapoff swapon
[root@DB ~]# swapo
swapoff swapon
[root@DB ~]# swapon /swapfile
swapon: /swapfile:不安全的权限 0644,建议使用 0600。
[root@DB ~]# chmod 600 /swapfile
[root@DB ~]# swapon /swapfile
swapon: /swapfile:swapon 失败: 设备或资源忙
[root@DB ~]# swapon -s
文件名 类型 大小 已用 权限
/swapfile file 524284 0 -2
[root@DB ~]# swapon /swapfile
swapon: /swapfile:swapon 失败: 设备或资源忙
[root@DB ~]# swapoff /swapfile
[root@DB ~]# swapon /swapfile
cat >> ~/.bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=dbsrv2
export ROACLE_PID=ora11g#
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
EOF
[oracle@DB ~]$ source ~/.bash_profile
[oracle@DB ~]$ netca /silent /responsefile /home/oracle/etc/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /home/oracle/etc/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0
[oracle@DB ~]$ ss -tnlp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 511 *:80 *:*
LISTEN 0 128 *:1521 *:* users:(("tnslsnr",pid=40192,fd=13))
LISTEN 0 128 *:22 *:*
LISTEN 0 128 :::22 :::*
编辑建库配置文件
[oracle@DB ~]$ vim /home/oracle/etc/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "dbsrv2"
SID = "dbsrv2"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = "AL32UTF8"
[oracle@DB ~]$ dbca -silent -responseFile etc/dbca.rsp
查看监听状态
[oracle@DB ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-4月 -2019 14:25:17
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for Linux: Version 11.2.0.1.0 - Production
启动日期 04-4月 -2019 14:15:15
正常运行时间 0 天 0 小时 10 分 1 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
监听程序日志文件 /u01/app/oracle/diag/tnslsnr/DB/listener/alert/log.xml
监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DB.zkjin.com)(PORT=1521)))
服务摘要..
服务 "dbsrv2" 包含 1 个实例。
实例 "dbsrv2", 状态 READY, 包含此服务的 1 个处理程序...
服务 "dbsrv2XDB" 包含 1 个实例。
实例 "dbsrv2", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
1:创建临时表空间
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:创建数据表空间
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
第3步:创建用户并指定表空间
create user username identified by password
default tablespace user_data
temporary tablespace user_temp;
第4步:给用户授予权限
grant connect,resource,dba to username;