环境
操作系统: CentOS Linux release 7.4.1708 (Core)
Oracle版本: 12cR1
Oracle的yum: http://public-yum.oracle.com/public-yum-ol7.repo
一、配置oracle安装环境
1.配置yum源
wget http://public-yum.oracle.com/public-yum-ol7.repo -O /etc/yum.repos.d/public-yum-ol7.repo
yum clean all
yum repolist
2.配置oracle预安装软件
yum -y --nogpgcheck install oracle-rdbms-server-12cR1-preinstall.x86_64
3.配置oracle用户密码
passwd oracle
输入新密码
再次输入新密码
· 查看oracle预安装软件的操作
cat -n /var/log/oracle-rdbms-server-12cR1-preinstall/results/orakernel.log
配置用户和组
创建组oinstall,gid54321
1 Adding group oinstall with gid 54321
传键组dba
2 Adding group dba
创建用户oracle,uid54321,主组oinstall,附加组dba,家目录/home/oracle
3 Adding user oracle with user id 54321, initial login group oinstall, supplementary group dba and home directory /home/oracle
改变/home/oracle的所属,所属主oracle,所属组oinstall
4 Changing ownership of /home/oracle to oracle:oinstall
ps:需要自己设置oracle用户的密码
5 Please set password for oracle user
6 uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba)
7 Creating oracle user passed
8
配置内核参数/etc/sysctl.conf
9 Saving a copy of the initial sysctl.conf
10 Verifying kernel parameters as per Oracle recommendations...
设置最大打开文件数
11 Adding fs.file-max = 6815744
设置信号量有关的参数
12 Adding kernel.sem = 250 32000 100 128
设置整个系统共享内存段的大小
13 Adding kernel.shmmni = 4096
设置共享内存的总量,8G内存设置:2097152*4k/1024/1024
14 Adding kernel.shmall = 1073741824
设置最大共享内存的段大小
15 Adding kernel.shmmax = 4398046511104
16 Adding kernel.panic_on_oops = 1
17 Adding net.core.rmem_default = 262144
18 Adding net.core.rmem_max = 4194304
19 Adding net.core.wmem_default = 262144
20 Adding net.core.wmem_max = 1048576
21 Adding net.ipv4.conf.all.rp_filter = 2
22 Adding net.ipv4.conf.default.rp_filter = 2
23 Adding fs.aio-max-nr = 1048576
设置可使用的IPv4端口范围
24 Adding net.ipv4.ip_local_port_range = 9000 65500
25 Setting kernel parameters as per oracle recommendations...
26 Altered file /etc/sysctl.conf
备份/etc/sysctl.conf
27 Saved a copy of the current file in /etc/sysctl.d/99-oracle-rdbms-server-12cR1-preinstall-sysctl.conf
28 Check /etc/sysctl.d for backups
29 Verifying & setting of kernel parameters passed
30
配置进程会话
31 Setting user limits using /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
32
33 Verifying oracle user OS limits as per Oracle recommendations...
34 Adding oracle soft nofile 1024
35 Adding oracle hard nofile 65536
36 Adding oracle soft nproc 16384
37 Adding oracle hard nproc 16384
38 Adding oracle soft stack 10240
39 Adding oracle hard stack 32768
40 Adding oracle hard memlock 134217728
41 Adding oracle soft memlock 134217728
42 Setting oracle user OS limits as per Oracle recommendations...
43 Altered file /etc/security/limits.d/oracle-rdbms-server-12cR1-preinstall.conf
44 Original file backed up at /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Aug-22-2018-17-11-05
45 Verifying & setting of user limits passed
46
47 Saving a copy of /etc/default/grub file in /etc/default/grub-initial.orabackup
48 Saving a copy of /etc/default/grub in /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Aug-22-2018-17-11-05...
49 Verifying kernel boot parameters as per Oracle recommendations...
50 old boot params: "rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
51 new boot params: "rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet numa=off"
52
53 old boot params: "rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet numa=off"
54 new boot params: "rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet numa=off transparent_hugepage=never"
55
56 Setting kernel boot parameters as per Oracle recommendations...
57 G_DIR=/boot/grub2
58 Default kernel is -> 3.10.0-693.el7.x86_64
59 Default saved_entry is -> CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)
60 Default saved_entry_line is -> linux16 /vmlinuz-3.10.0-693.el7.x86_64
61 Saving a copy of grubenv... in /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Aug-22-2018-17-11-05
62 Generating grub configuration file ...
63 File descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 5538: /usr/sbin/grub2-probe
64 File descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 5538: /usr/sbin/grub2-probe
65 Found linux image: /boot/vmlinuz-3.10.0-693.el7.x86_64
66 Found initrd image: /boot/initramfs-3.10.0-693.el7.x86_64.img
67 Found linux image: /boot/vmlinuz-0-rescue-aeb91e3fbec443d58729a8669460f619
68 Found initrd image: /boot/initramfs-0-rescue-aeb91e3fbec443d58729a8669460f619.img
69 File descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 5754: /usr/sbin/grub2-probe
70 File descriptor 199 (/run/lock/subsys/oracle-preinstall.lock) leaked on vgs invocation. Parent PID 5754: /usr/sbin/grub2-probe
71 done
72 The saved kernel 3.10.0-693.el7.x86_64 is now at position - 0
73 Boot parameters will be effected on next reboot
74 Altered file /etc/default/grub
75 Copy of the changed file is in - /etc/default/grub-oracle-rdbms-server-12cR1-preinstall.orabackup
76 Copy of the original file is in - /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Aug-22-2018-17-11-05
77 Verifying & setting of boot parameters passed
78
79 Trying to add NOZEROCONF parameter...
80 Taking a backup of existing file to /etc/sysconfig/network.orabackup
81 Successfully added parameter NOZEROCONF to /etc/sysconfig/network
82 Setting /etc/sysconfig/network parameters passed
83
84 Disabling Transparent Hugepages.
85 Refer Oracle Note:1557478.1
86
87 Disabling defrag.
88 Refer Oracle Note:1557478.1
89
90 Taking a backup of old config files under /var/log/oracle-rdbms-server-12cR1-preinstall/backup/Aug-22-2018-17-11-05
二、安装oracle
1.下载oracle软件包
http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
2.创建工作目录并解压
mkdir -p /home/OracDB12c
unzip linuxamd64_12102_database_se2_1of2.zip -d /home/OracDB12c/
unzip linuxamd64_12102_database_se2_2of2.zip -d /home/OracDB12c/
3.解决中文乱码
mkdir -p /usr/share/fonts/zh_CN/TrueType
mv /usr/share/fonts/wqy-zenhei.ttc /usr/share/fonts/zh_CN/TrueType/wqy-zenhei.ttf
4.安装oracle,使用oracle登陆系统
ssh -X oracle@数据库oracle所在ip
cd /home/OracDB12c/database
./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
4.1 配置安全更新
跳过即可
4.2 安装选项
- 仅安装数据库软件
选项说明:
- 创建和配置数据库:用于新安装数据库的用户。
- 仅安装数据库软件:适用于已有oracle数据库数据用于数据迁移的。
- 升级现有的数据库:适用于将老数据库升级成新数据库的用户。
4.3 系统类
- 桌面类:最小化配置
- 服务器类:
4.4 网络安装选项
- 单实例数据库安装
4.5 安装类型
- 典型安装:省事,后边的设置很少
- 高级安装:
4.6 产品语言
- 默认即可
4.5 数据库版本
- 标准版
4.6 安装位置
- 默认即可,会读取oracle预安装时的配置
4.7 创建产品清单
- 默认即可
4.8 操作系统组
- 没有创建oper组,第二项用 dba 即可
4.9 先决条件检查
- 根据提示,安装缺少的软件、修改配置文件
- 虚拟内存问题,影响不大,可以继续安装
4.10 概要
- 查看有无问题,有就双击后边的“编辑”
4.11 安装
4.12 执行配置脚本
再开一个终端
ssh root@ip地址
. /home/oracle/app/oraInventory/orainstRoot.sh
. /home/oracle/app/oracle/product/12.1.0/dbhome_1/root.sh
4.13 安装完成
5.配置环境变量,oracle登陆
[oracle@oracledb ~]$ vim .bash_profile
在里边添加
export ORACLE_SID=orcl
export ORACLE_HOME=/home/oracle/app/oracle/product/12.1.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
[oracle@oracledb ~]$ source .bash_profile
三、配置监听
- 默认即可
解决netca和dbca乱码
[oracle@oracledb fonts]$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback/
[oracle@oracledb fonts]$ cp /usr/share/fonts/zh_CN/TrueType/zysong.ttf $ORACLE_HOME/jdk/jre/lib/fonts/fallback/
# mkdir -p /home/oracle/app/oracle/product/12.1.0/dbhome_1/jdk/jre/lib/fonts/fallback
# cp /usr/share/fonts/zh_CN/TrueType/wqy-zenhei.ttf /home/oracle/app/oracle/product/12.1.0/dbhome_1/jdk/jre/lib/fonts/fallback/
配置监听listener
[oracle@oracledb fonts]$ netca
Oracle Net Services 配置:
正在配置监听程序:LISTENER
监听程序配置完成。
Oracle Net 监听程序启动:
正在运行监听程序控制:
/home/oracle/app/oracle/product/12.1.0/dbhome_1/bin/lsnrctl start LISTENER
监听程序控制完成。
监听程序已成功启动。
成功完成 Oracle Net Services 配置。退出代码是0
查看监听状态
[oracle@oracledb fonts]$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 22-AUG-2018 21:25:00
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracledb)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 22-AUG-2018 21:23:44
Uptime 0 days 0 hr. 1 min. 16 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /home/oracle/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /home/oracle/app/oracle/diag/tnslsnr/oracledb/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracledb)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
四、创建数据库实例
[oracle@oracledb fonts]$ dbca
五、验证
· 使用oracle自带的交互工具连接数据库
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Wed Aug 22 20:57:30 2018
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
六、数据库控制
· 以oracle用户执行
1.启动监听
[oracle@oracledb ~]$ lsnrctl start
2.查看监听
[oracle@oracledb ~]$ lsnrctl status
3.关闭监听
[oracle@oracledb ~]$ lsnrctl stop
· 以sysdba登陆sqlplus
[oracle@oracledb ~]$ sqlplus / as sysdba
启动数据库
SQL> startup
关闭数据库
SQL> shutdown immediate
退出sqlplus
SQL> exit