文章目录

写在前面

贴上与这次安装相关文件、安装包的链接:

如遇链接失效,Mail To nanzhouieATqq.com!

一、实验内容

  1. 安装 virtualbox 虚拟机(我更喜欢的是VMware);
  2. 在虚拟机上安装Oracle Linux
  3. Oracle Linux上安装Oracle 11g
  4. 配置虚拟机的网络,数据库服务器的监听,TNS,使得可以远程访问数据库服务器。
  5. 采用远程登录方式,使用ssh登录数据库服务器,进行数据库实例管理。
  6. 采用远程访问方式,使用 i*sqlplus或者第三方管理软件登录服务器,进行数据库实例管理。
  7. 建立HR的模式(建议使用官方脚本)。

二、实验前期准备

1.软件目录

名称 版本号
Vmware虚拟机 15.0.0-full-10134415-64bit
linux_11gR2_database_1of2 11.2.0.1.0 - 64bit
Putty.exe Release 0.70-64bit
Toad for oracle 12.8.0.49 -32bit
Oracle_11gR2_client 11g Release2 (11.2)-32bit
Oracle Linux文件(DOC-1002902.ova) Oracle Linux x64

2.准备一些配置文件、脚本文件

  • 在Oracle服务器端建立HR(Human Resource)模式所需的脚本执行文件;
  • Oracle客户端配置TNS服务所需要的tnsname.oralistener.ora文件。

ps:以上这些安装、配置、脚本文件在上面我分享的百度云链接文件中都能找到。

三、实验方案(具体步骤)

(一)在虚拟机上安装Oracle Linux

1.在虚拟机中导入老师提供的 DOC-1002902.ova文件,由于实验室32位PC机的原因,导入过程总是以失败结束;因此改选64位PC机(配载VM虚拟机)来操作。





2.在VM虚拟机成功安装Oracle linux(我的账户登录密码 oracle ),可以去设置语言、时区、用户名及密码等。

(二)在Linux上安装Oracle 11g R2(服务器端)

1. 前期准备
1.1 硬件环境监测
Content Instruction
检查物理内存 grep MemTotal /proc/meminfo
查看交换分区 grep SwapTotal /proc/meminfo
查看当前内存使用情况 free

PS:这一类指令可以有很多,但其实只要在之前导入虚拟机文件过程没有什么异常,不是很有必要去了解这些硬件环境信息,那么这一步可以跳过。

1.2 检查各种补丁包、函数依赖包
  • 方法:通过上网查找到需要的函数依赖包有以下这些:
    binutils-2.17.50.0.6
    compat-libstdc++-33-3.2.3
    compat-libstdc++-33-3.2.3 (32 bit)
    elfutils-libelf-0.125
    elfutils-libelf-devel-0.125
    gcc-4.1.2
    gcc-c++-4.1.2
    glibc-2.5-24
    glibc-2.5-24 (32 bit)
    glibc-common-2.5
    glibc-devel-2.5
    glibc-devel-2.5 (32 bit)
    glibc-headers-2.5
    ksh-20060214
    libaio-0.3.106
    libaio-0.3.106 (32 bit)
    libaio-devel-0.3.106
    libaio-devel-0.3.106 (32 bit)
    libgcc-4.1.2
    libgcc-4.1.2 (32 bit)
    libstdc++-4.1.2
    libstdc++-4.1.2 (32 bit)
    libstdc++-devel 4.1.2
    make-3.81
    sysstat-7.0.2
  • 通过类似重复以下的操作,借助root用户终端 yum search/install 命令将这些未安装的依赖包全部安装到服务端。



  • 然后,再使用yum快速安装oracle预装环境——yum install oracle-rdbms-server-11gR2-preinstall
1.3 修改用户环境配置等参数文件
  • 通过vi .bash_profile命令进入编辑界面,点击i进入insert模式,就可以写入以下数据了,写完数据后,点击ESC退出insert模式敲入:wq 保存本次修改并回到终端。
    #!/bin/bash
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    ORACLE_SID=prod #这个位置填写的是Service_name
  • 修改 /etc/hosts ,增加 ip地址主机名 的对应关系,按照和上面同样的方法,添加下面这条:
    192.168.216.128  docker.oracleworld.com  #ip地址 hostname

注意:如果出现 其他IP地址hostname 的对应关系,应当在前面加上#注释掉或者直接删掉。

  • 同样的方法,通过终端vi mk_dir.sh 添入以下数据
    mkdir -p /u01/app/oraInventory
    chmod -R 775 /u01/app/oraInventory
    mkdir -p /u01/app/oracle
    mkdir /u01/app/oracle/cfgtoollogs
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01/app/oracle
    mkdir -p /u01/app/oracle/product/11.2.0/db_1
    chown -Roracle:oinstall/u01/app/oracle/product/11.2.0/db_1
    chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
1.4 切换到Oracle用户

去设置里面找到users,解锁并修改已经生成的oracle用户密码,再切换用户登录到oracle下。

2. 安装Oracle 11g

在终端输入命令:unzip oracle11g 11.2.0.4 两个安装文件(也可以手动合并到同一个文件夹下),进入安装文件中的目录database,运行命令: ./runInstaller



同时,如果由于环境配置的原因,发现随后安装界面出现乱码,那么最好在执行安装之前添上这样一条语句:export LANG=en_US_UTF-8



在随后出现的安装界面中,依次选择如下:

  • 注意:过程中可能省去了一些安装界面(默认Next即可)

  • 这里不填email等直接next,出现弹窗点击Yes

  • 在接下来的界面中,依次选 install software only

  • 选择单实例类型的数据库

  • 选择oracle的语言,选择英文

  • 数据库类型选择企业版

  • 这里注意查看Oracle_Base路径和Oracle_home路径,必须保证和用户的初始化参数文件一致

  • 设置 INVENTORY DIRECTORY

  • 检查oracle用户所属的组

  • preinstall检查阶段,监测oracle所依赖的软件包,重新安装缺失的软件包,如果仍然有错误,那么全部忽略即可

  • 最后一步监测oracle的情况

  • 久违的安装界面

    安装到这个步骤,基本上问题不多了, copying files 阶段时,root模式下开一个终端,进入安装目录下的sysman/lib,编辑ins_emagent.mk文件。把 $(MK_EMAGENT_NMECTL)替换成$(MK_EMAGENT_NMECTL) -lnnz11



    同时这个过程中有可能会有一个提示对话框,然后按照指定路径及说明方法运行两个脚本。

    打开终端,通过su – root切换到root用户,再通过bash命令依次执行对应目录的两个脚本,然后再来这个弹窗界面点击OK即可。



  • 随后,就可以点击next,出现如下界面,表示在虚拟机这边安装服务端的Oracle 11g就已经成功了

3. 服务端NETCA创建配置监听程序
3.1 执行netca指令

3.2 接下来的界面弹窗中直接默认Next

在选择TCP/IP端口号时,可能会出现一个弹窗提示:默认的1521端口可能被占用。通过查找并没有发现被占用问题,因此选择Yes继续。

4. 建立一个数据库实例DBCA建库

4.1 设置数据库名和SID

4.2 不启用OEM

4.3 设置密码

4.4 不需修改、直接next

4.5 不启用快速恢复区、不启用归档

4.6 不需修改、直接next

至此,Oracle服务端实例数据库创建完毕。

5. 服务端启用ssh服务

(三)在主机上安装Oracle 11g Client(客户端)

检查ssh服务是否正常

下载putty.exe,打开以后,安装下图填入相对应信息(虚拟机IP地址可以在网络设置中找到,同时,建议虚拟机端网络连接方式选择仅主机模式)进行测试(确保虚拟机处于开启状态)。

(四)安装Oracle客户端并配置本地网络服务监听

1. 点击setup.exe启动安装
  • 安装过程中,除修改安装路径外,其余直接默认Next即可。

  • 选择管理员选项

