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、点击虚拟机-右键-设置
[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文件夹
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/目录下。
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
运行报错: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
86%报错:Error in invoking target ‘agent nmhs’ of makefile
处理办法
https://note.youdao.com/ynoteshare/index.html?id=bb33c6fa8c08b49475b0be4d5c4f9da8&type=note&_time=1641554054660
解决方案
在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
[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
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
报错:bash: /usr/local/java/jdk1.8.0_311/jre/lib: Is a directory
vi /home/oracle/.bash_profile
在oracle用户的图形界面中,新开启一个终端,创建监听服务(充当oracle服务器,让别的客户端连接本oracle服务器)输入命令:
$ netca
这样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