当前位置:首页 > 数据库 > oracle > 正文内容

Centos7快速安装Oracle11g

一、解决虚拟机或低配置的云服务器上安装Oracle的方法有两种:

1)不用图形界面,采用静默方式安装,这种方法的技术难度比较大,Oracle的DBA经常采用这种方法,而普通程序员很难掌握。

2)把已经安装好的Oracle软件、数据库实例和环境参数打包压缩,然后在目标服务上解压恢复,对初学者来说,这是搭建Oracle数据库学习环境的最佳方案,也是本次采用的方案。

安装包下载链接:https://pan.baidu.com/s/1-Fp_ENmbKUyF0-FP5H2vbw 
提取码:abcd

 

注意:一定要下载该Oracle11g包,介于网络上关于Centos系统安装Oracle版本和手法各不同,所以本教程只适用于提供的Oracle11g包

下载完成之后通过Xftp或其他工具放在Centos7系统下的目录,自己记住就行,我本人放在了/usr/local/src目录下了

二、硬件需求

1、查看内存和交换区大小

采用free -m命令查看系统的内存和交换区,如下:

Mem:行显示的是物理内存的大小和使用情况,Swap:行显示的是交换区的大小和使用情况,单位是MB。

安装Oracle的物理内存要求在1024MB以上,交换区的要求如下:

2、创建交换区

如果没有交换区或交换区太小,先创建交换区,交换区的大小见上表的对应关系,以下步骤将创建一个2048M的交换区。

1)用root用户执行dd命令创建/swap1文件。

dd if=/dev/zero of=/swap1 bs=1024 count=2048000

如下:

image.png

2)把/swap1文件设置成交换区。

/sbin/mkswap /swap1

如下:

image.png

3)把/swap1交换区设置为有效状态。

/sbin/swapon /swap1

如下:

image.png

4)用free -m命令查看交换区,确认已生效。

如下:

image.png

5)修改/etc/fstab文件,让CentOS操作系统在每次重启时自动加载/swap1交换区。

在/etc/fstab文件中增加以下内容。

/swap1 swap swap defaults 0 0

如下:

image.png

6)重启操作系统,重启后再确认一下交换区/swap1是否已加载。

3、删除交换区

如果创建的交换区不符合要求,可以用以下步骤删除它。

1)停止正在使用的swap分区。

swapoff /swap1

2)删除swap分区文件。

rm /swap1

3)修改/etc/fstab文件,删除开机自动挂载/swap1的命令。

三、安装对应的依赖包

安装Oracle之前,还需要安装一些CentOS的软件包,用以下命令执行安装(用root用户执行)。

yum install -y binutils* compat-libstdc* elfutils-libelf* gcc* glibc* ksh* libaio* libgcc* libstdc* make* sysstat* libXp*  glibc-kernheaders ksh binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel

这些软件包依赖关系比较复杂,不管它,多执行几次以上命令,直到全部的软件包都是最新版本。

四、修改系统核心参数

1、修改/ect/sysctl.conf文件

/etc/sysctl.conf是操作系统的核心参数配置文件,在文件最后增加以下行


fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax= 1073741824

kernel.shmmni= 4096

kernel.sem = 250 32000100 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

注意,kernel.shmmax参数的值为操作系统内存的一半,单位是字节。例如,操作系统总内存如果是2048MB,那么kernel.shmmax的值应该是1*1024*1024*1024=1073741824,即kernel.shmmax = 1073741824

其它的参数照抄。

2、修改/etc/security/limits.conf文件

/etc/security/limits.conf是操作系统对用户使用资源的配置文件,在文件最后增加以下行。


oracle           soft    nproc     2047

oracle           hard    nproc    16384

oracle           soft    nofile    1024

oracle           hard    nofile   65536

oracle           hard    stack    10240

 3、修改/etc/pam.d/login文件

/etc/pam.d/login是用户认证文件,在文件最后增加以下行。

session    required     /lib64/security/pam_limits.so

 4、修改/etc/profile文件

/etc/profile是系统环境参数配置文件,在文件最后增加以下行。


if [ $USER = "oracle" ]; then

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

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

5、修改/etc/seLinux/config文件

/etc/selinux/config是SELinux配置文件,修改SELINUX的值,禁用它。

SELINUX=disabled

 6、重启服务器

init 6 或 reboot

 五、创建Oracle用户和用户组

Oracle的安装用户是oracle,组是dba,oracle用户的根目录是/oracle,不能采用其它目录(注意是小写的字母),如果/oracle目录的空间不够,可以采用软链接的方式,把有/oracle链接到其它有足够空间的目录。

1)创建dba组


# 创建用户组

groupadd dba

# 删除用户组

groupdel dba

2)创建oracle用户,组名是dba,用户根目录是/oracle,其他目录不行。


# 创建用户 并设置到dba组中 用户所在目录/oracle

useradd -n oracle -g dba -d /oracle



# 删除用户

userdel oracle

3)修改oracle用户的密码


# 修改用户密码 无论提示密码强弱,连续输入两次即可

passwd oracle

 六、解开压缩包

      把Oracle的压缩包文件oracle11gR2.tgz上传到服务器的/usr/local/src目录。

采用su - oracle切换到oracle用户,在根目录下执行解开压缩包,其它目录不行。


# 切换用户

su - oracle



# 切换到根目录下

cd /



# 在当前目录解压其他目录的压缩包

tar zxvf /usr/local/src/oracle11gR2.tgz



# 退出当前用户或切换用户即可

exit



# 切换到root用户

