共计 5422 个字符,预计需要花费 14 分钟才能阅读完成。
本文记录从无到有部署一个 CentOS 7+Oracle 11gR2 单实例,做为主要学习试验环境,毕竟只有敲过并运行过的代码才是属于自己的,光看书是看不到多少知识的。
1.VMware 最小化安装 CentOS 7
分配 20G 硬盘 +2G 内存 +nat 网络 400mboot+3Gswap 去除 kdump 最小化安装 并配置网络
cat /etc/sysconfig/network-scripts/ifcfg-ens32
BOOTPROTO=”static”
DEVICE=”ens32″
ONBOOT=”yes”
IPADDR=192.168.188.11
NETMASK=255.255.255.0
GATEWAY=192.168.188.2
DNS1=192.168.188.2
2. 配置 yum 源
[root]
安装 wget、unzip
yum -y install wget
yum -y install unzip
配置 163yum
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo -O CentOS-Base.repo
配置 oel7 源
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 clean all
yum makecache
3. 安装 oracle 环境配置工具
[root]
yum -y install oracle-rdbms-server-11gR2-preinstall
# 完成后备份一下这个目录的文件到其他目录 这个文件夹是修改系统后日志和原本的内核配置备份
mkdir /home/oracle/backup && cp /var/log/oracle-rdbms-server-11gR2-preinstall “$_” -R
# 加载内核参数 和 sysctl - p 一样
sysctl –f
# 设置 oracle 用户密码 oracle 是安装工具自己创建的
passwd oracle
4. 创建一些目录和配置
## 配置 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
5. 配置用户环境 & 上传文件
[oracle]
cat >> /home/oracle/.bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=/u01/app/oracle/product/11.2.0/db_1/bin:$PATH
export ORACLE_SID=std
alias dbn=’cd $ORACLE_HOME/network/admin’
alias dbs=’cd $ORACLE_HOME/dbs’
alias sql=’sqlplus / as sysdba’
EOF
winscp 上传安装文件到 oralce home
解压
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
6. 配置安装响应文件
[oracle]
修改响应文件
cat /home/oracle/database/response/db_install.rsp
## 我的 /home/oracle/rsp/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/db_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=std
# 实例 sid
oracle.install.db.config.starterdb.SID=std
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=true
oracle.install.db.config.starterdb.enableSecuritySettings=true
# 密码全设置成 oracle (安装时会提示,个人学习忽略)
oracle.install.db.config.starterdb.password.ALL=oracle
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
#true
DECLINE_SECURITY_UPDATES=true
7. 静默安装数据库
[oracle]
# 安装
## 会出现密码不规范的警告,忽略
/home/oracle/database/runInstaller -silent -ignorePrereq -responseFile /home/oracle/database/response/db_install.rsp
## 查看安装过程 另开一个 shell 稍等
tail -f /home/oracle/ora11g/oraInventory/logs/installActions2018-07-23_07-37-45PM.log
# 安装完成后执行
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
# 静默删除
dbca -silent -deleteDatabase -sourceDB ora11g
8. 配置防火墙
[root]
# 查看 1521 端口
netstat -an|grep 1521
# 防火墙 放行 1521 端口
firewall-cmd –zone=public –add-port=1521/tcp –permanent
# 重新加载防火墙规则
firewall-cmd –reload
9. 数据库的启动 & 关闭
[root]
# 修改 oracle 服务启动配置 让数据库启动时候一起启动实例
vi /etc/oratab
[oracle]
# 启动 oracle
# 因为修改了 /etc/oratab N->y 所以启动服务也会同时启动实例
##N 的情况不会同时启动实例 sqlplus 登录会提示 an idle instance
## 用 sqlplus 然后 —> startup 启动实例
# 重启系统后用这个命令启动
dbstart $ORACLE_HOME
# 关闭
dbshut $ORACLE_HOME
10. 修改主机名
hostnamectl –static set-hostname std
cat >>/etc/hosts <<EOF
192.168.188.11 std std.example.com
EOF
11. 配置监听
为了简单用 netca 配置,首先本机安装 xmanager,运行 Xmanager – Passive
安装 xhost 的工具,先查找 yum 包
yum whatprovides “*/xhost”
找到 yum 包后安装
yum install xorg-x11-server-utils-7.7-20.el7.x86_64 –y
设置图形显示在本机中
然后启动 netca 配置下
然后发现我是个智障,默认已经有了动态监听了,没发现服务的重新启动下监听 lsnrctl reload 或者进入数据库中 alter system register 注册下就好了
12. 配置 EM
[oracle]
$ORACLE_HOME/bin/emca -config dbcontrol db -repos recreate
安装结束后,启动 em
emctl start dbconsole
然后用 sys 用户 as sysdba 的方式登录 http://std:5500/em
13.sqlplus 设置
cat >>$ORACLE_HOME/sqlplus/admin/glogin.sql <<EOF
Define _editor=’vi’
Set sqlprompt “_user’@’_connect_identifier> “
set time on
set timing on
set pagesize 40
set linesize 120
EOF
14. 配置 plsql dev 作为 ide
本机下载安装 PLSQL Developer 12 (64 bit)
安装好在安装路径中 C:\instantclient_11_2 建立 tnsnames.ora 内容
std =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.11)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = std)
)
)
然后解锁 scott,hr 用户
alter user scott account unlock identified by tiger;
alter user hr account unlock identified by hr;
plsqldev 连接即可
Linux 公社���RSS 地址: