贴上与此次安装相关文件、安装包的连接:html
dqa0
jel2
如遇连接失效,Mail To
nanzhouieATqq.com
!linux
virtualbox
虚拟机(我更喜欢的是VMware
);Oracle Linux
;Oracle Linux
上安装Oracle 11g
;TNS
,使得能够远程访问数据库服务器。ssh
登陆数据库服务器,进行数据库实例管理。i*sqlplus
或者第三方管理软件登陆服务器,进行数据库实例管理。HR
的模式(建议使用官方脚本)。名称 | 版本号 |
---|---|
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 |
HR(Human Resource)
模式所需的脚本执行文件;TNS
服务所须要的tnsname.ora
、listener.ora
文件。ps:以上这些安装、配置、脚本文件在上面我分享的百度云连接文件中都能找到。c++
1.在虚拟机中导入老师提供的 DOC-1002902.ova
文件,因为实验室32位PC机的缘由,导入过程老是以失败结束;所以改选64位PC机(配载VM虚拟机)
来操做。
2.在VM虚拟机成功安装Oracle linux
(个人帐户登陆密码 oracle ),能够去设置语言、时区、用户名及密码等。
web
Content | Instruction |
---|---|
检查物理内存 | grep MemTotal /proc/meminfo |
查看交换分区 | grep SwapTotal /proc/meminfo |
查看当前内存使用状况 | free |
PS:这一类指令能够有不少,但其实只要在以前导入虚拟机文件过程没有什么异常,不是颇有必要去了解这些硬件环境信息,那么这一步能够跳过。sql
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
yum search/install
命令将这些未安装的依赖包所有安装到服务端。yum
快速安装oracle预装环境——yum install oracle-rdbms-server-11gR2-preinstall
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
的对应关系,应当在前面加上#
注释掉或者直接删掉。docker
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
去设置里面找到users
,解锁并修改已经生成的oracle
用户密码,再切换用户登陆到oracle
下。
数据库
在终端输入命令:unzip oracle11g 11.2.0.4
两个安装文件(也能够手动合并到同一个文件夹下),进入安装文件中的目录database
,运行命令: ./runInstaller
同时,若是因为环境配置的缘由,发现随后安装界面出现乱码
,那么最好在执行安装以前添上这样一条语句:export LANG=en_US_UTF-8
。
在随后出现的安装界面中,依次选择以下:编程
Next
便可)next
,出现弹窗点击Yes
;install software only
。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
就已经成功了在选择TCP/IP端口号时,可能会出现一个弹窗提示:默认的1521端口可能被占用。经过查找并无发现被占用问题,所以选择Yes继续。
bash
至此,Oracle服务端实例数据库建立完毕。服务器
下载putty.exe
,打开之后,安装下图填入相对应信息(虚拟机IP地址能够在网络设置中找到,同时,建议虚拟机端网络链接方式选择仅主机模式)进行测试(确保虚拟机处于开启状态)。
listener.ora
、tnsnames.ora
文件(两个文件里面的内容以下所示)放到以下所示目录下。在全部程序中找到Net Configuration Assistant
,进入配置界面操做以下。在测试链接过程当中更改登陆若是忘了数据库服务端密码(以sys
用户为例),则须要从新给sys
设置密码(详见后面的实验问题及解决办法)。
进入cmd
测试以下,说明数据库监听配置无误
打开Toad for Oracle
中的toad.exe
启动,输入数据库服务端用户名以及密码后成功链接会出现以下的工做界面。
在以下所示目录中,将已准备好的脚本文件粘贴过来
进入数据库层面,按照下面流程执行hr_main.sql
这个脚本文件设置参数,就能够解锁HR用户并构建HR模式
,且数据表中都有初始样例数据。
Linking Text File
出失败,且界面卡死在那里。Prerequisite Checks
阶段忽略全部错误继续下一步,随后完成安装。错误类型 | 错误缘由 | 解决方案 |
---|---|---|
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-0107八、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用户下去设置。 |
open
的用户进行从新设置口令的处理这是我有史以来写过的最长最长的一篇安装配置教程了,大部分的内容步骤都仍是大三选修所记录的实验报告内容。这段时间须要准备数据库知识的复习,这才从新拾起来,大致按照上面的步骤依次给重现了。让我意外的是,当时居然没有po出一份安装配置教程放网上。因此,此次赶忙加了把劲,整理了这篇。
这里面有些地方可能比较混乱,一是由于图片量太大了,可能会有一些误差,还有就是我得认可文中有用了几张别的地方的图片;二是由于此次的整个安装配置过程至关繁琐,不少地方可能会出现报错、失败等等,我还记得当年选修这门课第一个实验就是弄这个,当时Linux指令等一些知识还不够娴熟,好像先后花了三天时间才完事。
最后,我想说的就是,教程写的再完美,实际去操做的时候,每一个人可能都不免会出现这样那样的问题,放在这篇来说,出现最多的就是形如 “ORA-××××××
” 的相似问题,出了问题并不可怕,去某度和谷歌搜一下“ORA-××××××
”,只要不是特别棘手,基本上都能解决。
贴张图!!!