2. 配置前的一些准备
  • 将之前准备好的 listener.oratnsnames.ora文件(两个文件里面的内容如下所示)放到如下所示目录下。

  • 同时,在环境变量中添加以下系统变量。

  • 在ssh服务控制终端执行如下(开启数据库、开启监听)

3. 本地网络服务名配置

在所有程序中找到Net Configuration Assistant,进入配置界面操作如下。在测试连接过程中更改登录如果忘了数据库服务端密码(以sys用户为例),则需要重新给sys设置密码(详见后面的实验问题及解决办法)。

(五)第三方软件Toad for Oracle连接数据库

1. TNS检测

进入cmd测试如下,说明数据库监听配置无误

2. 使用Toad连接

打开Toad for Oracle中的toad.exe启动,输入数据库服务端用户名以及密码后成功连接会出现如下的工作界面。

(六)建立HR的模式(服务器端进行)

1. 准备脚本文件

在如下所示目录中,将已准备好的脚本文件粘贴过来

2. 执行脚本文件

进入数据库层面,按照下面流程执行hr_main.sql这个脚本文件设置参数,就可以解锁HR用户并构建HR模式,且数据表中都有初始样例数据。

四、实验出现的问题及解决办法

  1. 第一次尝试安装时,总是在Linking Text File出失败,且界面卡死在那里。

  • 解决办法:

    虚拟机重新启动并通过恢复快照这一特性重新进行安装,主要在对那些依赖包的安装过程要尤为注意,一个一个一次检查确保已安装,虽然方法很笨拙,但至少不会出错。

    同时,在Prerequisite Checks阶段忽略所有错误继续下一步,随后完成安装。
  1. 整个过程中经常会出现各种类型的错误,下面列出一些我遇到的这类问题
错误类型 错误原因 解决方案
ORA-12162 TNS:net service name is incorrectly specified 给出ORACLE_SID(可赋临时值或是去host文件添加参数),重新尝试登录数据库服务端
TNS-12545 Connect failed because target host or object does not exist 服务端root模式下修改host和listener.ora文件(即host文件里添上一条“IP地址 主机名”,listener文件里将host赋为修改后的主机名)
ORA-01078、LRM-00109 Failure in processing system parameters $ORACLE_BASE/admin/ 数据库名称 /pfile目录下的init.ora.\********形式的文件copy到$ORACLE_HOME/dbs目录下 initoracle.ora即可
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 listener.ora中添加:(SID_DESC = (GLOBAL_DBNAME=全局数据库名) (ORACLE_HOME =依照相对应的路径来填) (SID_NAME = 数据库服务名) )
ORA-12154 TNS无法解析指定的连接标识符 重新进行配置网络,在服务端查询此数据库服务下的服务名,并重新检查配置,填写相对应虚拟机的IP地址,对于账号、口令登陆的问题,需要去sysdba用户下去设置。
  1. 用户忘记了数据库服务端的口令,导致在本地客户端进行配置网络服务时总是出现口令错误的提示
  • 解决办法:按照下面的操作步骤进行,这样使用修改后的用户名和口令就可以测试成功了。



    只能选择用户状态是open的用户进行重新设置口令的处理

参考文章

最后一点说明

这是我有史以来写过的最长最长的一篇安装配置教程了,大部分的内容步骤都还是大三选修所记录的实验报告内容。这段时间需要准备数据库知识的复习,这才重新拾起来,大体按照上面的步骤依次给重现了。让我意外的是,当时竟然没有po出一份安装配置教程放网上。所以,这次赶紧加了把劲,整理了这篇。

这里面有些地方可能比较混乱,一是因为图片量太大了,可能会有一些偏差,还有就是我得承认文中有用了几张别的地方的图片;二是因为这次的整个安装配置过程相当繁琐,很多地方可能会出现报错、失败等等,我还记得当年选修这门课第一个实验就是弄这个,当时Linux指令等一些知识还不够娴熟,好像前后花了三天时间才完事。

