【大数据开发运维解决方案】linux5 安装 oracle 11g(11.2.0.4)实验

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: ​安装环境(可以查看附件的环境安装过程来安装和我这个一模一样的环境):oracle linux 5 64位 ,oracle11.2.0.4 64位 ip 192.168.0.5    hostname jtxy安装目录: /u01系统要求:以下是安装Oracle数据库的内存要求11所示g版本2(11.2):


安装环境(可以查看附件的环境安装过程来安装和我这个一模一样的环境):

oracle linux 5 64位 ,oracle11.2.0.4 64位 
ip 192.168.0.5    hostname jtxy
安装目录: /u01
系统要求:
以下是安装Oracle数据库的内存要求11所示g版本2(11.2):

grep MemTotal /proc/meminfo

    
可用内存 交换空间要求
1 GB和2 GB之间 RAM的大小的1.5倍
2 GB和16 GB之间 RAM的大小
超过16 GB 16 GB
确定系统架构可以运行软件,输入以下命令:

uname - m

注意:

这个命令可以显示处理器的类型。 验证处理器体系结构匹配安装Oracle软件发布。 如果您没有看到预期的输出,那么你不能在这个系统上安装软件。   
确定可用的内存和交换空间,输入以下命令:

free

df - h / tmp

查看内核版本:

 

cat /proc/version
下面的表描述软件文件的磁盘空间需求,为每个安装类型和数据文件在Linux x86 - 64:

安装类型 要求软件文件(GB)
企业版 4.7
标准版 4.6
安装类型 要求数据文件(GB)
企业版 1.7
标准版 1.5
包需求
采用yum批量安装

首先配置yum(以root身份执行):

 

[root@jtxy ~]# vim /etc/yum.repos.d/public-yum-el5.repo
写入如下内容
[public_el5_latest]
name=OracleLinux $releasever Latest($basearch)
baseurl=file:///mnt/Server
gpgcheck=0
enabled=1
保存退出
[root@jtxy ~]# mount /dev/cdrom /mnt/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@jtxy ~]# yum clean all
Loaded plugins: rhnplugin, security
Cleaning up Everything
编写脚本(以root身份执行):

 

[root@jtxy ~]# vim pack.sh
写入如下内容:

!bin/bash

start install required packages

echo "start installing required packages"
yum -y install binutils-*
yum -y install compat-libstdc++-*
yum -y install compat-libstdc++-*
yum -y install elfutils-libelf-*
yum -y install elfutils-libelf-devel-*
yum -y install gcc-*
yum -y install gcc-c++-*
yum -y install glibc-*
yum -y install glibc-*
yum -y install glibc-common-*
yum -y install glibc-devel-*
yum -y install glibc-devel-*
yum -y install glibc-headers-*
yum -y install ksh-*
yum -y install libaio-*
yum -y install libaio-*
yum -y install libaio-devel-*
yum -y install libaio-devel-*
yum -y install libgcc-*
yum -y install libgcc-*
yum -y install libstdc++-*
yum -y install libstdc++-*
yum -y install libstdc++-devel*
yum -y install make-*
yum -y install sysstat-*
yum -y install unixODBC-*
[root@jtxy ~]# chmod +x pack.sh
执行脚本
[root@jtxy ~]# sh pack.sh
创建所需的操作系统组和用户
创建之前先来确定一下oracle产品清单组(oinstall)是否存在来确定此系统是否有已经安装的oracle软件(以root身份执行):

 

more /etc/oraInst.loc
如果存在此文件的话,看看里面的内容(一般没装过oracle软件的系统是查找不到这个文件)(以root身份执行):

 

[root@jtxy ~]# cat /etc/oraInst.loc
inventory_loc=/u01/app/oraInventory
inst_group=oinstall--这就是oinstall组,说明本系统已经存在oracle软件。
接下来看看是否存在dba组(以root身份执行):

 

grep dba /etc/group
如果这个命令的输出显示了dba组名称,那么这个组已经存在。
再检查oracle用户是否已经存在(如果出现下面类似字样,那说明已经存在了oracle用户)(以root身份执行):

 

[root@jtxy ~]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper)
如果上面两个命令都没有显示结果,那恭喜系统是干净的,可以直接用来配置安装oracle.接下来开始创建上面查询而未检查到的的oinstall,dba用户组以及可选的oper组和oracle用户
(以root身份执行)

 

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
passwd oracle
--oinstall oracle产品清单组,代表oracle软件的拥有者,主要用来管理一台机器中多个oracle产品
--dba 与oracle操作系统身份验证相关,属于这个组的用户可以在完成操作系统身份验证后直接sql plus / as sysdba登陆
--oper 可选组,与上面组差不多,允许这个组的用户在进行操作系统验证后以sysoper身份登陆
配置内核参数和资源限制
(以root身份执行)

 

