Oracle 安装手册

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

安装配置:

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

    921 引用 • 934 回帖 • 1 关注
  • CentOS

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

    238 引用 • 224 回帖
  • Oracle

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

    103 引用 • 126 回帖 • 442 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • sts
    2 引用 • 2 回帖 • 164 关注
  • 快应用

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

    15 引用 • 127 回帖 • 4 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • Hibernate

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

    39 引用 • 103 回帖 • 701 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 60 回帖 • 457 关注
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 355 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    284 引用 • 247 回帖 • 148 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 553 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 82 关注
  • GitHub

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

    207 引用 • 2031 回帖
  • 宕机

    宕机,多指一些网站、游戏、网络应用等服务器一种区别于正常运行的状态,也叫“Down 机”、“当机”或“死机”。宕机状态不仅仅是指服务器“挂掉了”、“死机了”状态,也包括服务器假死、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

    13 引用 • 82 回帖 • 50 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    493 引用 • 1385 回帖 • 341 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 1 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    175 引用 • 992 回帖 • 1 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 711 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 19 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 59 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 733 关注
  • IPFS

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

    20 引用 • 245 回帖 • 234 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • 域名

    域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的 Internet 上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。

    43 引用 • 208 回帖 • 2 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 41 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 2 关注
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 200 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 181 关注
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    16 引用 • 7 回帖 • 1 关注