网易首页 > 网易号 > 正文 申请入驻

Linux 环境下部署 Oracle 数据库

0
分享至

相信大家第一次接触 Oracle 数据库时,大多数是在 windows 环境下安装,方便快捷,基本上可以说是一直下一步就能顺利安装成功。然而企业级的数据库,基本上都是安装在 Linux 服务器上,安全且高效。

没接触过在 Linux 环境下安装 Oracle 数据库的朋友也不用怕,跟着本篇文章一步步操作也能搭建成功。

下面我就来手把手教大家如何在 Linux 上部署 Oracle 数据库。

一、前期准备

1、虚拟机安装

Windows 主机推荐虚拟机:VMware Workstation

下载地址:
https://www.vmware.com/go/getworkstation-win

MacOS 主机推荐虚拟机:Parallels Desktop 16 for Mac

下载地址:
https://www.parallels.cn/products/desktop/trial/

2、Oracle软件安装包

oracle 官网下载地址:
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

3、Linux系统安装包

一般有三种Linux系统比较常用:RedHatOracleLinuxCentos

  • RedHat下载:
  • https://developers.redhat.com/products/rhel/download
  • OracleLinux下载:
  • https://yum.oracle.com/oracle-linux-isos.html
  • Centos下载:
  • https://vault.centos.org/

Linux系统安装详情可参考:

教你三步在 MacOS 上安装 Linux 系统:
https://blog.csdn.net/m0_50546016/article/details/117414290


Windows 主机如何玩转虚拟机 Linux 安装:
https://blog.csdn.net/m0_50546016/article/details/117415206

4、Linux 远程连接工具

本文将使用 XShell 和 Xftp 工具;

通过 RedHat Linux 7.6 版本安装 Oracle 11GR2 版本数据库。

主机内存 2G,硬盘 50G 即可。

二、Linux主机配置

使用 XShell 工具连接 Linux 主机 root 用户:

1、主机名配置

如果安装时没有配置主机名,或者想要修改主机名,可以通过以下命令修改:

hostnamectl set-hostname orcl

2、网络配置

如果安装时没有配置网络,或者想要修改网络,可以通过以下命令修改:

nmcli connection modify eth0 ipv4.addresses 10.211.55.188/24 ipv4.gateway 10.211.55.1 ipv4.method manual autoconnect yes
nmcli connection up eth0

3、配置Hosts文件

根据上面配置好的主机名和IP,配置hosts文件:

cat <

>/etc/hosts
##OracleBegin##
##Public IP
10.211.55.188 orcl
##OracleEnd##
EOF

4、防火墙配置

systemctl stop firewalld
systemctl disable firewalld

5、Selinux配置

selinux修改后需要重启主机生效:

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

6、ISO镜像源配置

需要先挂载主机镜像:

Parallels Desktop挂载Linux主机镜像:

VMware Workstation挂载Linux镜像:

mount /dev/cdrom /mnt
cat <

/etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0
enabled=1
EOF

7、安装Oracle依赖包

如下依赖包从Oracle官方文档推荐获取:

yum install -y bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
gcc \
gcc-c++ \
elfutils-libelf \
elfutils-libelf-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
libxcb \
libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
make \
net-tools \
nfs-utils \
smartmontools \
sysstat \
e2fsprogs \
e2fsprogs-libs \
fontconfig-devel \
expect \
unzip \
openssh-clients \
readline* \
psmisc --skip-broken

检查是否安装成功:

rpm -q bc binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ elfutils-libelf elfutils-libelf-devel glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make net-tools nfs-utils smartmontools sysstat e2fsprogs e2fsprogs-libs fontconfig-devel expect unzip openssh-clients readline

Linux7需要手动安装compat-libstdc++依赖包:

rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

8、配置ZeroConf

##关闭Zeroconf service的服务守护进程
systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.service
systemctl disable avahi-daemon.socket
##关闭NOZEROCONF
cat <

>/etc/sysconfig/network
#OracleBegin
NOZEROCONF=yes
#OracleEnd
EOF

9、关闭透明大页和numa

sed -i 's/quiet/quiet transparent_hugepage=never numa=off/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg

10、配置系统参数文件

##计算shmall和shmmax值
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; then
shmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; then
shmmax=4294967295
fi
echo $shmall
echo $shmmax
##配置系统参数
cat <

>/etc/sysctl.conf
#OracleBegin
##shmmal's Calculation formula: physical memory 8G:(8*1024*1024*1024)/4096=2097152
##shmmax's Calculation formula: physical memory 8G:(8/2)*1024*1024*1024 -1=4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $shmall
kernel.shmmax = $shmmax
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
EOF
##系统参数生效
sysctl -p