su - root

 注意,解压缩包后,一定要退出oracle用户,否则oracle用户的环境变量不会生效。

七、数据库参数

oracle11gR2.tgz解压后,会生成/oracle/.bash_profile文件,包括了Oracle数据库的安装参数,内容如下:


export ORACLE_BASE=/oracle/base

export ORACLE_HOME=/oracle/home

export ORACLE_SID=snorcl11g

export NLS_LANG='Simplified Chinese_China.ZHS16GBK'

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

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.

八、数据库启动

用oracle用户登录,执行lsnrctl start启动网络监听服务,执行dbstart启动数据库系统。

 如图,如果出现乱码部分

/oracle/.bash_profile文件中字符串编码


# 编辑.bash_profile文件

vim /oracle/.bash_profile



# 将# 注释掉以前的字符编码,添加新的

#export NLS_LANG='Simplified Chinese_China.ZHS16GBK'

export NLS_LANG='AMERICAN_AMERICA.ZHS16GBK'



# 立即生效

source /oracle/.bash_profile

补充一下:


# 停止监听服务

lsnrctl stop



# 查看监听状态

lsnrctl status



# 关闭数据库实例

dbshut

1、数据库启动2

启动Oracle实例:


-- 进入sqlplus

sqlplus /nolog



-- 最高管理员登录

conn / as sysdba



-- 启动数据库实例

startup



-- 关闭数据库实例

SHUTDOWN ABORT

 查看当前数据库实例名称:


-- 查看当前实例 任选其一即可

show parameter name;



-- 查看当前实例

select name from v$database;

 

 切换数据库实例


-- 切换实例 其中ORACLE_SID为具体的实例名称

sqlplus /@ORACLE_SID as sysdba;



-- 示例

sqlplus /@orcl as sysdba;

查看数据库版本


-- 查看版本

select * from v$version;

2、常用SQL


-- 解锁用户

alter user 用户名 account unlock; --------- 解除锁定(必须带“;”号)



-- 示例

alter user system account unlock;



-- 设置新密码

alter user 用户名 identified by 密码; -------------修改密码(密码加不加双引号均可,必须带“;”号)



-- 示例

alter user system identified by dhee;

至此就安装成功啦,可以使用自己的Navicat远程连接试试

如果Navicat连接出错,可能是Navicat自带的oci.dll文件不支持Oracle11,这里也为你准备好啦

九、Navicat连接篇

当使用Navicat远程连接Oracle11时,提示如图错误信息:

那基本就是Navicat自带的oci.dll文件不支持Oracle11,反正我的是,嘻嘻

这里有支持的文件哦:https://aerfazhe.lanzouw.com/i0cmSwixk2f

下载之后复制到Navicat安装目录下

按照图示配置即可

重启之后重新尝试连接即可,如还是不能,那就自行百度,或者评论区讨论一下💯

十、网络监听配置篇

本次安装包监听配置目录/oracle/home/network/admin

本次安装包使用的自动注册监听Oracle实例,而且是默认端口1521,所以在该目录下没有listener.ora文件

1、静态注册

listener.ora


#这是名称为LISTENER的监听器

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

#oracle实例名称

(SID_NAME = snorcl11g)

(ORACLE_HOME = /oracle/home)

)

)





#这是名称为LISTENER的监听器

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

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

)

)



ADR_BASE_LISTENER = /oracle

tnsnames.ora


#SNORCL11G是实例名

#表示使用TCP协议,连接IP地址为127.0.0.1,端口号为1521的数据库主机上服务名为orcl的数据库

#如果有多个监听,可以手动添加

SNORCL11G =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

#oracle实例名称

(SERVICE_NAME = snorcl11g)

)

)

重新启动网络监听即可

UNKNOWN:表示静态注册


# 检测连接是否正常 snorcl11g:oracle实例名称

tnsping snorcl11g

此时就静态注册成功啦


扫描二维码推送至手机访问。

版权声明:本文章来源于网络,版权归原作者所有,如果本站文章侵犯了您的权益,请联系我们删除,联系邮箱:luxd@aliyun.com,感谢支持理解。


本文链接:https://luxd.cc/post/255.html

返回列表

没有更早的文章了...

下一篇:Centos7下创建Oracle用户

“Centos7快速安装Oracle11g” 的相关文章

Centos7下创建Oracle用户

Centos7下创建Oracle用户

Oracle中,一个用户其实就类似于一个数据库,本次就来创建一个新用户登录将系统用户切换到oracle用户下su - oracle-- 启动sqlplus不登陆sqlplus /nolog;-- 通过超级管理员以dba的身份登录conn sys/sys as sysdba;-- 查看当前连接用户sh...

Oracle备份与还原(实用版)

Oracle备份与还原(实用版)

Oracle备份与还原EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。IMP只适用于EXP导出的文件,不适用于EXPDP导出文件;IMPDP只适用于EXPDP导出的文件,而不适用...

Linux下Oracle单实例配置多监听

Linux下Oracle单实例配置多监听

Oracle单实例配置多监听一、前言有时候我们项目中需要使用Oracle数据库,同时要需要不同的数据源,而Oracle不像Mysql那样直接建个库即可,Oracle是以账号为单位,可以理解为一个账号就是一个库,但实际有区别,项目中数据库连接数据源往往默认是安装Oracle时生成的ORCL(目前只有一...

Centos静默安装Oracle11G

Centos静默安装Oracle11G

环境准备Oracle 11gR2 64位 Linux版安装包linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip安装包官网下载地址:https://www.oracle.com/database/technologies...