如题,将我在云服务器上安装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. 拼接 字典序min

    给定一个字符串类型的数组strs,找到一种拼接方式,使得把所有字符串拼起来之后形成的字符串具有最低的字典序. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个 ...

  2. 微权获取openid信授

    (1)首页要有一个自己的微信测试号的appid和秘钥 (2)公司里都是后台传code(接口),获取openid(接口) 请求code接口:/Wechat/GetUserInfo/getCode //判 ...

  3. 吴裕雄--天生自然SSH框架开发:搭建一个完整的SSH框架

    下载jar包 spring框架的jar包:https://repo.spring.io/ hibernate框架的jar包:http://hibernate.org/orm/ struts2框架的ja ...

  4. 对于java中反编译命令的使用以及Integer包装类的查看

    Integer是基于int的包装类 我们可以用测试代码来看看Integer类是如何实现装箱和拆箱的 public class BoxAndUnbox { /** * @param args */ pu ...

  5. java之md5加密算法

    /** * @author * */ public class MD5 { private static final String[] digital = { "0", " ...

  6. request库解析中文

    官网地址: http://cn.python-requests.org/zh_CN/latest/ 高级用法 本篇文档涵盖了 Requests 的一些高级特性. 会话对象 会话对象让你能够跨请求保持某 ...

  7. Tensorflow机器学习入门——ModuleNotFoundError: No module named 'tensorflow.keras'

    这个bug的解决办法: # from tensorflow.keras import datasets, layers, models from tensorflow.python.keras imp ...

  8. 语言国际化:中文ASC码互转

    https://javawind.net/tools/native2ascii.jsp 1.首先找到了上面的链接,也就是下图,输入中文就可立即得出ASCII码 2.看到上图第一条,找到了JDK/bin ...

  9. sarima模型

    以下内容引自:https://blog.csdn.net/qifeidemumu/article/details/88782550 使用“网格搜索”来迭代地探索参数的不同组合. 对于参数的每个组合,我 ...

  10. fiddler 保存请求数据并发送到自己的服务器接口

    通过Rules菜单打开 Customize Rules 搜索 OnBeforeResponse 方法,再方法后面添加如下代码: if (oSession.fullUrl.Contains(" ...