11、配置系统资源限制

cat <

>>/etc/security/limits.conf
#OracleBegin
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle hard memlock 134217728
oracle soft memlock 134217728
#OracleEnd
EOF
cat <

>>/etc/pam.d/login
#OracleBegin
session required pam_limits.so
session required /lib64/security/pam_limits.so
#OracleEnd
EOF

12、创建用户和组

/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper oracle
echo oracle | passwd --stdin oracle

13、创建Oracle安装目录

mkdir -p /u01/app/oracle/product/11.2.0/db
mkdir -p /u01/app/oraInventory
mkdir -p /oradata
chown -R oracle:oinstall /oradata
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app

14、配置用户环境变量

cat <

>/home/oracle/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
export ORACLE_HOSTNAME=orcl
export ORACLE_TERM=xterm
export TNS_ADMIN=\$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=orcl
export PATH=/usr/sbin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH
alias sas='sqlplus / as sysdba'
export PS1="[\`whoami\`@\`hostname\`:"'\$PWD]\$ '
EOF

三、Oracle软件安装

1、Oracle软件包上传

[root@orcl soft]# ll
-rw-r--r--. 1 root root 1395582860 May 31 16:56 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 root root 1151304589 May 31 16:56 p13390677_112040_Linux-x86-64_2of7.zip

2、解压Oracle软件安装包

需要按顺序解压1,2安装包:

cd /soft
unzip -q p13390677_112040_Linux-x86-64_1of7.zip
unzip -q p13390677_112040_Linux-x86-64_2of7.zip
##授权/soft给oracle读写权限
chown -R oracle:oinstall /soft

3、安装VNC软件

yum install -y tigervnc*
su - oracle
vncserver
##输入密码

4、连接VNC远程工具或者直接打开虚拟机图形化界面

右键打开终端工具:

进入/soft/database开始安装Oracle软件:

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

上传pdksh-5.2.14-37.el5.x86_64.rpm依赖包,安装:

rpm -e ksh-20120801-142.el7.x86_64
rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

点击再次检查,忽略swap警告:

解决方案:

su - oracle
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

执行完点击retry重试:

root用户下执行脚本:

/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/db/root.sh

reboot重启主机。

四、创建数据库

1、打开监听

su - oracle
lsnrctl start
lsnrctl status

2、连接VNC远程工具或者直接打开虚拟机图形化界面

dbca

这里填写数据库实例名称和dbname,本次填写orcl。

不安装EM工具。

这里输入SYS和SYSTEM用户的密码,需要记住。

这里选择前面建好的/oradata目录用来存放数据文件。

不开启闪回日志,不开启归档日志,可以建好库之后再手动修改。

数据库内存分配,选择手动分配,占用物理内存70%左右。

block_size根据实际情况选择,一旦建库无法修改,默认8K。

字符集根据需要进行选择,默认AL32UTF8。

等待建库完成即可。

五、连接数据库

确保监听正常启动,并监听数据库

1、通过数据库主机连接

su - oracle
sqlplus / as sysdba
select sysdate from dual;
##创建数据库用户
create user test identified by test;
grant dba to test;
conn test/test
##创建表
create table test (id number not null,name varchar2(100));
insert into test values (1,'lucifer');
commit;

2、通过PL/SQL连接test用户

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
最缺德的专家出现了!

最缺德的专家出现了!

麦杰逊
2024-06-04 11:53:48
泽连斯基向中国道歉,称对中国发表错误言论

泽连斯基向中国道歉,称对中国发表错误言论

说天说地说实事
2024-06-05 20:46:15
暴跌98.68%,A股单日最惨跌幅诞生,不到1分钟时间,区区2430元将10元股砸到1毛3,尴尬一幕出现!

暴跌98.68%,A股单日最惨跌幅诞生,不到1分钟时间,区区2430元将10元股砸到1毛3,尴尬一幕出现!

金融界
2024-06-05 15:24:21
深圳中产破防,北上深中产即将迎来的终极悲惨前景

深圳中产破防,北上深中产即将迎来的终极悲惨前景

重远投资观
2024-06-05 15:11:01
家长偷拍985女儿闺房,满地卫生纸,床上杜蕾斯,我倒贴20万嫁女

家长偷拍985女儿闺房,满地卫生纸,床上杜蕾斯,我倒贴20万嫁女

知秋侃史
2024-06-02 12:53:15
又一办公室不雅行为!摄像头忘关视频被曝光,女子身份引热议

又一办公室不雅行为!摄像头忘关视频被曝光,女子身份引热议

