系统:CentOS 7

软件选择:最小安装

配置系统环境

# 切换成 root 用户
su root
# 下载工具
# wget 
# 解压工具,用于解压Oracle安装文件
# unzip 
# 网络工具,用语查看本机网络情况,如:netstat
# net-tools 
yum install -y wget unzip net-tools
# 使用 Oracle 提供的环境配置工具,这个工具会调整内核参数,建立一些必要的Linux用户和组
wget http://public-yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

yum install -y oracle-rdbms-server-11gR2-preinstall

# 以上工具安装完成后建议备份存放修改系统后日志和原本的内核配置备份这个目录
/var/log/oracle-rdbms-server-11gR2-preinstall
# 备份好后,执行以下命令加载内核参数(sysctl –p 等效)
sysctl –f

# 创建一些目录,配置oracle系统配置文件和授权
cat >> /etc/oraInst.loc <<EOF
inventory_loc=/home/oracle/ora11g/oraInventory
inst_group=oinstall
EOF
chmod 664 /etc/oraInst.loc

# 创建 oracle 安装目录和授权
mkdir -p /u01/app/
mkdir /u01/tmp
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app/
chmod a+wr /u01/tmp

# 设置oracle用户密码(123456),oracle是安装工具自己创建的,参考我之前讲的
passwd oracle

配置用户环境和上传 Oracle 压缩包

# 切换成 oracle 用户
su oracle
# 为 oracle 用户添加一些必要的环境变量
cat >> /home/oracle/.bash_profile <<EOF
TMP=/u01/tmp
TMPDIR=/u01/tmp
export TMP TMPDIR

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=orcl
PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME PATH
PATH=$PATH:$ORACLE_HOME/bin
export PATH
EOF

# 生效用户环境变量
cd ~ && source .bash_profile

使用 Xftp 的上传 linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip 2 个压缩包到 /home/oracle/

# 解压2个压缩包,解压后文件会在 /home/oracle/database/
unzip linux.x64_11gR2_database_1of2.zip 
unzip linux.x64_11gR2_database_2of2.zip

解压完成,如图:

配置 Oracle 数据库安装响应文件(db_install.rsp)

# 切换成 oracle 用户
su oracle
#备份 /home/oracle/database/response 下文件到 /home/oracle/rsp/
cp -r /home/oracle/database/response /home/oracle/rsp

配置安装响应文件 /home/oracle/rsp/db_install.rsp文件,这里建议先用 Xftp 下载到本地配置参数,再上传,db_install.rsp文件配置示例如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
# INSTALL_DB_AND_CONFIG 安装并自动配置数据库实例和监听,建议首次安装用这个,不然配置另外两个文件,新建实例和监听
oracle.install.option=INSTALL_DB_AND_CONFIG
ORACLE_HOSTNAME=localhost
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/ora11g/oraInventory
SELECTED_LANGUAGES=zh_CN,en
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
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
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
# 这个是服务名
oracle.install.db.config.starterdb.globalDBName=orcl.lan
# 实例 sid
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 最小 256M 我是学习就选择最小了
oracle.install.db.config.starterdb.memoryLimit=256
# 是否安装学习的scott和hr
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 全局密码设置成 123456 (安装时会提示密码简单问题,可忽略)
oracle.install.db.config.starterdb.password.ALL=123456
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
DECLINE_SECURITY_UPDATES=true

修改完成保存并上传到 /home/oracle /rsp ,覆盖 db_install.rsp。

静默安装 Oracle 数据库

# 切换成 oracle 用户
su oracle
# 安装,会出现密码不规范的警告,可忽略
/home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/rsp/db_install.rsp

# 带有图形界面的系统可能会出现如下报错,无报错可忽略:
 [oracle@localhost rsp]$ Exception in thread "main" java.lang.NoClassDefFoundError
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:164)
	at java.awt.Toolkit$2.run(Toolkit.java:821)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
	at javax.swing.UIManager.initialize(UIManager.java:1262)
	at javax.swing.UIManager.maybeInitialize(UIManager.java:1245)
	at javax.swing.UIManager.getUI(UIManager.java:851)
	at javax.swing.JPanel.updateUI(JPanel.java:104)
	at javax.swing.JPanel.<init>(JPanel.java:64)
	at javax.swing.JPanel.<init>(JPanel.java:87)
	at javax.swing.JPanel.<init>(JPanel.java:95)
	at oracle.sysman.oii.oiif.oiifo.OiifoOCMUI.<init>(OiifoOCMUI.java:125)
	at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.<init>(OiifoOCMInterfaceManager.java:79)
	at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.getInstance(OiifoOCMInterfaceManager.java:124)
	at oracle.install.ivw.db.driver.DBInstaller.run(DBInstaller.java:123)
	at oracle.install.commons.util.Application.startup(Application.java:869)
	at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
	at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
	at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
	at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
	at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

# 出现如上报错是因为系统中设置了DISPLAY环境变量,执行以下命令即可:
unset DISPLAY

# 再次执行 oracle 数据库安装命令
/home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/rsp/db_install.rsp
# 查看安装过程建议另开一个shell 执行如下命令查看
tail -f /home/oracle/ora11g/oraInventory/logs/ installActions2018-06-29_09-57-41AM.log

安装完成。

# 切换成 root 用户
su root
# 执行以下脚本
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

# 切换成 oracle 用户
su oracle
# sqlplus 登录
sqlplus / as sysdba
# 查看状态
select status from v$instance;

配置防火墙(可忽略)

# 切换成 root 用户
su root
# 查看 1521 数据库远程连接端口
netstat -an|grep 1521

1521 端口监听中。

# 防火墙  添加 1521 端口永久开放公共连接规则
firewall-cmd --zone=public --add-port=1521/tcp --permanent
# 重新加载防火墙规则
firewall-cmd --reload

数据库/实例启动及关闭

# 切换成 root 用户
su root

修改 oracle 服务启动配置,使启动数据库服务也会同时启动实例

vi /etc/oratab

Orcl:/u01/app/oracle/product/11.2.0/dbhome_1:N

改成

Orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y

保存后,重启数据库使配置生效:

# 关闭数据库
dbshut $ORACLE_HOME
# 启动数据库
dbstart $ORACLE_HOME

远程连接 oracle 数据库

SID 连接:

sqlplus sys/123456@ip:1521/orcl as sysdba
# 或
conn sys/123456@ip:1521/orcl as sysdba

服务名连接:

sqlplus sys/123456@ip:1521/orcl.lan as sysdba
# 或
conn sys/123456@ip:1521/orcl.lan as sysdba

 


很高兴认识你。