安装配置: 服务器环境:centos7 数据库信息:oracle 11gR2 服务器域名:[链接] 服务器地址:192.168.1.100 服务器网关:192.168.1.254 服务器 HOSTNAME: [链接] 1. 安装需要的安装包 ># sudo yum install binutils-2.* com ..

Oracle 安装手册

本贴最后更新于 216 天前,其中的信息可能已经天翻地覆

安装配置:

  • 服务器环境:centos7
  • 数据库信息:oracle 11gR2
  • 服务器域名:sky.com
  • 服务器地址:192.168.1.100
  • 服务器网关:192.168.1.254
  • 服务器 HOSTNAME: sky.com

1. 安装需要的安装包

># sudo yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh* 

2. 创建用户组和用户

groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle  // 创建oracle用户,并加入到oinstall和dba用户组
groups oracle                         // 查询用户组是否授权成功
passwd oracle                         // 设置用户oracle的登陆密码(oracle_password)
id oracle                             // 查看新建的oracle用户

3. 配置系统内核参数

># sudo vi /etc/sysctl.conf

#打开文件后检查或修改如下参数:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
#设置最大打开文件数
fs.file-max = 6815744 
fs.aio-max-nr = 1048576
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152 
#最大共享内存的段大小
kernel.shmmax = 2147483648 
#整个系统共享内存端的最大数
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
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

4. 修改用户限制

># sudo vi /etc/security/limits.conf

在文件中加入以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

5. 关闭 selinux 防火墙

># sudo vi /etc/sysconfig/selinux

#SELINUX=enforcing
SELINUX=disabled
关闭防火墙
># systemctl stop firewalld.service
># systemctl status firewalld.service

6. 创建安装目录并赋予权限

># mkdir -p /data/oracle         // oracle数据库安装目录
># mkdir -p /data/oraInventory   // oracle数据库配置文件目录
># mkdir -p /data/database       // oracle数据库软件包解压目录
># cd /data

// ls检查一下后执行,设置目录所有者为oinstall用户组的oracle用户
># chown -R oracle:oinstall /data/oracle  
># chown -R oracle:oinstall /data/oraInventory
># chown -R oracle:oinstall /data/database

7. 修改 OS 系统标识

# oracle 默认不支持 CentOS 系统安装
># vi /etc/redhat-release

redhat-7

8. 切换为 oracle 用户

username: oracle
password: oracle_password

9. 设置环境变量

进入oracle通过命令查询字符集
select userenv('language') from dual;
># vim /home/oracle/.bash_profile

# 增加配置内容如下:
export ORACLE_BASE=/data/oracle
#oracle数据库路径
export ORACLE_HOME=$ORACLE_BASE/product/db
#oracle启动数据库实例名
export ORACLE_SID=orcl
#xterm窗口模式安装
export ORACLE_TERM=xterm
#添加系统环境变量
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin:/usr/sbin:PATH
#添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#防止安装过程出现乱码
export LANG=C
#设置Oracle客户端字符集(与安装时保持一致)
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8     
保存后使其生效:
># source /home/oracle/.bash_profile
使用命令查看环境变量
># env

10. 获取安装包文件后解压安装包

># unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压文件1
># unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压文件2
># mv database/ /data/database/                               #移动包到指定位置
># chown -R oracle:oinstall /data/database/database/

11. 执行管理员的步骤

># chmod u+w /etc/sudoers

># vim /etc/sudoers
root ALL=(ALL) ALL (在这行下面添加)
oracle ALL=(ALL) ALL 

># chmod u-w /etc/sudoers

12. 注销用户,重新登录

>#  chmod -R 777 database
>#  ./runInstaller (可能会用问题)

13. 安装过程

在installtion Option中选择 
	install database software only
在gird installation Option中选择 
	Single instance database installation
在databaseEdition中选择 
	Enterprise Edition
安装的最后界面需要用root执行2个脚本

14. 配置 netca(默认不会报错跳过此步骤,有时启动 netca 中监听会失败可查看下列配置)

# 查询当前主机的名称为 sky.com
># hostname  
# 得到主机 IP 为 192.168.1.100
># ifconfig
# 查询到当前网关
># netstat -rn
># sudo vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100 sky sky.com 
># sudo vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=sky.com
GATEWAY=192.168.1.254
NOZEROCONF=yes

15. 配置监听及本地网络服务

>#  cd /data/oracle/product/db/bin
./netca (如果报错 data/oracle/product/11.2.0/db_1/bin/netca: line 178: 8033 Aborted)
错误原因:安装操作系统是默认主机名localhost造成错误
cat /etc/sysconfig/network
# Created by anaconda
#增加HOSTNAME
vi /etc/sysconfig/network 
# Created by anaconda
HOSTNAME=sky.com