vim /etc/sysctl.conf写入
fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.shmall =2097152
kernel.shmmax =1073741824
kernel.shmmni =4096
kernel.sem =25032000100128
net.ipv4.ip_local_port_range =900065500
net.core.rmem_default =262144
net.core.rmem_max =4194304
net.core.wmem_default =262144
net.core.wmem_max =1048586
注意:kernel.shmmax修改为内存的一半(单位byte)
shmall在一般情况下是正常使用的,如果内存过大(超过64G)的时候他也要调大,我在装rac时,服务器是500g内存,当时用官方文档的大小时,报了内存耗尽错误。
修改后使上面参数生效执行:
sysctl -p
资源限制:
这是oracle官方推荐设置大小:(以root身份执行)

 

vim /etc/security/limits.conf写入一下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
配置oracle用户的环境变量(以root身份执行)

 

su - oracle --现在切换到oracle用户,切记是 su - oracle,两边都有空格,下面内容是以oracle身份执行
vim .bash_profile 写入如下内容:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
执行如下命令,让环境变量生效:source .bash_profile
创建所需的目录

 

su - --现在又切换到root身份
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/
chmod -R 775/u01/
关闭相关服务(以root身份执行):

 
(本操做在安装系统时候已经执行)
chkconfig sendmail off
chkconfig iptables off
chkconfig sm-client off
setup选firewall configuration 选disabled
关闭SELINUX
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'/etc/selinux/config
cat /etc/selinux/config
修改/etc/hosts文件(以root身份执行):

 
vim /etc/hosts
将ip及主机名对应起来,改成下面这样
[root@jtxy u01]# cat /etc/hosts

Do not remove the following line, or various programs

that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost
192.168.0.99 jtxy
安装oracle 
上传11.2.0.4 oracle软件到操作系统;
 解压安装包(以root身份执行):

 
[root@jtxy ~]# cd /u01/
[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_1of7.zip
。。。。。。。。。。。。。。。。。。。。。。。
[root@jtxy u01]# unzip p13390677_112040_Linux-x86-64_2of7.zip
开始进行安装:

 
[root@jtxy u01]# ls
app database lost+found p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[root@jtxy u01]# rm -rf p13390677_112040_Linux-x86-64_*
[root@jtxy u01]# ls
app database lost+found
[root@jtxy u01]# xhost +
access control disabled, clients can connect from any host
[root@jtxy u01]# su - oracle
[oracle@jtxy ~]$ cd /u01/database/
[oracle@jtxy database]$ ./runInstaller
去掉勾选,下一步,点yes
 跳过软件更新:
 仅安装软件:
 安装单实例oracle
语言选择
 
 安装企业版:
 这是在oracle用户.base_profile中定义的环境变量:
 oracle产品目录清单:
默认组就可以
 进行安装软件:
 
 另开一个窗口,以root身份运行上面脚本:
看到完成提示后,回到这个界面点ok:
 点击close,这就完成了软件的安装
 接下来配置监听:

 
[oracle@jtxy database]$ cd
[oracle@jtxy ~]$ netca
配置监听,下一步
添加按钮。下一步
 
 监听名字(保持默认),下一步
 协议,下一步
 监听端口(也可以选择下面的按钮,自己决定监听端口):
不配置其他监听
 
 点击完成
 好了。现在配置好监听了,可以通过下面的命令来查看一下监听状态:

 
[oracle@jtxy ~]$ lsnrctl status
LSNRCTL forLinux:Version11.2.0.4.0-Production on 17-MAR-201712:44:17
Copyright(c)1991,2013,Oracle.All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=jtxy)(PORT=1521)))

STATUS of the LISTENER

Alias LISTENER
Version TNSLSNR forLinux:Version11.2.0.4.0-Production
StartDate17-MAR-201712:43:04
Uptime0 days 0 hr.1 min.14 sec
TraceLevel off
Security ON:Local OS Authentication
SNMP OFF
ListenerParameterFile/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
ListenerLogFile/u01/app/oracle/diag/tnslsnr/jtxy/listener/alert/log.xml
ListeningEndpointsSummary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=jtxy)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services--还未有任何服务名被监听
The command completed successfully
接下来建库;

 
[oracle@jtxy ~]$ dbca
 
 创建一个模板数据库:
 数据库名
 启用em工具
 选择设置一个统一的密码
 选择yes就可以
 
 
 
 
 
 
 
 接下来会提示创建脚本成功,点击确定然后继续等待安装完成就行。
 点击exit,现在就吧oracle安装完了。接下来执行:

 