影孖看世界
2024-06-04 23:13:52
彻底疯狂!两市成交额不足7000亿,有个股暴跌96%,也有新股大涨752%

彻底疯狂!两市成交额不足7000亿,有个股暴跌96%,也有新股大涨752%

每日经济新闻
2024-06-05 15:57:07
“这叫红披肩”,红领巾新戴法被吐槽,谁在替孩子设定未来?

“这叫红披肩”,红领巾新戴法被吐槽,谁在替孩子设定未来?

音乐时光的娱乐
2024-06-05 13:48:47
大瓜!女职员都成了领导泄火工具,女子:1/3的女员工都被糟蹋了

大瓜!女职员都成了领导泄火工具,女子:1/3的女员工都被糟蹋了

攻心职场
2024-06-05 18:52:51
房贷月供9300,一家三口晚饭9.5元  网友集体劝:把房子卖了吧

房贷月供9300,一家三口晚饭9.5元 网友集体劝:把房子卖了吧

可达鸭面面观
2024-06-05 15:10:40
山西:公职人员被杀害,凶手曝光,死者身份流出,一个月前曾露面

山西:公职人员被杀害,凶手曝光,死者身份流出,一个月前曾露面

温柔看世界
2024-06-05 15:22:33
华为员工爆料:清华毕业+卡耐基梅隆深造+省状元,竟然去了华为OD

华为员工爆料:清华毕业+卡耐基梅隆深造+省状元,竟然去了华为OD

请叫我教育君
2024-06-05 18:38:21
土耳其军舰穿台湾海峡,完全不把解放军当回事,052D再出动

土耳其军舰穿台湾海峡,完全不把解放军当回事,052D再出动

小猫猫爱体育
2024-06-05 10:44:19
山西沁县政协主席郭建宇被刺身亡 犯罪嫌疑人据称系离异独居,已被警方抓获

山西沁县政协主席郭建宇被刺身亡 犯罪嫌疑人据称系离异独居,已被警方抓获

红星新闻
2024-06-05 17:11:19
沁县公职人员遇刺:熟人作案;凶手籍籍无名,死者风云人物

沁县公职人员遇刺:熟人作案;凶手籍籍无名,死者风云人物

大师兄爱写作
2024-06-05 19:53:00
理想汽车裁员切到“大动脉”?员工:好久没见过下午六点的天空!

理想汽车裁员切到“大动脉”?员工:好久没见过下午六点的天空!

火山诗话
2024-06-05 05:51:37
台当局抓扣陆船话音刚落,我海警派出5艘船只,进入金马海域巡查

台当局抓扣陆船话音刚落,我海警派出5艘船只,进入金马海域巡查

贺文萍
2024-06-05 17:43:47
南方罕见倒夏寒来袭,广东比东北还冷!分析:潮湿闷热也不远了

南方罕见倒夏寒来袭,广东比东北还冷!分析:潮湿闷热也不远了

中国气象爱好者
2024-06-05 20:20:36
巴萨主席谈解雇哈维:我连梅西都能赶走!他不相信球队,必须得走

巴萨主席谈解雇哈维:我连梅西都能赶走!他不相信球队,必须得走

风过乡
2024-06-05 07:38:15
都打到家门口了,你却问别人为什么而战

都打到家门口了,你却问别人为什么而战

顾礼先生
2024-06-04 15:47:37
2024-06-05 23:36:49
互联网干货博主
互联网干货博主
我是专注分享互联网干货的博主
278文章数 1339关注度
往期回顾 全部

科技要闻

9家车企拿到自动驾驶落地入场券,没特斯拉

头条要闻

拜登拒答"以袭击拉法是否越红线":现在不是你写的时候

头条要闻

拜登拒答"以袭击拉法是否越红线":现在不是你写的时候

体育要闻

赴美试训的崔永熙,表现究竟怎么样?

娱乐要闻

《青春有你》胡文煊被曝孕期出轨

财经要闻

员工证实周大福关闭深圳工厂

汽车要闻

又一个水桶车 试驾新“卷王”极狐阿尔法S5

态度原创

健康
艺术
游戏
房产
军事航空

晚餐不吃or吃七分饱,哪种更减肥?

艺术要闻

穿越时空的艺术:《马可·波罗》AI沉浸影片探索人类文明

画师小姐姐被质疑AI绘图,结果她用一张自拍让喷子主动闭嘴

房产要闻

新房交易再冲高!三个月1.7万套、157万㎡,海口楼市又行了!

军事要闻

乌方:俄乌冲突升级 所有“红线”不复存在

无障碍浏览 进入关怀版