OracleLinux环境安装Oracle数据库

1、安装linux系统
OracleLinux系统镜像下载地址
虚拟机安装系统步骤省略…

所有需要用到的软件包,如下:
包括:
OracleLinux镜像
JDK
Xshell
XFTP
Xmanager
Oracle 11g安装包

链接:[https://pan.baidu.com/s/1kt0BACziOhqvLmjHzklRVA](https://pan.baidu.com/s/1kt0BACziOhqvLmjHzklRVA) 
提取码:hu9a 
--来自百度网盘超级会员V6的分享

2、点击虚拟机-右键-设置

OracleLinux环境安装Oracle数据库_第1张图片
3、镜像的“已连接”要勾上

OracleLinux环境安装Oracle数据库_第2张图片
4、进入linux系统
在root用户下执行一下代码

[root@localhost ~]# mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
#mount -o loop /opt/CentOS-7.6-x86_64-bin-DVD.iso /mnt/cdrom

mkdir /etc/yum.repos.d/old
mv -f /etc/yum.repos.d/*.repo /etc/yum.repos.d/old
cat>/etc/yum.repos.d/iso.repo<<scc
[iso]
name=iso
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
scc


注意!!!!!

以上步骤针对在虚拟机上安装。如果在物理机上安装需要挂载镜像。如果是虚拟机,跳过这一部分。(从这边以下开始)**
参考文章
https://www.cnblogs.com/jylee/p/10955434.html

安装Centos后默认的Yum源如下

 ll /etc/yum.repos.d/

把默认Yum源备份(可选)

[root@localhost ~]# mkdir /opt/centos-yum.bak
[root@localhost ~]# mv /etc/yum.repos.d/* /opt/centos-yum.bak/

将iso镜像上传到虚机上放到该目录下
[root@localhost ~]#mkdir /mnt/iso
然后挂载:

[root@localhost ~]# mount -t iso9660 /mnt/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom

编写repo文件并指向镜像的挂载目录

[root@localhost ~]#vi /etc/yum.repos.d/local.repo

添加下面的内容:

[local]
name=local
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
 [root@localhost ~]#yum clean all 
[root@localhost ~]#yum makecache    把Yum源缓存到本地,加快软件的搜索好安装速度
[root@localhost ~]#yum list         列出了yum包

查看yum仓库列表

[root@localhost ~]#yum repolist

开机自动挂载
在/etc/fstab表中,添加最后的一行,将iso文件永久挂载到系统中

[root@localhost ~]#vi /etc/fstab
/mnt/iso/CentOS-7-x86_64-DVD-1810.iso /opt/centos iso9660 loop 0 0

注意!!!!内容结束

以上部分为物理机需要设置的,虚拟机安装的话,可以跳过这部分(到这边结束)


[root@localhost ~]# yum clean all
[root@localhost ~]# yum repolist
[root@localhost ~]#yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel ksh numactl-devel

5、检查依赖包

[root@localhost ~]#rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat

6、在linux的根目录创建一个soft文件夹,将oracle安装包拷贝到soft文件夹

OracleLinux环境安装Oracle数据库_第3张图片

7、修改操作系统核心参数
在Root用户下执行以下步骤:

修改用户的SHELL的限制,修改/etc/security/limits.conf文件

输入命令:[root@localhost ~]#vi /etc/security/limits.conf,按i键进入编辑模式,加入内容。

oracle   soft    nproc    4096
oracle   hard    nproc    16384
oracle   soft    nofile    4096
oracle   hard    nofile    65536

编辑完成后按Esc键,输入“:wq”存盘退出

8、修改/etc/pam.d/login 文件,输入命令:[root@localhost ~]#vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

session   required    /lib/security/pam_limits.so
session   required    pam_limits.so

编辑完成后按Esc键,输入“:wq”存盘退出

报错:虚拟机(或者物理机)用户无法登陆,但是xshell可以连接并登录
处理方法:

session   required    /lib/security/pam_limits.so
改成
session   required    /lib64/security/pam_limits.so

9、修改linux内核文件,/etc/sysctl.conf,输入命令: [root@localhost ~]#vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

kernel.shmall=4294967296
kernel.shmmax=68719476736
fs.file-max=6815744
fs.aio-max-nr=1048576
kernel.shmmni=4096
kernel.sem=800 113600 800 142
net.ipv4.ip_local_port_range=1024 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048576

编辑完成后按Esc键,输入“:wq”存盘退出

各参数意义如下:

(1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位),通常将其设置为2G或更大。

(2)shmmni:用于设置系统范围内共享内存段的最大数量。默认值是 4096 ,通常不需要更改。

(3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,如系统自动生成则不需要修改。

(4)sem:该参数表示设置的信号量,当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEM设置 如:kernel.sem = 250 32000 100 128各数据段含义如下。
SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,如当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。
SEMMNS参数应设置为SEMMSLSEMMNI,如例SEMMSL为5010,SEMMNS参数应为(5010128)=641280。
SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010

(5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。

(6)rmem_default — 默认的TCP/IP接收缓冲大小

(7)rmem_max — 最大的TCP/IP接收窗口的大小

(8)wmem_default — 默认的TCP/IP发送窗口大小

(9)wmem_max — 最大的TCP/IP发送窗口的大小

10、要使 /etc/sysctl.conf 更改立即生效,执行以下命令:

 [root@localhost ~]#sysctl -p

11、编辑 /etc/profile ,输入命令: [root@localhost ~]#vi /etc/profile,按i键进入编辑模式,加入下列内容。

if [ $USER = "oracle" ]; then  
if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
else
       ulimit -u 16384 -n 65536
fi
fi

编辑完成后按Esc键,输入“:wq”存盘退出

12、创建用户和组。

创建组:
 [root@localhost ~]#groupadd  oinstall
 [root@localhost ~]#groupadd  dba

创建Oracle用户和密码:
 [root@localhost ~]#useradd -g oinstall -G dba  oracle
 [root@localhost ~]#passwd  oracle

然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认

13、创建数据库软件工作目录和数据文件存放目录,根据自己的情况来定

 [root@localhost ~]#mkdir /home/oracle/app
 [root@localhost ~]#mkdir /home/oracle/app/oraInventory
 [root@localhost ~]#mkdir /home/oracle/app/oracle
 [root@localhost ~]#mkdir /home/oracle/app/oracle/product
 

14、更改目录属主为Oracle用户所有,输入命令:

 [root@localhost ~]#chown -R oracle:oinstall /home/oracle/app
 [root@localhost ~]#chown -R oracle:oinstall /home

15、安装Java环境
15.1JDK下载地址
https://www.oracle.com/java/technologies/downloads/#java8

15.2创建目录
在/usr/目录下创建java目录,

mkdir /usr/local/java
cd /usr/local/java

15.3把下载的文件 jdk-8u311-linux-i586.tar.gz放在/usr/local/java/目录下。
OracleLinux环境安装Oracle数据库_第4张图片
15.4解压 JDK

tar -zxvf jdk-8u311-linux-i586.tar.gz

15.5设置环境变量

修改 vi /etc/profile

set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_311      
JRE_HOME=/usr/local/java/jdk1.8.0_311/jre     
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

注意:其中 JAVA_HOME, JRE_HOME 请根据自己的实际安装路径及 JDK 版本配置。

15.6让修改生效:

source /etc/profile

15.7测试

java -version

如果报bash: /usr/local/java/jdk1.8.0_311/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file 错误
执行以下语句

sudo yum install glibc.i686

显示 java 版本信息,则说明 JDK 安装成功

16、配置oracle用户的环境变量,要在oracle用户下进行操作。
输入:

 [root@localhost ~]#su oracle
[oracle@localhost root]$vi /home/oracle/.bash_profile

17、按i进入编辑模式,增加以下内容:

export EDITOR=vi
export ORACLE_SID=orzdh
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export INVENTORY_LOCATION=/home/oracle/app/oraInventory
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG="American_america.zhs16gbk"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
umask 022
export JAVA_HOME=/usr/local/java/jdk1.8.0_311
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

18、安装ORAClE
1 安装准备

[root@localhost soft]# yum install unzip zip
[root@localhost soft]#chown -R oracle /soft

1)退出系统以Oracle用户登陆。

2)首先将Oracle软件安装包复制到linux系统中的一个目录下,确保Oracle用户对此目录有足够权限。

3)打开一个终端,运行unzip命令解压oracle软件安装包。

[oracle@localhost soft]$ unzip  p13390677_112040_Linux-x86-64_1of7.zip
[oracle@localhost soft]$ unzip  p13390677_112040_Linux-x86-64_2of7.zip

解压完成后生成新目录database,进入解压后的database目录查看。

[oracle@localhost soft]$ cd /soft/database

[oracle@localhost soft]$ ls

在本机查看实体机的ip地址:
然后将ip地址替换,执行下面代码

[oracle@localhost /]$export DISPLAY=192.168.2.101:0.0
[oracle@localhost /]$export LANG=en_US.UTF-8

安装xmanager 5
打开Xstar
OracleLinux环境安装Oracle数据库_第5张图片
运行报错:bash: /usr/bin/xterm: No such file or directory
解决方法:
切换回root用户

yum install -y xterm

运行报错:已拒绝x11转移申请 要解决此问题请激活远程

yum install xorg-x11-xauth

开始安装:
Oracle用户下进行:

[oracle@localhost /]$ su  oracle
[oracle@localhost /]$ cd /soft/database
[oracle@localhost /]$ ./runInstaller  

OracleLinux环境安装Oracle数据库_第6张图片

OracleLinux环境安装Oracle数据库_第7张图片

OracleLinux环境安装Oracle数据库_第8张图片
OracleLinux环境安装Oracle数据库_第9张图片
OracleLinux环境安装Oracle数据库_第10张图片
OracleLinux环境安装Oracle数据库_第11张图片

86%报错:Error in invoking target ‘agent nmhs’ of makefile
处理办法
https://note.youdao.com/ynoteshare/index.html?id=bb33c6fa8c08b49475b0be4d5c4f9da8&type=note&_time=1641554054660
OracleLinux环境安装Oracle数据库_第12张图片

解决方案
在makefile中添加链接libnnz11库的参数
修改$ORACLE_HOME/sysman/lib/ins_emagent.mk,将
( M K E M A G E N T N M E C T L ) 修 改 为 : (MK_EMAGENT_NMECTL)修改为: (MKEMAGENTNMECTL)(MK_EMAGENT_NMECTL) -lnnz11
建议修改前备份原始文件

[oracle@ysserver ~]$ cd $ORACLE_HOME/sysman/lib
[oracle@ysserver lib]$ cp ins_emagent.mk ins_emagent.mk.bak
[oracle@ysserver lib]$ vi ins_emagent.mk

进入vi编辑器后 命令模式输入/NMECTL 进行查找,快速定位要修改的行
在后面追加参数-lnnz11 第一个是字母l 后面两个是数字1

保存退出后Retry

OracleLinux环境安装Oracle数据库_第13张图片

OracleLinux环境安装Oracle数据库_第14张图片
切换回root用户

[root@localhost /]# /home/oracle/app/oraInventory/orainstRoot.sh
[root@localhost /]#/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh

安装完成
创建数据库实例
在oracle用户中,新开启一个终端,输入命令:

[oracle@localhost /]$ dbca

报错:bash: dbca: command not found

编辑/etc/profile文件,添加CLASSPATH变量
[root@localhost /]#vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

OracleLinux环境安装Oracle数据库_第15张图片
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

报错:bash: /usr/local/java/jdk1.8.0_311/jre/lib: Is a directory
vi /home/oracle/.bash_profile

OracleLinux环境安装Oracle数据库_第16张图片
修改JRE_HOME的路径

OracleLinux环境安装Oracle数据库_第17张图片
OracleLinux环境安装Oracle数据库_第18张图片
OracleLinux环境安装Oracle数据库_第19张图片
配置监听及本地网络服务

在oracle用户的图形界面中,新开启一个终端,创建监听服务(充当oracle服务器,让别的客户端连接本oracle服务器)输入命令:

$ netca

OracleLinux环境安装Oracle数据库_第20张图片
OracleLinux环境安装Oracle数据库_第21张图片
OracleLinux环境安装Oracle数据库_第22张图片
OracleLinux环境安装Oracle数据库_第23张图片
OracleLinux环境安装Oracle数据库_第24张图片
OracleLinux环境安装Oracle数据库_第25张图片
OracleLinux环境安装Oracle数据库_第26张图片
OracleLinux环境安装Oracle数据库_第27张图片
OracleLinux环境安装Oracle数据库_第28张图片
OracleLinux环境安装Oracle数据库_第29张图片
OracleLinux环境安装Oracle数据库_第30张图片
OracleLinux环境安装Oracle数据库_第31张图片
OracleLinux环境安装Oracle数据库_第32张图片
OracleLinux环境安装Oracle数据库_第33张图片

这样oracle服务器安装配置基本就完成了。

第一步:登陆
root登陆之后切换到oracle用户上,输入

su oracle

第二步:连接
在oracle用户下,输入

sqlplus /nolog
第三步:使用管理员权限 ,输入

connect /as sysdba
第四步:启动/关闭服务,输入

startup

第五步:如果是启动服务,要开启监听
退出sqlplus模式,输入 :exit 或者ctrl+d 退出

开启监听
lsnrctl start

Centos7默认安装了firewalld,如果没有安装的话,可以使用 yum install firewalld firewalld-config进行安装。

1.启动防火墙

systemctl start firewalld
2.禁用防火墙

systemctl stop firewalld
3.设置开机启动

systemctl enable firewalld
4.停止并禁用开机启动

sytemctl disable firewalld
5.重启防火墙

firewall-cmd --reload
6.查看状态

systemctl status firewalld或者 firewall-cmd --state

你可能感兴趣的:(Oracle,Linux,数据库,oracle,linux)