第一次接触Centos与ORACLE,网上找了很多资料,虚拟机安装过程也碰到了很多问题,终于初步安装成功,但是其中也发现很多步骤只是单纯照着做,并没有了解其中的原由,故记录一下,以便后期的回顾,也希望能够帮助有和我一样情况的人,文中有很多疑问,希望了解的大佬能够帮忙解答一下,谢谢~

环境参数

系统:Centos6.10(确保安装图形界面)

ORACLE:Oracle 11R2


安装步骤

我并没有使用VMware,使用的是Oracle公司的Virtual box,只是单纯偶然网上找到了Virtual box,在使用过程中也并没有发现什么问题,而且Virtual box似乎更加小巧。

  • 下载安装Virtual box,下载Centos镜像文件

注意:这里我下载的是Centos 6镜像文件,并没有采用最新的Centos 7,我曾使用Centos 7搭建环境安装Oracle,但是发现出现了一个内核问题 -- OS Kernel Parameter: semmni,网上有人说是Centos 7的问题,也有人说这个问题如果你已经做了内核设置了,可以直接忽略。为了偷懒,而且网上大多数教程都是针对Centos 6的,我就又重新下载了Centos 6重新进行了安装。


  • 搭建Centos虚拟机环境

按着知道依次完成虚拟机配置后,点击启动,会提示没有系统镜像文件,此时选择之前下载好的镜像文件进行安装即可。

安装完成后,先关闭系统,需要进行如下两个操作,完成虚拟机网络配置及鼠标配置。安装完成后的虚拟机是无法与本地电脑互相ping通,且Centos系统安装完成后,鼠标指针无法显示。

安装了virtual box后,会新增一个虚拟网卡,我这边将虚拟网卡设置了一个静态IP。

在系统设置中,修改指定设备

在网络设置中,网卡1设置为NAT网络,新增网卡,并将连接方式设置为 仅主机(Host-Only)网络

完成上述设置后,重新进入Centos系统即可正常使用网络与鼠标。


  • 虚拟机空间调整

在虚拟机创建完成后,发现磁盘空间分配存在许多问题,当前文件系统采用的是LVM形式,相关LVM中挂载盘进行大小调整的方法,可参考我之前发布的总结文章。

杰米尼:LVM——让Linux磁盘空间的弹性管理​zhuanlan.zhihu.com


  • 检查SSH服务是否正常开启(为了后续文件传输及通过XShell能够访问服务器)

1. rpm -qa | grep ssh 指令进行ssh服务包检测。

2. 若未检测到 已安装了SSH包,则可通过命令 yum install yopenssh-server 进行安装。

3. 若SSH已安装,则通过命令 service sshd status(/etc init.d/sshd status) 来确定SSH服务是否正在运行。

4. 查看22端口正在SSH使用,`netstat -antp | grep sshd`。会打印当前ssh正在端口号。

5. 检查SSH是否为自启动,chkconfig --list sshd。若2、3、4、5三项都为启动则说明已设置为开机启动,否则通过命令『chkconfig --level 2345 sshd on』设置即可。

6. 设置SSH服务为开机自动启动,『chkconfig sshd on』。


  • 检查Oracle安装的依赖包是否安装

需要安装的软甲包如下:
① binutils ② compat-libstdc++-33 ③ elfutils-libelf ④ elfutils-libelf-devel ⑤ gcc
⑥ gcc-c++ ⑦ glibc ⑧ glibc-common ⑨ glibc-devel ⑩ glibc-headers
⑪ pkdsh(找不到) ⑫ cvuqdisk(找不到) ⑬ libaio ⑭ libaio-devel ⑮ libgcc
⑯ libgomp ⑰ libstdc++ ⑱ libstdc++-devel ⑲ make ⑳ numactl-devel ㉑ sysstat ㉒ unixODBC ㉓ unixODBC-devel

其中有部分软件包找不到,就跳过了安装,希望知道这些软件包左右的大佬能够指点迷津,小弟只是单纯的按着官方文档或者一些博客论坛教程模仿操作,知其然不知其所以然。

⑴ 服务器能够访问Internet的情况下

使用 『rpm -qa | grep 软件包名』检测是否安装软件包;
也可以直接使用 『yum install 软件包名』的方式直接安装软件包,若软件包已安装会自动退出。

⑵ 服务器无法访问Internet的情况下

通过挂载linux对应的安装镜像ISO文件,将对应的镜像文件Package文件夹中的rpm安装文件拷贝到系统中后,通过『rpm -ivh 软件包名』方式进行安装,若在Package中找不到,则需要通过网络下载后进行安装。


  • Linux下的环境配置

