当前位置: 首页 > news >正文

部署Oracle (11.2.0.1.0)

参考文档:centos安装oracle11g-11.2.0

设置主机名

hostnamectl set-hostname orcl

配置hosts文件

根据主机名和ip 配置hosts文件

cat <<EOF >>/etc/hosts
##OracleBegin##
##Public IP
192.168.8.213     orcl
##OracleEnd##
EOF

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

修改selinux为disabled

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

安装依赖包

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++依赖包:

这里我使用了yum直接安装
yum install compat-libstdc++-33-3.2.3-72.el7.x86_64

配置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 <<EOF >>/etc/sysconfig/network
#OracleBegin
NOZEROCONF=yes
#OracleEnd
EOF

关闭透明大页和numa

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

配置系统参数文件

创建1.sh文件

touch 1.sh
chmod +x 1.sh
./1.sh

1.sh中的内容

##计算shmall和shmmax值
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; thenshmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; thenshmmax=4294967295
fi
echo $shmall
echo $shmmax
[root@localhost orcl]# ./1.sh 
2097152
8181780479
按照计算值配置/etc/sysctl.conf中对应参数
##配置系统参数
cat <<EOF >>/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 = 2097152
kernel.shmmax = 8181780479
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

配置系统资源限制

cat <<EOF >>/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
EOFcat <<EOF >>/etc/pam.d/login
#OracleBegin
session required pam_limits.so 
session required /lib64/security/pam_limits.so
#OracleEnd
EOF

创建用户和组

/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

创建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/appmkdir -p /data/oracle/u01/app/oracle/product/11.2.0/db
mkdir -p /data/oracle/u01/app/oraInventory
mkdir -p /data/oracle/oradata
chown -R oracle:oinstall /data/oracle/oradata
chown -R oracle:oinstall /data/oracle/u01/app
chmod -R 775 /data/oracle/u01/app

配置用户环境变量

cat <<EOF >>/home/oracle/.bash_profile
################OracleBegin#########################
umask 022
export TMP=/tmp
export TMPDIR=\$TMP
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_BASE=/data/oracle/u01/app/oracle
export ORACLE_HOME=/data/oracle/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

将安装包上传并解压安装包

安装包:https://pan.baidu.com/s/1jRztfglYWg7l3puSetg7uw#list/path=%2F

提取码:ad3e

# 上传安装包
unzip -q linux.x64_11gR2_database_1of2.zip
unzip -q linux.x64_11gR2_database_2of2.zip

Windows系统安装VcXsrv

官网下载地址:https://sourceforge.net/projects/vcxsrv/

参考文档:从Windows远程显示Linux图形程序:SSH X11转发完整指南

参考文档:centos7 安装Oracle 11.2.0.1

  1. 安装过程
  • 双击安装程序,全程保持默认设置
  • 安装目录推荐:C:\Program Files\VcXsrv
  • 勾选 Create Desktop Shortcut‌(创建桌面快捷方式)
  • 点击 "Finish" 完成安装
  1. 首次配置
    运行桌面生成的 ‌XLaunch‌ 程序:
  • 第一步‌:选择 Multiple windows(多窗口模式)

  • 第二步‌:显示编号设为0 → 点 Next

  • 第三步‌:勾选 Disable access control‌(关键步骤!禁用访问控制)

  • 第四步‌:保存配置为 .xlaunch 文件(方便下次启动)

  1. 防火墙设置
    首次运行时允许防火墙通过:允许 VcXsrv 通过防火墙(勾选"私有"和"公用"网络)
  2. 配置Windows的系统变量

变量名:DISPLAY

变量值:localhost:0.0

  1. 手动设置DISPLAY变量(备用方案)

如果SSH自动转发失效:

- 查看Windows本机IP(如172.16.0.233)
- 在Linux服务器上执行:`export DISPLAY=172.16.0.233:0.0`

启动安装

解决乱码问题
root用户下执行

export NLS_LANG=AMERICAN_AMERICA.UTF8
export LC_ALL=C

重新使用Xshell建立连接,使用“oracle”用户登录;

设置连接属性,SSH => 隧道 => 勾选 X DISPLAY

