Centos 7下安装配置Oracle 11g(零基础)

一、硬件配置

CentOS 7@VMware Vsphere,分配资源:CPU:4颗,内存:8GB,硬盘空间:200GB

二、软件准备 

linux.x64_11gR2_database_1of2.zip 

linux.x64_11gR2_database_2of2.zip 

SecureCRT / Xshell6  & VNC for Windows  (VNC教程后续我会补上)

方法一:用你需要安装ORACLE的虚拟机直接从官网下载Linux版本的安装包

方法二:windows文件------>Linux(要在同一局域网)

       命令:scp 用户名@windowsIP地址:/文件路径  Linux下存储路径

方法三:使用NAS传输,将下载好的文件放在NAS中,用centos上自带的浏览器下载

三、虚拟机的配置

方法一:使用centos7镜像作为本地yum 源

挂载镜像,配置本地yum源

  cd /mnt下创建cdrom文件:mkdir cdrom

  挂载镜像:mount -t iso9660 /dev/sr0 ./cdrom

  在/etc/yum.repos.d修改配置文件

设置network.service(配ip)

  vi /etc/sysconfig/network-scripts/ifcfg-ens33将最后一行的ONBOOT的值改为YES

  systemctl start network.service

  ip add 查询ip,如果没有ip  先执行dhclient -r ens33释放ip 再执行dhclient -v ens33获取ip

使用SecureCRT上传文件到 root 根目录下

  点击connect,进行输入,连接成功后点击file=>connect sftp session进入sftp连接界面。

  上传文件:cd 服务器某个目录

       lcd 本地目录

       put xxx

方法二:使用可访问互联网的centos7的服务器安装(无需配置本地yum源)

四、安装oracle 11g

      一、准备工作

1、关闭selinux

vim /etc/selinux/config

将selinux设置为disabled

查看selinux状态:getenforce 或者sestatus -v

临时关闭:setenforce 0

永久关闭:vim /etc/selinux/config 设置SELINUX=disabled

2、关闭firewalld 安装iptables(也可以不装iptables)

# systemctl stop firewalld.service

# systemctl disable firewalld.service

# yum -y install iptables-services

# systemctl restart iptables.service

# systemctl enable iptables.service

# iptables -I INPUT -p tcp --dport 1521 -j ACCEPT    #(为Oracle开1521端口)

二:创建用户及安装目录,安装依赖包

1、创建用户

[root@oracledb ~] groupadd oinstall

[root@oracledb ~] groupadd dba

[root@oracledb ~] useradd -g oinstall -G dba -m oracle

[root@oracledb ~] passwd oracle

2、创建安装目录,解压文件

[root@oracledb ~]  mkdir -p /ora/oracle

[root@localhost ~] find / -name 'linux.x64_11gR2_database_1of2.zip'

/root/Downloads/linux.x64_11gR2_database_1of2.zip(找到路径)

[root@localhost ~]# cp -r /root/Downloads/* /ora