1. 创建用户组 oinstall、dba

[root]$ groupadd oinstall
[root]$ groupadd dba

2. 新建用户 oracle ,并加入 oinstall、dba 用户组,并初始化密码

[root]$ useradd -g oinstall -G dba oracle
[root]$ passwd oracle


  • 配置Linux内核参数

在root用户模式下修改内核配置文件 『/etc/sysctl.conf』,在文档最后增加如下内容

# 异步 I/O 的请求数目
fs.aio-max-nr = 1048576# 一个进程可以打开的文件句柄的最大数目
fs.file-max = 6815744# 控制共享内存页数
kernel.shmall = 2097152      # 共享内存段的最大尺寸
kernel.shmmax = 4294967295  # 共享内存段的最大数量
kernel.shmmni = 4096         # 设置的信号量
kernel.sem = 250 32000 100 128    # 指定了应用程序所能使用的IPV4的端口范围
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       

设置完成后保存,使用如下指令设置生效

[root@localhost]# sysctl -p

相关的内核变量含义可参考如下链接:

安装Oracle需要调整的linux内核参数 - colben - 博客园​www.cnblogs.com


  • 配置资源使用情况

修改配置文件『/etc/security/limits.conf』,官方配置文档键入如下修改:

在文档最后添加如下配置信息:#oracle
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
oracle           soft    stack           1024
oralce           hard    stack           32768

小弟不才,对于某些内存、硬件知识不了解,所以相关参数意义并不是特别理解,(希望了解这些参数设置意义的大神能帮我解答下疑惑)详情可以自行百度或者参考如下链接:

linux系统资源限制 - Mr.Sylar - 博客园​www.cnblogs.com


  • 关闭Selinux与防火墙

⑴ Centos 中关闭防火墙的方法

# 关闭防火墙
[root]$ service iptables stopiptables: Setting chains to policy ACCEPT: filter [ OK ]iptables: Flushing firewall rules: [ OK ]iptables: Unloading modules: [ OK ][root]$ chkconfig iptables off# 关闭Selinux[root]$ /usr/sbin/sestatus –v[root]$ vi /etc/selinux/configSELINUX=disabled

⑵ RHEL 7 中关闭防火墙的方法

[root]$ systemctl stop firewalld.service


  • 创建相关目录结构,修改对应的权限信息

需要创建如下两个目录:

① oracle 的基准目录(base directory),该目录根据个人情况创建即可,后续再oracle图形界面安装的时候会使用到

[root]$ mkdir -p /oracle/app/oracle[root]$ chown -R oracle:oinstall /oracle


  • 配置oracle用户环境变量

该步骤可在ORACLE安装完成后进行,具体配置信息根据oracle实际安装路径进行配置。

① 切换至oracle,进入home目录,编辑 .bash_profile 文件

[root]$ su oralce
[oracle]$ cd ~
[oracle]$ vi .bash_profile

② 在文件最后添加如下信息

export ORACLE_BASE=/oracle/app/oracle     # oracle的安装根目录export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1  # oracle文件目录export ORACLE_SID=oracledb            # oracle 的SID名称export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin   # 配置PATH变量     export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/libexport LANG="en_US.UTF-8"   # 为了防止oracle安装过程中出现中文乱码情况

③ 修改完成后保存,并使用『source .bash_profile』命令应用配置文件


  • 上传 oracle 安装包,解压后进行安装

① 上传安装包,我使用的是xftp工具,百度搜索便可下载

② 确保使用oracle用户进行上传,否则在文件解压时,或者安装oracle时会有权限问题,记得将文件上传到oralce的home目录下,确保用户具有权限

③ 使用解压命令『unzip 文件名称』解压文件


  • 安装oracle

① 进入解压目录,执行『./runinstaller』指令安装oracle

在实际安装过程中,在虚拟机中我发现所有的弹窗报错和提示信息都很小,无法看到,这里在网上找到一个解决方法

https://blog.csdn.net/sdut406/article/details/81463758​blog.csdn.net

使用如下指令安装:

『./runInstaller -jreLoc /etc/alternatives/jre_1.8.0』

② 取消安全更新选项勾选,进入下一步

③ 选择安装数据库,不创建数据库实例

④ 安装路径如下设置

⑤ 进入下一步检测相关内核参数及插件安装时,会提示很多条件不符合,但是实际已经安装过了,在查阅一些资料后,发现在某些发行版中会出现这个问题,只要默认忽略即可。

⑥ 运行完成后即可完成数据库软件安装。

安装过程中我曾遇到过的错误问题:

⑴ 86%报错:Error in invoking target 'agent nmhs' of makefile

