Oracle 安装手册

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

安装配置:

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

    957 引用 • 944 回帖
  • 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 回帖 • 340 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    554 引用 • 675 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    61 引用 • 29 回帖 • 6 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 4 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    89 引用 • 150 回帖
  • Visio
    1 引用 • 2 回帖
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 651 关注
  • Swift

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

    34 引用 • 37 回帖 • 555 关注
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖 • 2 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 45 关注
  • OnlyOffice
    4 引用 • 18 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 259 关注
  • JWT

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

    20 引用 • 15 回帖 • 26 关注
  • OpenCV
    15 引用 • 36 回帖
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 644 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 56 关注
  • Dubbo

    Dubbo 是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,是 [阿里巴巴] SOA 服务化治理方案的核心框架,每天为 2,000+ 个服务提供 3,000,000,000+ 次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。

    60 引用 • 82 回帖 • 618 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 186 关注
  • 域名

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

    43 引用 • 208 回帖
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖
  • Flutter

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

    39 引用 • 92 回帖 • 11 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    125 引用 • 74 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 6 关注
  • Access
    1 引用 • 3 回帖 • 3 关注
  • 持续集成

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

    15 引用 • 7 回帖 • 3 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖 • 1 关注
  • Mobi.css

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

    1 引用 • 6 回帖 • 776 关注