16. 配置选项

执行 netca

1.选择listener configuration
2.选择ADD
3.默认名称:LISTENER
4.默认 (TCPS与IPC)

执行 dbca

1.crate a Database
2.Generak Purpose or T...
3.填写Database Name: BAS5 ,填写SID : orcl
4.默认
5.选择使用密码(第二个)
6.默认
9.设置sizing为500, character sets中字符集为AL32UTF8

17. 执行 root 命令

># cd /orcl/app/oracle/product/db
># ./root.sh
输入 /data/oracle/product/db/bin 目录

18. 修改用户名称与密码

cd /data/oracle/
sqlplus / as sysdba
搜索用户
select username from all_users;

修改用户密码
语法:alter user '用户名称' identified by '新密码';
示例:alter user SYS identified by 123456;

创建用户
语法:create user 用户名 identified by 密码;
示例:create user bas5 identified by bas5;

给新创建的用户授权(connect与resource)
grant connect,resource to bas5;

即可登陆bas5后创建表后列出表
select * from TAB

配置 OAM 参数

其中需要以下配置信息

Processes = 500
open_cursors = 1600
session_cached_cursors = 500
aq_tm_processes = 1
dml_locks = 3396
job_queue_processes = 1000
session_max_open_files = 50
sessions = 772
sga_target = 536879120
pga_aggregate_target = 104857600
sga_max_size = 4294967296

进入数据库

sqlplus / as sysdba

1. 检测 Processes(500)

show parameter processes
alter system set processes=500 scope=spfile;

2. 检测 open_cursors(1600)

show parameter open_cursors
alter system set open_cursors=1600;

3. 检测 session_cached_cursors(500)

show parameter session_cached_cursors
alter system set session_cached_cursors = 500 scope=spfile;

4. 检测 aq_tm_processes(1)

show parameter aq_tm_processes

5. 检测 dml_locks(3396)

show parameter dml_locks

6. 检测 job_queue_processes(1000)

show parameter job_queue_processes

7. 检测 session_max_open_files(50)

show parameter session_max_open_files
alter system set session_max_open_files = 50 scope=spfile;

8. 检测 sessions(772)

show parameter sessions

9. 检测 sga_target(536879120)

show parameter sga_target
alter system set sga_target = 536879120 scope=spfile; 

10. 检测 pga_aggregate_target(104857600)

show parameter pga_aggregate_target
alter system set pga_aggregate_target = 104857600 scope=spfile; 

11. 检测 sga_max_size(4294967296)

show parameter sga_max_size
alter system set sga_max_size = 4294967296 scope=spfile;  

12. 重启

shutdown immediate
startup

13. 修改系统的内存大小

sudo vim /etc/sysctl.conf
kernel.shmmax = 4294967296
vim /etc/fstab

/dev/mapper/centos-swap swap                    swap    defaults,size=5G        0 0
tmpfs                   /dev/shm                tmpfs   defaults,size=5G        0 0
mount -o remount,size=5G /dev/shm

14. 修改 memory_target

create pfile='/home/oracle/initorcl.ora' from spfile;
sqlplus / as sysdba
startup pfile='/home/oracle/initorcl.ora'

15. 由 pfile 创建 spfile

mv initorcl.ora /data/oracle/product/db/dbs/

sqlplus / as sysdba
create spfile from pfile; 
shutdown immediate
startup
lsnrctl start 

重启 oracle

1. 修改 listener.ora 与 tnsnames.ora 中的 host

vim /data/oracle/product/db/network/admin/listener.ora
vim /data/oracle/product/db/network/admin/tnsnames.ora 

2. 检查 lsnrctl status

lsnrctl status  得到没有问题
strace lsnrctl start 可以进行跟踪查看下

3. 如果有问题可以执行下列语句(IP 地址变化)

># sqlplus /as sysdba
> strace lsnrctl start 
> alter system set local_listener="(address=(protocol=tcp)(host=192.168.0.105)(port=1521))";
> alter system register
> show parameter local_lis

4. 重启服务 database

># lsnrctl start 
># sqlplus / as sysdba
> shutdown immediate
> startup  (重要)

5. 关闭防火墙

># systemctl stop firewalld.service
># systemctl status firewalld.service

清理 vmware 空间

#查看磁盘的挂载点 
sudo /usr/bin/vmware-toolbox-cmd disk list
#执行压缩磁盘命令
sudo /usr/bin/vmware-toolbox-cmd disk shrink / 

  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    594 引用 • 772 回帖 • 779 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    160 引用 • 177 回帖 • 610 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    90 引用 • 115 回帖 • 645 关注
回帖   
请输入回帖内容...