解决方案:修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将 $(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11 (注意修改文件前,先将源文件备份,以防修改后出现程序问题)

[oracle]$ cd $ORACLE_HOME/sysman/lib
[oracle]$ cp ins_emagent.mk ins_emagent.mk.bak
[oracle]$ vi ins_emagent.mk
通过 /搜索词 搜索对应位置后,进行修改

完成上述修改后保存,点击retry继续安装

参考链接:

【Oracle】Linux7安装11g Error in invoking target 'agent nmhs' of makefile​blog.itpub.net


  • 创建数据库

① 在控制台中输入『dbca』运行 Database Configuration Assistant(数据库配置助手),完成如下配置,创建数据库实例。

取消该属性勾选
设置数据库文件安装路径
修改编码格式

创建数据库过程中我曾遇到过的错误问题:

⑴ 报TNS-12532: TNS:invalid argument错误

解决方案:设置密码时使用了 “@”符号,修改即可

参考链接:

Oracle报错TNS-12532: TNS:invalid argument​www.cnblogs.com


  • 修改监听服务配置文件,设置IP

①编辑 $ORACLE_HOME/network/admin/tnsnames.ora 文件,在文件最后添加如下内容

OracleDB=                            # 任意名称(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 本机ip地址)(PORT = 1521))  #设置本地IP地址)(CONNECT_DATA =(SERVICE_NAME = oracledb)       # ORACLE_SID名称))

② 设置完成后,重启监听服务 『lsnrctl 』及数据库服务

# 重启监听服务
[oracle]$ lsnrctl stop
[oracle]$ lsnrctl start# 重启数据库服务
SQL> shutdown immediate
SQL> startup

启动数据库实例时遇到问题:

⑴ Oracle报ORA-01078和LRM-00109错解决方法

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2/db_1/dbs/initorcl.ora'

解决方案:

11G Oracle报ORA-01078和LRM-00109错解决方法​blog.itpub.net

⑶ ORA-01102 的解决办法

SQL> startup
ORACLE instance started.
Total System Global Area 1.7103E+10 bytes
Fixed Size                  2243608 bytes
Variable Size            8455717864 bytes
Database Buffers         8623489024 bytes
Redo Buffers               21712896 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

解决方案:

ORA-01102 的解决办法_ITPUB博客​blog.itpub.net

  • window安装 PL/SQL 后进行服务器连接测试

具体方法可参考我之前的文章:

杰米尼:PLSQL连接ORACLE配置说明​zhuanlan.zhihu.com


  • ORACLE EMCTL服务的创建与开启

ORACLE10之后,添加了EMCTL功能,便于用户通过网页登录ORACLE管理页面,检测ORACLE相关性能问题,完成上述所有操作后,ORACLE已可以正常使用,但是我发现EMCTL是没有开启的,测试方法是,通过浏览器访问网址: https://localhost:1158/em ,若能打开配置界面则说明 EMCTL 服务正常。

通过查找相关资料,发现如下解决方法:

① 首先通过命令 检测是否能够正常开启 EMCTL 服务

[oracle@test ~]$ emctl start dbconsole
OC4J Configuration issue. /u01/app/oracle/product/11.2.0/dbhome_1/oc4j/j2ee/OC4J_DBConsole_test_orcl not found.

② 若出现步骤1中错误,则需要重新配置 EMCTL 服务

[oracle@test ~]$ emca -config dbcontrol db
# 按提示完成输入相关属性值后完成设置即可

③ 通过网页 https://localhost:1158/em 观察能否正确打开EMCTL控制页面

常见的 EMCTL操作

emca -repos create创建一个EM资料库
emca -repos recreate重建一个EM资料库
emca -repos drop删除一个EM资料库
emca -config dbcontrol db配置数据库的 Database Control
emca -deconfig dbcontrol db删除数据库的 Database Control配置
emca -reconfig ports 重新配置db control和agent的端口
emctl start console启动EM console服务,使用前需要先设置ORACLE_SID环境变量
emctl stop console停止EM console服务,使用前需要先设置ORACLE_SID环境变量
注:通过查看$ORACLE_HOME/install/portlist.ini 文件可以知道当前dbcontrol正在使用的端口,默认dbcontrol http端口1158,agent端口3938。如果要重新配置端口,可以使用如下命令:
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939
使用命令行工具emctl可以启动/停止console服务,察看服务状态等。

参考链接:

https://blog.csdn.net/pilearn/article/details/8817937​blog.csdn.net

centos oracle 修改监听服务名_虚拟机(Oracle Virtual Box)下ORACLE的安装相关推荐

  1. centos oracle 修改监听服务名_Oracle-Oracle DB、监听和oem开机启动

    1.Windows Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修改"我的电脑-->管理-->服务-->OracleService$ORACLE_ ...

  2. centos oracle 修改监听服务名_Oracle架构详解

    01 前言 学习任何一门科学,都要从他的背景和宏观体系开始,那么数据库也不例外. 体系结构为什么重要,因为体系结构是对一个系统的框架描述,只有从宏观上掌握它的物理组成.文件组成和各种文件组成,在实际工 ...

  3. Oracle客户端监听服务配置方法

    Oracle客户端监听服务配置方法 可直接修改tnsnames.oRA文件 Oracle客户端中一般有两个tnsnames.oRA文件,配置监听要修改的是Oracle客户端家目下的$ORACLE_HO ...

  4. Oracle修改监听IP地址

    oracle 11g断网安装时,没有检测net的功能,所以安装完后,netstat -an 发现自动监听的是127.0.0.1:1521,这样安装完成后,其他的主机根本无法连接,是什么原因呢? 排错后 ...

  5. [转]Oracle修改监听口令

    oracle 的监听机制 是外部应用程序连接oracle的入口.用oracle提供的lsnrctl 程序进行管理.一般很多人在管理oracle的时候,往往忽略对listener 的安全管理:监听在端口 ...

  6. oracle停监听服务,ORACLE监听服务启动后又停止了的解决

    ORACLE监听服务启动后又停止了的解决 今天碰到的问题: 首先,连接数据库时报错:"Io 异常: The Network Adapter could not establish the c ...

  7. linux下oracle端口修改,Oracle 修改监听端口号1521

    在Oracle中,默认的监听端口号为1521,一旦有人扫描出这个端口号就会知道此服务器为Oracle数据库服务器,存在极其大的安全隐患,在这里,教大家如何修改Oracle默认端口号为9999: 1.查 ...

  8. Oracle 修改监听端口号1521

    在oracle中,默认的监听端口号为1521,一旦有人扫描出这个端口号就会知道此服务器为oracle数据库服务器,存在极其大的安全隐患,在这里,教大家如何修改oracle默认端口号为9999: 1.查 ...

  9. oracle增加网络服务,Oracle 配置监听和本地网络服务

    一.配置监听 在oracle的配置和移植工具中打开Net Configuration Assistant,然后点击下一步. 点击下一步,然后输入监听的名称点击下一步 点击下一步后如图 点击下一步如图 ...

  10. oracle 监听服务正常,连接报错 ora 12541

    问题描述: 数据库监听服务正常运行,使用sql plus 连接数据库超级慢或无法连接,时不时报错 ORA 12541 问题原因: oracle 数据库监听服务日志过大 解决办法 将监听停止掉 删除 $ ...

最新文章

  1. 用友 传入的 json 格式无效_用友网络股吧:被错杀的半导体材料龙头,全年或60%高增长,刚刚走出黄金坑...
  2. 院士王坚:坚持你相信的事,相信你坚持的事
  3. Android学习笔记:ScrollView卷轴视图
  4. 2022年全球及中国工业用真空电缆行业十四五产能需求与投资战略研究报告
  5. python中的print
  6. TypeScript模块系统、命名空间、声明合并
  7. Python3实现最小栈
  8. CSS实现半透明div层的方法
  9. windows延缓写入失败相关问题解决办法
  10. display:none和visibility:hidden两者的区别
  11. 用源生的JavaScript编写一个异步的ajax库
  12. HP Unix vsftp服务配置
  13. win10上的docker怎么设置开机不要自动启动 [问题点数:20分,结帖人xyq1986]
  14. 写了个SQL语句,发到这里留念
  15. post .php程序,php程序内部post数据的方法
  16. 【073】Android 数据存储(SQLite)
  17. OSGi.NET 学习笔记 [模块化和插件化][概念]
  18. Diffusion扩散模型简述 + 代码demo
  19. easyx——c语言实时动画时钟
  20. iPhone屏幕尺寸、statusBar、navigationBar、tabBar高度对比

热门文章

  1. 【传感器学习】光电反射传感器
  2. Win11怎么把手机投屏到电脑上?
  3. R语言中同比增长和环比增长
  4. 同步机制应遵循的准则
  5. “踢爆”职场焦虑、玩机车、文科转大厂程序媛,乘风破浪的 IT 女神太飒了!
  6. 《图解TCP/IP》读书笔记
  7. Vuforia SDK导入问题Vuforia.UnityExtensions Consider removing one of the references or sign the assembl
  8. 计算机合成图像的过程码,专转本计算机习题
  9. matlab实现多元高斯分布概率密度计算
  10. C++写入并追加内容到txt中