如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助

闲话少叙,直接开始

首先,由于服务器比较差,需要先设置swap

  • 查看是否设置swap虚拟内存

    交换区(SWAP)要求:按照操作系统推荐配置,根据内存大小,为物理内存的1-1.5倍。

    推荐:创建2个大小相同、且分布在不同盘(pv)上的SWAP空间。

    free -m
  • 如未设置swap虚拟内存,则设置

    dd if=/dev/zero of=swapfile bs=40960 count=204800

    说明:

    -if //输入

    -of //输出

    -bs //块儿大小,单位是byte,最小为40K,该语句表示8000M的大小

    -count //总块数

    • 创建Linux交换文件

      mkswap swapfile
    • 激活swapfile交换文件

      swapon swapfile
    • 查看是否生效

      free -m

安装依赖包

yum install binutils compat-libstdc++-33 elfutils elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

如下图:

检查下lib是否安装齐全:

rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel

创建oracle用户

创建Oracle安装组oinstall

groupadd oinstall

创建数据库管理员组dba

groupadd dba

创建oracle用户,并分配主组oinstall,其它组:dba

useradd -g oinstall -G dba oracle

设置密码

passwd oracle

查看用户属于哪些组

groups oracle

如果先创建了oracle用户,则可以用usermod -g oinstall -G dba oracle来改变用户的组;

修改内核参数

先备份文件

cp /etc/sysctl.conf /etc/sysctl.conf.bak

修改文件

vim /etc/sysctl.conf

添加如下参数:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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 = 1048586

参数意义参考文档:http://www.cnblogs.com/colben/p/4120439.html

kernel.shmallkernel.shmmax两个值在此次的安装中文件里已有定义,暂时不做修改!

为使上述配置生效而不重启系统,执行如下命令

sysctl -p

修改用户限制

老规矩,先备份文件

cp /etc/security/limits.conf /etc/security/limits.conf.bak

修改文件

vim /etc/security/limits.conf

添加如下参数

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

修改用户验证选项

老规矩 ,先备份文件

cp /etc/pam.d/login /etc/pam.d/login.bak

修改文件

vim /etc/pam.d/login

添加如下参数

session    required     pam_limits.so

修改用户配置文件

先备份文件

cp /etc/profile /etc/profile.bak

修改文件

vim /etc/profile

添加如下参数

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

安装目录配置

mkdir -p /u01/oraInventory --创建一个目录树
mkdir /u01/oracle
chown -R oracle:oinstall /u01/ --改变目录的归属人
chmod -R 775 /u01/ --改变目录权限

目录根据实际情况定

修改用户bash shell

修改文件

vim ~/.bash_profile (oracle用户下执行?)
vim /etc/profile (不太了解的推荐用该命令)

增加如下参数:

export ORACLE_BASE=/u01
export ORACLE_HOME=$ORACLE_BASE/oracle
export ORACLE_SID=smjredw
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

如是选择vim ~/.bash_profile命令,则还需执行以下命令

su – oracle
env | grep ORA --查看环境变量是否完成

以上命令的区别请参考:http://www.cnblogs.com/jiaxiaoai/archive/2011/05/22/2053738.html

安装图形界面(静默安装则不需要,可参考静默安装文档)

这里走了一点弯路,分隔线之间的步骤过于复杂,可以跳过,直接看紧随其后的另一种简单的方法


查看当前运行级别

runlevel
N 3(当前运行级别是3)

查看是否安装桌面环境组件

yum grouplist | more

选择软件组与输入法还有字体等

yum groupinstall -y   "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

(临时生效)安装成功后输入startx,或者 init 5, 即可切换到图形界面

(永久生效)要下次自动启动GNOME进入图形界面操作:

修改/etc/inittab文件中的

id:3:initdefault
# 将3改为5
id:5:initdefault

保存后重新启动系统


以上的方式过于麻烦,按以下步骤亦可

安装xwindow:

yum groupinstall “X Window System”

