Oracle 安装手册

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

安装配置:

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

    915 引用 • 931 回帖
  • CentOS

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

    238 引用 • 224 回帖 • 1 关注
  • Oracle

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

    103 引用 • 126 回帖 • 446 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 8 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 6 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 114 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    77 引用 • 1741 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 89 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 125 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    22 引用 • 31 回帖 • 4 关注
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 5 关注
  • 招聘

    哪里都缺人,哪里都不缺人。

    189 引用 • 1056 回帖 • 1 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 562 关注
  • gRpc
    10 引用 • 8 回帖 • 56 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    164 引用 • 407 回帖 • 525 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    53 引用 • 85 回帖 • 1 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 23 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 512 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 295 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖 • 2 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    333 引用 • 323 回帖 • 66 关注
  • 小薇

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

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

    34 引用 • 467 回帖 • 691 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 511 关注
  • Ngui

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

    7 引用 • 9 回帖 • 345 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 220 关注
  • OnlyOffice
    4 引用 • 22 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 3 关注