1.创建用户用户组
[root@smallcloud ~]# groupadd oinstall [root@smallcloud ~]# groupadd dba [root@smallcloud ~]# useradd -g oinstall -G dba oracle [root@smallcloud ~]# passwd oracle
-g 设置的是用户的主用户组,记录在/etc/passwd中。
-G 设置的是用户附加组,记录在/etc/group中。
2.创建目录
[root@smallcloud ~]# mkdir -p /home/oracle/app/oracle [root@smallcloud ~]# mkdir -p /home/oracle/app/oraInventory
3.编辑配置文件
配置hostname(本机IP映射)
[root@smallcloud /]# vim /etc/sysctl.conf
[root@smallcloud /]# sysctl -p //生效
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
[root@smallcloud /]# vim /etc/security/limits.conf
添加如下内容,soft是最小值,hard是最大值,nofile是文件句柄,也就是这个用户能打开的文件数,nproc是进程数
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中,即
[root@smallcloud /]# vim /etc/pam.d/login
session required pam_limits.so
编辑环境变量
[root@ytoadb ~]# vim /home/oracle/.bash_profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin:.
export ORACLE_SID=sjxdb
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
若环境变量的配置文件中有类似"umask 022"表示默认创建新文件权限为755
4.上传并解压安装包
unzip p10404530_112030_Linux-x86-64_1of7.zip -d /home/oracle/ unzip p10404530_112030_Linux-x86-64_2of7.zip -d /home/oracle/
5.查看哪些包没有安装
rpm -q 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 make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"
Centos7是可以使用pdksh-5.2.14-37.el5_8.1.x86_64.rpm包 (我放网盘里了)
6.安装的数据库配置 文件
[root@smallcloud oracle]# vim /home/oracle/database/response/db_install.rsp
29 oracle.install.option=INSTALL_DB_SWONLY 37 ORACLE_HOSTNAME=smallcloud //指定安装期间系统的主机名 42 UNIX_GROUP_NAME=oinstall //指定设立安装目录的用户组 49 INVENTORY_LOCATION=/home/oracle/app/oraInventory //指定保存安装文件的位置 86 SELECTED_LANGUAGES=en,zh_CN //指定组建将装哪些语言 91 ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1 //指定oracle家目录完全路径 96 ORACLE_BASE=/home/oracle/app //指定oracle基础全路径 107 oracle.install.db.InstallEdition=EE //指定组建安装版本 154 oracle.install.db.DBA_GROUP=dba //这个是被授予OSDBA权限系统组 194 oracle.install.db.config.starterdb.globalDBName=sjxdb //启动数据库的全局数据库名称 199 oracle.install.db.config.starterdb.SID=sjxdb //指定启动数据库的SID名 213 oracle.install.db.config.starterdb.characterSet=AL32UTF8 //指定数据库字符集 229 oracle.install.db.config.starterdb.memoryLimit=512 //指定给数据库分配的总内存 262 oracle.install.db.config.starterdb.password.ALL= //数据库所有schema的密码 388 SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //是否开启用户对我的oracle支持设立密码。 400 DECLINE_SECURITY_UPDATES=true //不想配置安全更新,设置为true
7.安装数据库组件
[root@smallcloud app]# chown -R oracle:oinstall /home/oracle/ [root@smallcloud app]# su - oracle [oracle@smallcloud database]$ ./runInstaller -silent -responseFile /home/oracle/database/response/db_install.rsp -invPtrLoc /home/oracle/oraInst.loc -ignoreSysPrereqs
runInstaller参数说明:
a. 选项-silent表示静默安装,免安装交互,大部分安装信息也不输出
b. 选项-responseFile指定应答文件,要求用绝对路径
c. 执行./runInstaller -help可以查看安装帮助
d. 若忽略-silent选项,将会允许交互,对于应答文件中未设置的项可以再手工指定
e. 若添加-noconfig选项,可以忽略应答文件中的安装类型,而仅安装数据库软件
f.-force 允许安装到一个非空目录
g.-noconfig 表示不运行配置助手netca
完成后
[root@smallcloud ~]# /home/oracle/app/oracle/product/11.2.0/db_1/root.sh
8.更改配置文件创建数据库
78 GDBNAME = "sjxdb" //全局数据库名
170 SID = "sjxdb" //数据库的系统标识
211 SYSPASSWORD = //sys用户密码
221 SYSTEMPASSWORD = //system用户密码
360 DATAFILEDESTINATION = /home/oracle/app/oracle/oradata //所有数据库文件的位置
370 RECOVERYAREADESTINATION=/home/oracle/app/oracle/oradata_back //数据文件恢复区位置
418 CHARACTERSET = "AL32UTF8" //数据库字符集
553 TOTALMEMORY = "1024" //oracle被分配的内存
[oracle@smallcloud ~]$ dbca -silent -responseFile /home/oracle/database/response/dbca.rsp
9.创建监听器
netca /silent /responsefile /home/oracle/database/response/netca.rsp
10.关闭和启动oracle
关闭
[oracle@smallcloud ~]$ lsnrctl start
[oracle@smallcloud ~]$ sqlplus /nolog
SQL> conn /as sysdba
SQL> shutdown immediate
启动
[oracle@smallcloud ~]$ sqlplus /nolog SQL> conn /as sysdba SQL> startup