安装gnome:

yum groupinstall “Desktop”

确认xwindow 能正常显示

使所有用户都能访问Xserver

xhost +

进入oracle用户:

切换到图形界面

startx

export DISPLAY=:0.0
xclock

因需要使用图形界面,此处需用XShell + Xmanager的方式;

参考文章:

http://blog.csdn.net/wangzhaopeng0316/article/details/14221677

http://blog.csdn.net/linghao00/article/details/8768435

安装

  • 解压安装包

    unzip linux.x64_11gR2_database_1of2.zip
    unzip linux.x64_11gR2_database_2of2.zip

    会在本目录下面出现一个database的目录

    如出现Command not found错误时,需安装压缩解压程序,使用命令:yum install -y unzip zip

  • 安装

    在xshell中需利用gnome启动安装程序,这里用vnc远程连接linux系统

    ./runInstaller
  • 建库

    需先配置Listener

    netca

    弹出配置界面,按步骤配置

    参考:http://blog.chinaunix.net/uid-28329865-id-3453085.html

  • 如报错,则需修改以下两个地方

    cat /etc/sysconfig/network

    修改

    NETWORKING=yes
    HOSTNAME=test11g
    GATEWAY=192.168.1.254
    cat /etc/hosts

    修改

    127.0.0.1               localhost.localdomain localhost test11g
    hostname test11g
  • 如还失败则做以下操作

    关闭防火墙

    chkconfig iptables off
    service iptables stop
    vi /etc/selinux/config
    SELINUX=enforcing #将此处修改为SELINUX=disabled

    如此,oracle用户退出重新登录就可以正常启动netca

    查看是否启动

    ps –ef | grep LISTENER

    创建数据库

    dbca
  • 验证

    使用sql-plus连接

    命令行下执行sqlplus /nolog

    进入sqlplus提示符,输入

    connect <username>/<password>@<连接标识符>
    
    #例子:
    connect report/Sma#007@10.10.xx.224:1521/dw
    #或者
    sqlplus 用户名/密码@192.168.208.xx:1521/orcl

    conn /as sysdba(本机上可以这样连系统用户)

安装成功后,还需要一些配置

  • 配置sqlplus:

    show pagesize;
    set pagesize 50000; show linesize;
    set linesize 32767;
  • 创建用户并授权

    创建用户和密码

    CREATE USER user_name IDENTIFIED BY pwd [DEFAULT TABLESPACE tablespace_name];

    赋予连接权限

    GRANT CONNECT TO inf_layer;

    可先给用户分配到resource角色,再根据需要赋予权限

  • 新建表空间

    例子:

    CREATE TABLESPACE DB_DATA
    LOGGING
    DATAFILE 'D:appAdministratororadataNewDB\DB_DATA.DBF'
    SIZE 32M
    AUTOEXTEND ON
    NEXT 32M MAXSIZE UNLIMITED
    EXTENT MANAGEMENT LOCAL;

    'DB_DATA'是你自定义的数据表空间名称,可以任意取名;

    'D:appAdministratororadataNewDB\DB_DATA.DBF'是数据文件的存放位置;

    'DB_DATA.DBF'文件名也是任意取;

    'size 32M'是指定该数据文件的大小,也就是表空间的大小。

最后感谢以下两篇全程提供指导的文章

http://www.linuxidc.com/Linux/2015-02/113222p4.htm

http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html

