Oracle 安装手册

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

安装配置:

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

    955 引用 • 944 回帖
  • CentOS

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

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

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

    107 引用 • 127 回帖 • 345 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    415 引用 • 3596 回帖 • 1 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • RemNote
    2 引用 • 16 回帖 • 26 关注
  • LeetCode

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

    209 引用 • 72 回帖 • 1 关注
  • Electron

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

    15 引用 • 136 回帖
  • 架构

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

    142 引用 • 442 回帖 • 1 关注
  • Outlook
    1 引用 • 5 回帖 • 2 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 1 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3201 引用 • 8217 回帖 • 1 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 559 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 1 关注
  • NetBeans

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

    78 引用 • 102 回帖 • 712 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 8 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 314 关注
  • Ngui

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

    7 引用 • 9 回帖 • 407 关注
  • Swagger

    Swagger 是一款非常流行的 API 开发工具,它遵循 OpenAPI Specification(这是一种通用的、和编程语言无关的 API 描述规范)。Swagger 贯穿整个 API 生命周期,如 API 的设计、编写文档、测试和部署。

    26 引用 • 35 回帖 • 3 关注
  • Node.js

    Node.js 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效。

    139 引用 • 269 回帖 • 2 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 765 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 82 关注
  • BookxNote

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

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

    1 引用 • 1 回帖 • 2 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 37 关注
  • Kubernetes

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

    118 引用 • 54 回帖 • 6 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 824 关注
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 197 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