[oracle@jtxy ~]$ sqlplus /as sysdba
SQL*Plus:Release11.2.0.4.0Production on FriMar1713:08:182017
Copyright(c)1982,2013,Oracle.All rights reserved.
Connected to:
OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
With the Partitioning, OLAP,DataMiningandRealApplicationTesting options
SQL> alter user scott account unlock identified by tiger; --这是解锁scott用户,并且设置密码为tiger
User altered.
其他用户可以用这种方法解锁,解锁后就可以登陆了。
这是简单的模板数据库安装过程,想要定制方式安装数据库以及安装过程中遇到的各种问题,可以详细讨论:
本人qq:1215864353
 
 
常见错误以及解决办法:
 这是因为/etc/hosts文件没有配置或则配置有问题,检查配置文件,将本地ip以及主机名对应起来.
 
 
 这种问题是因为指定的目录权限不对,检查指定路径权限,是否下面这样:
[root@jtxy u01]# ll
total 24
drwxrwxr-x 4 oracle oinstall  4096 Mar 17 10:40 app
drwxrwxr-x 7 oracle oinstall  4096 Aug 27  2013 database
drwxrwxr-x 2 oracle oinstall 16384 Nov 22 18:19 lost+found
出现这个错误就是因为上面检查系统环境时,tmp可用空间不足导致的。

 
解决该问题
1.建立新tmp目录
[root@pxboracle ora11g]# mkdir /u01/tmp
[root@pxboracle ora11g]# chown root:root /u01/tmp
[root@pxboracle ora11g]# chmod 1777/u01/tmp
2.设置数据库用户变量
vi /home/oracle/.bash_profile 加入以下变量
export TEMP=/u01/tmp
export TMPDIR=/u01/tmp
然后 source .bash_profile生效
[ora11g@pxboracle ~]$ env|grep TMP
TMPDIR=/u01/tmp
[ora11g@pxboracle~]$ env|grep TEMP
TEMP=/u01/tmp
3.重新运行runInstaller
4.安装完成清理相关/u01/tmp 和相关环境变了,让数据库使用系统默认(根据实际情况处理),最好的解决办法是给系统增加tmp空间,然后重新运行安装,出现这种错误就是本身检查环境不仔细导致的。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
21天前
|
运维 监控 网络协议
|
4天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
15 2
|
7天前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
25 3
|
21天前
|
机器学习/深度学习 人工智能 运维
智能运维:大数据与AI的融合之道###
【10月更文挑战第20天】 运维领域正经历一场静悄悄的变革,大数据与人工智能的深度融合正重塑着传统的运维模式。本文探讨了智能运维如何借助大数据分析和机器学习算法,实现从被动响应到主动预防的转变,提升系统稳定性和效率的同时,降低了运维成本。通过实例解析,揭示智能运维在现代IT架构中的核心价值,为读者提供一份关于未来运维趋势的深刻洞察。 ###
74 10
|
1月前
|
存储 运维 搜索推荐
|
1月前
|
运维 Java Linux
【运维基础知识】掌握VI编辑器:提升你的Java开发效率
本文详细介绍了VI编辑器的常用命令,包括模式切换、文本编辑、搜索替换及退出操作,帮助Java开发者提高在Linux环境下的编码效率。掌握这些命令,将使你在开发过程中更加得心应手。
32 2
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
41 1
|
30天前
|
存储 运维 监控
实时计算Flink版在稳定性、性能、开发运维、安全能力等等跟其他引擎及自建Flink集群比较。
实时计算Flink版在稳定性、性能、开发运维和安全能力等方面表现出色。其自研的高性能状态存储引擎GeminiStateBackend显著提升了作业稳定性,状态管理优化使性能提升40%以上。核心性能较开源Flink提升2-3倍,资源利用率提高100%。提供一站式开发管理、自动化运维和丰富的监控告警功能,支持多语言开发和智能调优。安全方面,具备访问控制、高可用保障和全链路容错能力,确保企业级应用的安全与稳定。
38 0
|
1月前
|
Web App开发 运维 安全
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
1Panel:一个现代化、开源的 Linux 服务器运维管理面板
|
2月前
|
Linux 编译器 开发工具
快速在linux上配置python3.x的环境以及可能报错的解决方案(python其它版本可同样方式安装)
这篇文章介绍了在Linux系统上配置Python 3.x环境的步骤,包括安装系统依赖、下载和解压Python源码、编译安装、修改环境变量,以及常见安装错误的解决方案。
127 1