在Linux上安装Oracle服务的操作步骤的更多相关文章

  1. [转载]linux上安装oracle

    原文地址:linux上安装oracle作者:天涯恨客 1.创建oinstall组 [root@xieqing ~]# groupadd oinstall 创建dba组 [root@xieqing ~] ...

  2. linux上安装oracle

    Linux上安装Oracle 10g:  http://69520.blog.51cto.com/59520/91156

  3. 在Linux上安装Oracle RAC 12 c(12.1) 虚拟机,一步一步向导

    Oracle RAC 12 c(12.1)在Linux上安装虚拟机,一步一步向导 今天我们将看到如何安装 12 c版本1 RAC(真正的应用程序集群)数据库2 Linux 64位的虚拟机 使用VMWa ...

  4. VM虚拟机下在LINUX上安装ORACLE 11G单实例数据库

    1.环境及安装前规划:虚拟机及OS如下 环境:VMware Wordstation ACE版 6.0.2 操作系统:OracleLinux-R5-U8-Server-i386-dvd    3.2G ...

  5. Linux上安装Oracle的辛酸史

    下个礼拜就要开始学习Oracle了,得嘞先在我的CentOS7上装一个(貌似听说Oracle装在Oracle Linux能得到更好的性能,不过懒得下Oracle Linux镜像,在CentOS7上装个 ...

  6. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  7. Linux上安装Oracle的教程-centos7

    一.安装Oracle前准备 1.创建运行oracle数据库的系统用户和用户组   [humf@localhost ~]$ su root #切换到root   Password:   [root@lo ...

  8. 史上最详细最全的Linux上安装Oracle的教程-centos7

    一.安装Oracle前准备 1.创建运行oracle数据库的系统用户和用户组 [humf@localhost ~]$ su root #切换到root Password: [root@localhos ...

  9. Ubuntu Linux上安装oracle jdk

    说明:由于很多系统不支持使用OpenJDK,因此在ubuntu下会需要安装Oracle JDK.而Oracle JDK的安装貌似没有提供apt方式,因此安装Oracle JDK的方式相对麻烦一些,我经 ...

随机推荐

  1. cf 76 div2

    传送门 题意 t组样例 n个学生, x最多交换次数 a交换的第一个位置 b交换的第二个位置 最多是交换n-1次,不懂的话可以找个数列自己模拟一下: 然后其他的就是abs(a-b)+x;两个位置之间的距 ...

  2. 虚拟交换系统-VSS

    1.虚拟交换系统VSS技术概述 VSS的特点: VSS将两台Catalyst 6500/4500系列交换机组合为单一虚拟交换机,对外来看,只有一台交换机,管理冗余链路如同管理自己的一个单一接口. VS ...

  3. ConcurrentHashMap 实现缓存类

    参考:https://blog.csdn.net/woshilijiuyi/article/details/81335497 在规定时间内,使用 hashMap 实现一个缓存工具类,需要考虑一下几点 ...

  4. git 操作详情

    Git 教程 1.Git 是一个开源的分布式版本控制系统 2.Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源版本控制软件 3.Git 与常用的版本控制工具 ...

  5. 【Fine学习笔记】Jmeter笔记

    熟悉几个专有名词: 1.测试计划是顺序执行的,一个性能测试必须有的三部分:测试计划.线程组.sampler(采样器)--核心 2.控制器(用来定义请求执行的):loop if else 3.timer ...

  6. LNMP架构及应用部署!(重点)

    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. WNMP代表的就是:Windows系统下Nginx+MySQL+PHP这种网站服务器架构. WAMP代表的就是: ...

  7. 【K-means算法】matlab代码实例学习

    1. MATLAB函数Kmeans 使用方法:Idx=Kmeans(X,K)[Idx,C]=Kmeans(X,K) [Idx,C,sumD]=Kmeans(X,K) [Idx,C,sumD,D]=Km ...

  8. Centos6.X安装桌面

    1.前置环境yum -y groupinstall 'X Window System'2.桌面安装 yum -y groupinstall 'Desktop' 3.语言包yum -y groupins ...

  9. 解决:使用 swiper 自动轮播图片,当拖动过 swiper 内的内容时,导致不继续自动轮播

    版本为1.3 当使用了 swiper 后: var mySwiper = new Swiper('.banner .swiper-container', { autoplay: 3000, loop: ...

  10. 牛客网Sql

    牛客网Sql: 1.查询最晚入职的员工信息  select * from employees where hire_date =(select max(hire_date) from employee ...