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

第一次接触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重新进行了安装。

596774788f685e5d1bafc60c4f6b5048.png

  • 搭建Centos虚拟机环境

be1545c3e8bd0d33dd560230e51d4ab2.png

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

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

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

aa3d4d2968160675dcf1c75893fa0207.png

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

3f40bf0750ba7f3fd33a96b1f9cade43.png

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

5d64651bc47070bb57ed433a9f6450bd.png

完成上述设置后,重新进入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 stop

iptables: 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/config

SELINUX=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/lib

export 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』

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

bcfb819fc8501f9d367d3ba83b54711e.png

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

e5c1c4d188350ec8783587f9d9bed1c7.png

a0506f6d0b3b23596e886e0ef0744554.png

fb5d1ede7fda7ca5bc7d31665888eb27.png

843bbe4497fa6ce8407afc1314805427.png

④ 安装路径如下设置

27c74dd974b8df8ad74660aa7d2494bb.png

2cc8762923fb70bb9239c7ba38c69394.png

02d833986dc4d319a5c7723e3a584296.png

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

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

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

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

99c66d88113b84f559a9b709549977d3.png

解决方案:修改$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
cba93406f9a9be524f9fbe4211bf61cc.png

  • 创建数据库

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

b691f26e61fc6a8bf087473f9efd4345.png
取消该属性勾选

ec9275e8615d98417feae4f54157d70a.png
设置数据库文件安装路径

e647ea66392c0a18a87ac591e4a348ff.png
修改编码格式

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

⑴ 报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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值