1、准备环境:
centos 7.5操作系统最小化安装;物理内存8GB,硬盘100G;安装目录:/oracle
安装包:注意根据系统,下载对应的包(32位,64位)
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
在/etc/hosts文件中增加主机名(通过hostname获得)到回环IP的映射如下:
192.168.31.162 oracle #本机IP 主机名
关闭selinux和防火墙
[root@oracle ~]# setenforce 0 #临时
[root@oracle ~]# sed -i "/SELINUX=/s/enforcing/disabled/" /etc/selinux/config #永久关闭selinux
[root@oracle ~]# getenforce
Disabled
[root@oracle ~]# systemctl stop firewalld
[root@oracle ~]# systemctl disable firewalld
2、安装依赖包:
[root@oracle ~]# yum -y install gcc make binutils gcc-c++
[root@oracle ~]#yum -y install compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static
[root@oracle ~]# yum -y install ksh libaio libaio-devel numactl-devel sysstat
[root@oracle ~]# yum -y install unixODBC unixODBC-devel pcre-devel
3、解包:
[root@oracle ~]# cd /oracle/
[root@oracle oracle]# unzip linux.x64_11gR2_database_1of2.zip
[root@oracle oracle]# unzip linux.x64_11gR2_database_2of2.zip
注,解包后在该目录下会有一个database目录
4、准备安装用户及组:
[root@oracle oracle]# groupadd oinstall
[root@oracle oracle]# groupadd dba
[root@oracle oracle]# useradd -g oinstall -G dba -d /home/oracle oracle
[root@oracle oracle]# passwd oracle
[root@oracle oracle]# id oracle
uid=1000(oracle) gid=1000(oinstall) 组=1000(oinstall),1001(dba)
5、修改内核参数:
[root@oracle oracle]# vim /etc/sysctl.conf 添加
fs.aio-max-nr = 1048576
fs.file-max = 6553600
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
[root@oracle oracle]# /sbin/sysctl –p 文件生效
6、修改用户限制文件:
[root@oracle oracle]# 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
[root@oracle oracle]# vim /etc/pam.d/login 添加
session required /lib64/security/pam_limits.so 这里有个注意点,那个64指64位系统,不能省略
session required pam_limits.so
[root@oracle oracle]# 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
7、手动创建安装文档及设置权限:
[root@oracle oracle]# mkdir /oracle/oracle
[root@oracle oracle]# mkdir /oracle/oracle/11.2.0 数据库系统安装目录
[root@oracle oracle]# mkdir /oracle/oradata 数据库数据安装目录
[root@oracle oracle]# mkdir /oracle/oradata_back 数据备份目录
[root@oracle oracle]# mkdir /home/oracle/inventory 清单目录
[root@oracle oracle]# chown -R oracle.oinstall /oracle/oracle
[root@oracle oracle]# chown -R oracle.oinstall /oracle/oracle /home/oracle/
[root@oracle oracle]# chmod -R 775 /oracle/oracle
8、编辑静默安装文件(非图像界面):
[root@oracle oracle]# su - oracle
[oracle@oracle ~]$ cp -R /oracle/database/response/ /home/oracle/
[oracle@oracle ~]$ cd /home/oracle/response/
[oracle@oracle response]$ mv db_install.rsp db_install_swonly.rsp 因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己
[oracle@oracle response]$vim db_install_swonly.rsp
29 oracle.install.option=INSTALL_DB_SWONLY ##3选1
37 ORACLE_HOSTNAME=oracle
42 UNIX_GROUP_NAME=oinstall
47 INVENTORY_LOCATION=/home/oracle/inventory
99 oracle.install.db.InstallEdition=EE
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
142 oracle.install.db.DBA_GROUP=dba
147 oracle.install.db.OPER_GROUP=dba
385 DECLINE_SECURITY_UPDATES=true
9、根据响应文件安装oracle:
[oracle@oracle oracle]$ cd /oracle/database/
[oracle@oracle database]$ ./runInstaller -silent -ignorePrereq -responseFile /home/oracle/response/db_install_swonly.rsp
如果报: ./runInstaller: /data/oracle/database/install/.oui: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录
解决方法:yum install -y ld-linux.so.2
注:安装过程中,如果提示[warning]不必理会,程序仍在安装,如果提示【fatal】,则安装停止。另开终端查看日志,查看(也可以查看安装进度)报错信息:tail –f /home/oracle/inventory/logs/installActions2018-11-04_11-16-12PM.log
当出现:Successfully Setup Software. 表示安装成功
Exit退出以root身份执行下面两个脚本初始化:
[root@oracle database]# cd /home/oracle/inventory/
[root@oracle inventory]# ./orainstRoot.sh #注:重装oracle前,删除/etc/oraInst.loc文件,否则没有./orainstRoot.sh
[root@oracle inventory]# cd /oracle/oracle/11.2.0/
[root@oracle 11.2.0]# ./root.sh
10、编辑静默建库响应文件(建库):
[oracle@oracle ~]$ cd /home/oracle/response/
[oracle@oracle response]$ mv dbca.rsp dbca_hello.rsp 实例名
[oracle@oracle ~]$ vim .bash_profile 设置用户变量,否测没有命令
export ORACLE_BASE=/oracle/oracle
export ORACLE_HOME=/oracle/oracle/11.2.0
export ORACLE_SID=hello
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/oracle/oracle/11.2.0/bin/
[oracle@oracle ~]$ vim /home/oracle/response/dbca_hello.rsp 建库建实例
78 GDBNAME = "orcl11g" 数据库名字 ###192.168.1.201 yfpw
149 SID = "hello" 实例名 ###192.168.1.201 orcl
190 SYSPASSWORD = "password" 管理员密码
200 SYSTEMPASSWORD = "password" 管理员密码
357 DATAFILEDESTINATION = /oracle/oracle 数据文件存放目录
367 RECOVERYAREADESTINATION= /oracle/oradata_back 数据备份目录
415 CHARACTERSET = "ZHS16GBK" 字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚。
###我司线上为:AMERICAN_AMERICA.AL32UTF8
540 TOTALMEMORY = "5120" 设置内存5120M
11、配置静默监听:
[oracle@oracle ~]$ netca /silent /responsefile /home/oracle/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent" = true
参数"responsefile" = /home/oracle/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services 配置:
完成概要文件配置。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/oracle/oracle/11.2.0/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
监听程序配置完成。
成功完成 Oracle Net Services 配置。退出代码是0
成功运行后(退出代码是0),在/oracle/oracle/11.2.0/network/admin目录下生成sqlnet.ora和listener.ora两个文件,通过命令netstat –ntlp 可以看到服务端口1521,说明监听器已经在1521端口上开始工作了。
十二起库起实例:
[oracle@oracle admin]$ dbca -silent -responseFile /home/oracle/response/dbca_hello.rsp
复制数据库文件
1% 已完成
3% 已完成
11% 已完成
18% 已完成
26% 已完成
37% 已完成
正在创建并启动 Oracle 实例
40% 已完成
45% 已完成
50% 已完成
55% 已完成
56% 已完成
60% 已完成
62% 已完成
正在进行数据库创建
66% 已完成
70% 已完成
73% 已完成
85% 已完成
96% 已完成
100% 已完成
有关详细信息, 请参阅日志文件 "/oracle/oracle/cfgtoollogs/dbca/orcl11g/orcl11g.log"。
13、配置监听TNS监听串(方便plsql等第三方软件管理):
[oracle@oracle ~]$ cd /oracle/oracle/11.2.0/network/admin/
[oracle@oracle admin]$ vim listener.ora 添加监听串
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = hello) sid实例名
(ORACLE_HOME = /oracle/oracle/11.2.0) 家目录
)
)
[oracle@oracle admin]$ lsnrctl status
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "helloXDB" has 1 instance(s).
Instance "hello", status READY, has 1 handler(s) for this service...
Service "orcl11g" has 1 instance(s).
Instance "hello", status READY, has 1 handler(s) for this service...
The command completed successfully 即监听成功
[<u>https://www.cnblogs.com/softidea/p/3912369.html</u>](https://www.cnblogs.com/softidea/p/3912369.html)
14、进入数据库,默认无需密码:
[oracle@oracle admin]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 5 00:42:01 2018
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL> shutdown immediate; 关闭实例
SQL> startup 开启实例
SQL> exit 退出
另附orecle结构图一张:
补充
su - oracle
sqlplus /nolog; (sqlplus 用户名/密码;)
select table_name from user_tables; //当前用户的表
1、su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus ;
3、SQL>connect / as sysdba ;(as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger)
conn sys/change_on_install as sysdba;
4、SQL>startup; 启动数据库实例
5、 查看当前的所有数据库: select * from v$database;