最后,我想说的就是,教程写的再完美,实际去操作的时候,每个人可能都难免会出现这样那样的问题,放在这篇来讲,出现最多的就是形如 “ORA-××××××” 的类似问题,出了问题并不可怕,去某度和谷歌搜一下“ORA-××××××”,只要不是特别棘手,基本上都能解决。

贴张图!!!

数据库系统入门 | Oracle Linux上部署Oracle 11g服务,并实现SSH远程登录管理的更多相关文章

  1. Dubbo入门到精通学习笔记(二):Dubbo管理控制台、使用Maven构建Dubbo的jar包、在Linux上部署Dubbo privider服务(shell脚本)、部署consumer服务

    文章目录 Dubbo管理控制台 1.Dubbo管理控制台的主要作用: 2.管理控制台主要包含: 3.管理控制台版本: 安装 Dubbo 管理控制台 使用Maven构建Dubbo服务的可执行jar包 D ...

  2. linux上部署rmi+memcache服务

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/50020437 最近在学习linux上搭建Rmi+Memca ...

  3. Oracle linux 6.3 安装11g R2 RAC on vbox

    1 安装系统 Virtual box 4.3 Oracle linux 6.3 Oracle 11g r2 Make sure "Adapter 1" is enabled, se ...

  4. 在 Oracle Linux 上使用 DTrace

    作者:Richard Friedman 简要介绍适用于 Oracle Linux 的 DTrace 探测器和提供程序,以及与 Oracle Solaris 中 DTrace 探测器和提供程序的区别.还 ...

  5. linux上备份Oracle时EXP-00091的错误解决方法

    unix/linux上备份Oracle时EXP-00091的错误解决方法 unix/linux上备份数据时的错误解决方法 EXP-00091: Exporting questionable stati ...

  6. linux上安装oracle

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

  7. 在Oracle Linux上安装dtrace

    http://www.ohsdba.cn/index.php?g=Home&m=Article&a=show&id=171   时间: 2016-10-09 00:40:04 ...

  8. [转载]linux上安装oracle

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

  9. ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档

    ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报  分类: Oracle RA ...

随机推荐

  1. [Leetcode Week13]Palindrome Partitioning

    Palindrome Partitioning 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/palindrome-partitioning/desc ...

  2. python基础===成员访问__len__()和__getitem__()

    class A: def __init__(self,*args): self.name = arg pass def __len__(self): return len(self.name) a = ...

  3. python基础===获取知乎标题时候,文件编码失败的总结

    总结一下,关于获取到的信息编码失败. 刚才在执行代码的时候,发现一个问题: 然后修改代码如下: '''爬取知乎界面的标题''' import requests import re import sys ...

  4. 【bzoj4695】最假女选手

    zcy的励志故事.jpg 傻逼zcy突然想立一个flag,写一个segment-tree-beats的题娱乐一下 于是他就想起了这道题. 他打算今晚写完 然后光是写他就写的头昏脑涨,还犯了询问写反这种 ...

  5. 初识ES6

    1.ECMAScript的官网地址:http://www.ecma-international.org/cma-262/6.0/,其是JS语言的下一代标准,已经在2015年6月正式发布,目标是让JS可 ...

  6. [hadoop][会装]hadoop ha模式安装

    1.简介 2.X版本后namenode支持了HA特性,使得整个文件系统的可用性更加增强. 2.安装前提 zookeeper集群,zookeeper的安装参考[hadoop][会装]zookeeper安 ...

  7. FineReport——插入行策略

    1.空值是默认的选项,即每次插入新行时,格子都是空白的. 2.原值即单元格中原有内容是什么,就复制到新增的格子中,一般适用于单元格是使用公式定义的, 在插入单元格时,公式会保留下来. 3.默认值即通过 ...

  8. Linux安全之密钥登录

    我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者 ...

  9. “无法识别的配置节system.webServer”解决办法

    在Winsows 2008 Server 上安装asp.net 1.1 的应用程序,在启用默认文档或者浏览目录时会向 web.config 文件添加 <system.webServer> ...

  10. java入门概念梳理总结

    Java入门学习 简介 public class HelloWorld { public static void main(String []args) { System.out.println(&q ...