进入到database文件夹
执行
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0正在启动 Oracle Universal Installer...检查临时空间: 必须大于 120 MB。   实际为 97208 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 7984 MB    通过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2025-06-10_03-39-24PM. 请稍候...

取消勾选,下一步:

仅安装数据库软件,下一步:

单实例数据库安装,下一步:

添加语言 简体中文,下一步:

选择 企业版

Oracle会根据环境变量自动选择设置好的安装路径,直接下一步:

显示内核参数semmni 检查失败

参考文档:Oracle 11.2.0.1.0在Centos7.5安装的坑

sudo vim /etc/sysctl.conf
kernel.sem = 250 32000 100 128  # 末尾的 128 即 semmni 目标值

实际已配置,检查未检测出,直接跳过

显示依赖包检查失败

Centos7 上安装的依赖包要比 oracle 11g 所需要的版本更高,可以直接忽略

rpm -q libaio
libaio-0.3.109-13.el7.x86_64
rpm -q glibc
glibc-2.17-326.el7_9.3.x86_64
rpm -q compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3-72.el7.x86_64
rpm -q libaio-devel
libaio-devel-0.3.109-13.el7.x86_64
rpm -q libgcc
libgcc-4.8.5-44.el7.x86_64
rpm -q libstdc++
libstdc++-4.8.5-44.el7.x86_64
rpm -q unixODBC
unixODBC-2.3.1-14.el7.x86_64

显示缺少pdksh-5.2.14,上传rpm包

下载链接:https://gitcode.com/Universal-Tool/d5ed9/blob/main/pdksh-5.2.14-37.el5.x86_64.rar

# 上传rpm包
rpm -ivh pdksh-5.2.14-37.el5.x86_64.rpm

注意:如果显示pdksh 与 (已安裝) ksh-20120801-144.el7_9.x86_64 冲突,删除原本的ksh

# 删除依赖:
yum remove ksh-20120801-144.el7_9.x86_64

修改交换空间大小

创建交换文件

# 创建8GB交换文件(根据差值计算)
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo chmod 600 /swapfile
sudo mkswap /swapfile    # 格式化交换文件
sudo swapon /swapfile    # 立即启用
echo "/swapfile none                                  swap    sw              0 0" >> /etc/fstab  # 永久生效
sudo mount -a  # 验证配置无误
free -h              # 查看总量(显示单位为GB)
swapon --show        # 确认新增文件已激活
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf  # 调整Swappiness参数,避免内存未满时过度使用Swap
sudo sysctl -p        # 立即生效

点击再次检查(check again)

安装

解决方案

yum install -y glibc-static compat-libstdc++-33
su - oracle
sed -i '/^ctxhx: \$(CTXHXOBJ)$/{N;s/\(ctxhx: \$(CTXHXOBJ)\)\n\t\$(LINK_CTXHX) \$(CTXHXOBJ) \$(INSO_LINK)\)/\1\n\t-static \$(LINK_CTXHX) \$(CTXHXOBJ) \$(INSO_LINK) \/usr\/lib64\/libc.a/}' $ORACLE_HOME/ctx/lib/ins_ctx.mk

执行完点击retry重试

root用户执行以下脚本

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

重启reboot

打开监听

su - oracle
# 启动监听器
lsnrctl start
# 查看监听器状态
lsnrctl status
# 动态重载配置无需重启
lsnrctl reload

创建数据库

乱码处理

zysong.ttf 字体下载

链接:https://pan.baidu.com/s/1Tc1OBK7sPc8wje1cgsq-mw
提取码:j5kk

将下载好的字体文件上传到oracle用户的$ORACLE_HOME/jdk/jre/lib/fonts/fallback/下,如果没有fallback文件夹,直接创建一个

[oracle@localhost.localdomain:/u01/app/oracle/product/11.2.0/db/jdk/jre/lib/fonts]$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback
[oracle@localhost.localdomain:/u01/app/oracle/product/11.2.0/db/jdk/jre/lib/fonts]$ cp /data/oracle/tmp//zysong.ttf $ORACLE_HOME/jdk/jre/lib/fonts/fallback/
[oracle@localhost.localdomain:/u01/app/oracle/product/11.2.0/db/jdk/jre/lib/fonts]$ ll $ORACLE_HOME/jdk/jre/lib/fonts/fallback
总用量 9036
-rw-r--r--. 1 oracle oinstall 9249332 6月  10 16:52 zysong.ttf
[oracle@localhost.localdomain:/u01/app/oracle/product/11.2.0/db/jdk/jre/lib/fonts]$ 
dbca