[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_1of2.zip

[root@oracledb ~] unzip -d /ora/ linux.x64_11gR2_database_2of2.zip

[root@oracledb ~] chown -R oracle:oinstall /ora(看是否创建成功)

[root@oracledb ~] chmod 755 -R /ora(分配755权限给ora)

上面是准备安装到根下ora目录,网上很多说要给777权限,但是个人总感觉777权限过高,测试发现755就足够。

3、安装oracle所需依赖和桌面组件,桌面组件有700多MB

[root@oracledb ~] yum -y install binutils compat compat-libstdc gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

[root@oracledb ~] yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"

三:修改系统内核等设置

1、将服务器名写入到hosts文件,可以测试ping sername 是否返回127.0.0.1

[root@oracledb ~] echo '127.0.0.1 oracledb localhost localhost.localdomain' >> /etc/hosts

[root@oracledb ~] ping -c 3 oracledb

PING oracledb (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.043 ms

64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms

--- oracledb ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 1999ms

rtt min/avg/max/mdev = 0.030/0.038/0.043/0.005 ms

2、修改内核(/etc/sysctl.conf),增加或修改以下内容

内核参数需要注意,shmall 和shmmax 的值由服务器内存决定。(不过这个参数设置博主我现在也是一知半解,没完全搞明白,查了半天意思如下:)

kernel.shmall :

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB/4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304 符合要求。

kernel.shmmax:

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,例如,如果为16GB物理内存,可取16*1024*1024*1024-1=17179869183。

kernel.shmmni:

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

kernel.sem = 250 32000 100 128 的意思是:

250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

32000是参数semmns的值,表示系统内可允许的信号量最大数目。

100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

128是参数semmni的值,表示系统信号量集合总数。

3、以下适用于8G内存左右服务器配置,12G或者16G以上建议调整

[root@oracledb ~] vim /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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 = 1048576

4、完成后使用命令

[root@oracledb ~] sysctl -p(立即生效)

5、修改认证模块

[root@oracledb ~] vim /etc/security/limits.conf

oracle soft nproc 131072

oracle hard nproc 131072

oracle soft nofile 131072

oracle hard nofile 131072

oracle soft core unlimited

oracle hard core unlimited

oracle soft memlock 50000000

oracle hard memlock 50000000

6、修改用户登录认证

[root@oracledb ~] vim /etc/pam.d/login

session required /lib64/security/pam_limits.so

session required pam_limits.so

7、设置环境变量(ORACLE_HOME 设置为安装目录product下默认目录)

[root@oracledb ~] vim /etc/profile

#oracle

export ORACLE_HOME=/ora/oracle/product/11.2.0/db_1

export ORACLE_SID=orcl      #这边是你数据库的实例名,你根据项目需求来写

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

8、修改Oracle用户环境变量

[root@oracledb ~] vim /home/oracle/.bash_profile

export ORACLE_BASE=/ora/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl    #这边是你数据库的实例名,你根据项目需求来写

export ORACLE_TERM=xterm

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

在root 下执行xhost +     (中间有一个空格别忘了!!)

[root@localhost ~]# xhost +

在oracle用户下执行export DISPLAY

[root@localhost ~]# su - oracle

[oracle@localhost ~]# cd /ora/database

[oracle@localhost database ]# export DISPLAY=192.168.8.214:1.0

[oracle@localhost database ]$ ./runInstaller

如果交换空间不够,用 root 用户登陆添加,命令如下: (为了不出错还是执行一下稳点)

#dd if=/dev/zero of=/home/swap bs=1024 count=1600000  

#mkswap /home/swap 

#swapon /home/swap 

关闭#swapoff /home/swap


以oracle用户登录,开始安装:

su - oracle

cd /ora/database

./runInstaller (runInstaller在/ora/database下,因为刚才已经从root根目录下移了过来了)


四、开始安装:

没有账号不用选


只安装软件,稍后建库

安装单实例还是集群数据库,安装的的是单实例

选择语言


企业版


软件存放目录,之前预设好的(需要仔细核对好它自动生成的目录,必须要到含oracle文件夹这一步核对dbhome_1路径是否正确)


产品清单

 配置安装组(用户组为dba)

 检查先决条件,如果有不通过的会显示在上面,因为是实验环境swap空间直接忽略就行(☑️ignore ALl)

如果出现如图情况,先不要着急的点OK,需要用 root 用户执行如图提示的两条命令,执行完后再点OK

直接×掉

 软件安装成功

五、配置监听

[root@localhost ~]# xhost +

access control disabled, clients can connect from any host

[root@localhost ~]# su - oracle

Last login: Sat May 23 14:12:32 CST 2020 on pts/1

[oracle@localhost ~]$ cd /ora/database

[oracle@localhost database]$ export DISPLAY=192.168.8.214:1.0

[oracle@localhost database]$ netca

[oracle@localhost database]$netca 

如果出现图中情况说明未设置显示环境变量

解决方法:export DISPLAY=自己的ip:0.0 (有时候是1.0)

例:export DISPLAY=10.33.37.185:0.0 (有时候是1.0)

启动完成后进入到窗口页面,选择第一项,配置监听

这里选择添加监听

这里选择监听名字,默认的就行

这里是监听所遵循的协议,默认就行


这里是监听的端口号,默认是1521,如果想更改也可以使用其它端口

创建完成会提示是否需要继续创建下一个监听,这里直接点击取消就行

图形化界面配置完成后 

su - oracle

切换帐户一定要加 "-"

否则会出现:   bash:lsnrctl:command not found.错误

Linux/Unix下,启动监听器:

$ lsnrctl start 

关闭监听器:

$ lsnrctl stop

查看监听状态:

$ lsnrctl status

监听配好后一定要把iptables关掉

service iptables stop或者iptables -I INPUT -p tcp --dport 1521 -j ACCEPT #

 还要修改listener.ora

vi /ora/oracle/product/11.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.213)(PORT = 1521))

    )

  )

SID_LIST_LISTENER =

(SID_LIST =

  (SID_DESC =

  (GLOBAL_DBNAME = orcl ) #这边是你数据库的实例名,你根据项目需求来写

  (SID_NAME = orcl )#这边是你数据库的实例名,你根据项目需求来写

  )

)

①lsnrctl  reload:重载监听

②lsnrctl  start: 启动监听

③netstat -an |more :  查看所有监听(看监听是否起来了,查看1521端口是否起来了,这个命令很强大)

六、使用dbca创建数据库实例

oracle用户下,打开database目录下

cd /ora/database

export DISPLAY=192.168.8.214:1.0

dbca

创建数据库

创建默认的还是高级模式的,选择高级模式

数据库用途

 CBD容器数据库 #这边是你数据库的实例名,你根据项目需求来写


EM企业管理器

设置密码(建议都设置成统一的)


 监听(刚才已经配置了监听,所以选择就可以了)

下面按顺序来就可以

字体一定要选第二个,否则导入数据中文字体会出现乱码


oracle 自动启动、停止脚本设置 

修改/etc/oratab,增加 oradb:/opt/u01/app/oracle/product/9.2.0.4:Y 

Sid:Oracle_home:Y 

如果没有,说明 oracle 安装时,oracle 缺乏对文件夹 etc 的权限。 

可以用 root 用户登陆,执行$oracle_home/root.sh 和 app/*root.sh 下面有个的文件

OK,大功告成!

如何在机器重启后,启动数据库服务&启动监听?

切换到数据库用户oracle,命令:su  -oracle ;使oracle用户配置文件立即生效,命令:source  /home/oracle/.bash_profle,启动监听,命令:lsnrctl  start ,如下图所示:

 四、登录SQLplus,命令:sqlplus /nolog。,以sysdba 登录数据库,命令:conn / as sysdba。启动数据库,命令:startup,如下图所示:

你可能感兴趣的:(Centos 7下安装配置Oracle 11g(零基础))