Oracle 安装手册

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

安装配置:

  • 服务器环境: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 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    960 引用 • 946 回帖
  • CentOS

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

    240 引用 • 224 回帖
  • Oracle

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

    107 引用 • 127 回帖 • 329 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注
  • OneDrive
    2 引用 • 3 关注
  • Access
    1 引用 • 3 回帖 • 14 关注
  • TGIF

    Thank God It's Friday! 感谢老天,总算到星期五啦!

    293 引用 • 4496 回帖 • 688 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    119 引用 • 54 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    146 引用 • 442 回帖
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 174 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖
  • Outlook
    1 引用 • 5 回帖
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    327 引用 • 1395 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 197 关注
  • 电影

    这是一个不能说的秘密。

    125 引用 • 610 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 80 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 72 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    248 引用 • 1342 回帖
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 2 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    110 引用 • 153 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 3 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    213 引用 • 2044 回帖
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 249 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 740 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 1 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 724 关注
  • V2Ray
    1 引用 • 15 回帖 • 4 关注
  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    59 引用 • 25 回帖 • 5 关注