选择 定制数据库

据环境变量中设置的 ORACLE_SID 设置数据库名称和SID,这里设置的是:orcl

取消勾选

选择所有用户设置相同密码(正式业务中请为这些用户分别设置密码)

这里配置 oracle

取消勾选

默认,直接下一步

定制 自动配置

默认语言 ?

测试连接数据库

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;
[oracle@localhost.localdomain:/u01/app/oracle/product/11.2.0/db/jdk/jre/lib/fonts]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 10 17:48:41 2025Copyright (c) 1982, 2013, Oracle.  All rights reserved.Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> select sysdate from dual;SYSDATE
------------------
10-JUN-25SQL> create user test identified by test;User created.SQL> grant dba to test;Grant succeeded.SQL> conn test/test
Connected.
SQL> create table test (id number not null,name varchar2(100));Table created.SQL> insert into test values (1,'lucifer');1 row created.SQL> commit;Commit complete.

通过navicat连接数据库

报错处理:ORA-28547: connection to server failed, probable Oracle Net admin error

数据库与链接库的版本不一致

  1. 下载对应的Instant Client Package -Version 11.2.0.4.0 - Basic文件,解压后放到如下路径:

E:\soft\Navicat Premium 17\instantclient_11_2

  1. 启动navicat客户端 找到【工具】->【选项】->【环境】

将OCI环境更改为11_2下的oci.dll即可,重启之后即可生效!

image

SQL*Plus 方向键和退格键乱码

安装 rlwrap 工具,修复方向键和退格键功能

yum install -y readline readline-devel libtermcap-devel rlwrap
rlwrap sqlplus / as sysdba

Oracle数据库启动

启动顺序‌:监听器 → 数据库实例

# 启动监听器
su - oracle
lsnrctl start# 启动数据库实例
sqlplus / as sysdba
SQL> startup# 查看进程信息
SQL> !ps -ef|grep orcl
SQL> !ipcs -a

Oracle数据库关闭

关闭顺序‌:‌数据库实例 → 监听器

# 关闭数据库实例
sqlplus / as sysdba
SQL> shutdown immediate# 关闭监听器
lsnrctl stop
http://www.sczhlp.com/news/68645/

相关文章:

  • find_code最终版
  • 页面简洁的网站国外机械做的好的网站
  • 黄骅的网站工信部网站icp备案查询
  • 网站推广 扬州游戏门户网站开发资源
  • 百度怎么制作网站教程沈阳网站建设服务电话
  • 公司网站开发立项文档腾讯网
  • 商水建设局网站三只松鼠搜索引擎营销案例
  • 广东专业网站定制网页素材制作
  • 做农产品的网站名称西安网站建设和推广
  • 烟台市龙口建设局网站百度sem竞价
  • 揭阳网站制作怎样wordpress微信登录设置
  • 今日思路
  • 公司内部网站怎么建设aspcms是网站什么漏洞
  • 浙江专业网页设计免费建站怎么查工程中标单位
  • 网站服务器一年的费用六安网站制作找哪家
  • 做国外网站的公证要多少钱怡康医药网站建设方案
  • 盘石网站做的怎么样云伙伴公司客户案例
  • 任经理 徐州网站建设昆明网站制作费用
  • 常州溧阳网站建设什么软件引流客源最快
  • 雄安网站建设制作app可以查的内容
  • 三个律师做网站合适吗淘宝客网站如何做
  • 青岛网站开发公司电话今天昆明刚刚发生的新闻
  • 找公司做网站需要买服务器做二手平台公益的网站
  • 网络营销网站 功能网站增加一体化建设功能的好处
  • 保定市网站建设百度免费建立网站吗
  • 长春网站建设seo长宁品牌网站建设
  • 佛山网站建设企业做海报设计的网站
  • 哈尔滨工程建设信息网站正品海外购网站有哪些
  • 免费解析素材网站做网站的硬件和软件环境
  • 常用的博客建站程序广州市天河区建设局官方网站