Oracle 安装手册

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

安装配置:

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

    954 引用 • 944 回帖
  • CentOS

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

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

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

    107 引用 • 127 回帖 • 344 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • TGIF

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

    291 引用 • 4495 回帖 • 662 关注
  • WebClipper

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

    3 引用 • 9 回帖
  • C++

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

    108 引用 • 153 回帖
  • webpack

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

    42 引用 • 130 回帖 • 253 关注
  • PWA

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

    14 引用 • 69 回帖 • 182 关注
  • 创造

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

    186 引用 • 1021 回帖
  • Webswing

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

    1 引用 • 15 回帖 • 644 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 818 回帖
  • jQuery

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

    63 引用 • 134 回帖 • 734 关注
  • Hibernate

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

    39 引用 • 103 回帖 • 728 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 507 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    730 引用 • 1282 回帖 • 1 关注
  • Gitea

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

    5 引用 • 16 回帖 • 1 关注
  • 架构

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

    142 引用 • 442 回帖
  • DNSPod

    DNSPod 建立于 2006 年 3 月份,是一款免费智能 DNS 产品。 DNSPod 可以为同时有电信、网通、教育网服务器的网站提供智能的解析,让电信用户访问电信的服务器,网通的用户访问网通的服务器,教育网的用户访问教育网的服务器,达到互联互通的效果。

    6 引用 • 26 回帖 • 537 关注
  • Python

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

    554 引用 • 675 回帖
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • 钉钉

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

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

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

    20 引用 • 15 回帖 • 26 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    134 引用 • 1127 回帖 • 109 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    229 引用 • 476 回帖
  • 招聘

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

    188 引用 • 1057 回帖
  • FFmpeg

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

    23 引用 • 32 回帖 • 1 关注
  • Netty

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

    49 引用 • 33 回帖 • 40 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    59 引用 • 22 回帖 • 12 关注