Centos7安装Oracle10g
一、软件版本
Oracle版本:10201_database_linux_x86_64.cpio
操作系统:CentOS-7-x86_64-DVD-2009.iso
系统内存:>=16G
系统磁盘:>=128G
二、安装准备
- 使用 root 用户登录系统进行操作
- # 表示注释或root用户执行
- $ 表示除root以外的用户
- SQL> 表示sqlplus操作
1、配置yum源
配置阿里云镜像
备份当前的YUM源配置文件
# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载阿里云的CentOS源配置文件
# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存并生成新的缓存
# yum clean all
# yum makecache
2、禁用防火墙
# systemctl stop firewalld
# systemctl disable firewalld
3、禁用 SELinux
- 编辑 /etc/selinux/config 文件,修改 SELINUX=disabled
# vim /etc/selinux/config
--原内容
SELINUX=enforcing
--修改后
SELINUX=disabled
- 重启机器
4、安装依赖包
# yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686
elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common
glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel
libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel
make sysstat
# yum -y install libXp
# yum -y install libXp.i686
# yum -y install libXt.i686
# yum -y install libXtst.i686
5、创建Oracle用户组和用户
-
创建用户组 oinstall
# groupadd oinstall
-
创建用户组 dba
# groupadd dba
-
创建用户oracle,并加入用户组oinstall和dba
# useradd -m -g oinstall -G dba oracle
-
测试用户oracle是否创建成功
# id oracle
-
修改用户oracle的密码
# passwd oracle
6、配置Oracle用户可暂时拥有root权限
-
编辑 /etc/sudoers文件
# vim /etc/sudoers
-
找到
root ALL=(ALL) ALL
-
在下一行写入
oracle ALL=(ALL) ALL
7、配置系统内核参数
-
编辑 /etc/sysctl.conf 文件
-
添加以下内容
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144
vm.hugetlb_shm_group=1002 -
执行当前配置
# sysctl -p
8、配置资源限制文件
-
编辑 /etc/security/limits.conf 文件
-
# vim /etc/security/limits.conf
-
写入以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
9、配置PAM模块
-
编辑 /etc/pam.d/login 文件
vim /etc/pam.d/login
-
写入以下内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
10、配置linux环境变量文件
-
编辑 /etc/profile 文件
# vim /etc/profile
-
写入以下内容(1.注意 if 、 [] 、= 的两边是需要空格的,否则执行会报错;2.
if [ $USER = "oracle" ]; then
中 oracle 是Oracle用户名)if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi -
写入位置
pathmunge () {
case "😒{PATH}:" in
:"$1":)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}--写入位置开始
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
--写入位置结束if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then-- ksh workaround
EUID=
/usr/bin/id -u
UID=/usr/bin/id -ru
fi
USER="/usr/bin/id -un
"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi
11、修改linux发行版本
-
由于 Oracle 10g发行时,CentOS7并未发行,所以,需要修改linux发行版本,应对Oracle安装时的检测
-
编辑 /etc/redhat-release 文件
vim /etc/redhat-release
-
写入以下内容
--原文件内容
CentOS Linux release 7.5.1804 (Core)
--修改后内容
redhat 4
12、创建Oracle安装文件夹和数据存放文件夹
-
创建文件夹
# mkdir /opt/oracle # mkdir /opt/oracle/102
-
修改目录及子目录所有文件的拥有者
# chown -R oracle:dba /opt/oracle
13、配置主机名静态查询表
-
输出 /etc/hosts 文件内容
# cat /etc/hosts
-
如果有以下内容,则不需要修改(确保 127.0.0.1 是存在的,否则,在配置Oracle监听时会无法启动监听)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
14、注销root用户
- 注销 root 用户,使用 oraclu 重新登录系统
- 注意不是运行 # su oracle 命令
- 用ssh或者FinalShell以用户oracle连接
15、配置Oracle用户环境变量
-
进入用户 oracle 的用户目录
$ cd /home/oracle
-
编辑 .bash_profile 文件
$ vim .bash_profile
-
写入以下内容
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/102ORACLE_SID=radiu
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH -
执行 source 命令,使文件生效
$ source .bash_profile
16、安装配置vnc
-
安装vncserver
-
yum install tigervnc-server vncpasswd
-
vncserver自动启动配置,参加另一篇博客
三、安装 Oracle
1、解压缩Oracle安装文件
-
将 10201_database_linux_x86_64.cpio 安装包拷贝到 /opt/oracle 文件夹下
-
解压缩Oracle安装文件
cpio -idmv < 10201_database_linux_x86_64.cpio
-
进入解压目录
$ cd database
2、设置系统环境语言
-
如果当前CentOS的环境是中文,需要设置为英文,防止Oracle安装界面乱码
$ export LANG=en_US
3、开始安装
-
另起一个窗口以root用户登录操作
# export DISPLAY=:1.0 # xhost +
-
如果出现安装窗口显示太小,或只有一小条边框时,可以配置用户目录下的
.bash_profile
文件(没有就跳过)#--oracle为用户目录 $ vim /home/oracle/.bash_profile
-
配置内容如下:
export LANG=en_US
export JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType -
运行安装命令时,多加一个参数
$ ./runInstaller -ignoreSysPrereqs
4、安装过程
- 配置 Oracle Home Location(默认): /opt/oracle/102
- UNIX DBA Group(默认):dba
- 配置实例名、管理员sys的密码
- **下一步 **
- Enter the full path of the inventory directory(默认):
/opt/oracle/oraInventory
- Specify Operating System group name(用户选择):
dba
- 下一步
- 未验证通过的检查项,手动勾选验证,勾选后 Status 变为
User Verified
- **下一步 **
- 点击 Install 进行安装(如果Oracle安装过程有出错,可以直接忽略,点击 Continue )
出现的错误提示:
Error in invoking target ‘all_no_orcl’ of makefile ‘/opt/oracle/102/rdbms/lib/ins_rdbms.mk’.See’/opt/oracle/oraInventory/logs/installActions2018-10-22-01-14-29PM.log’ for details.
Error in invoking target ‘collector’ of makefile ‘/opt/oracle/102/rdbms/lib/ins_rdbms.mk’.See’/opt/oracle/oraInventory/logs/installActions2018-10-22-01-14-29PM.log’ for details.
- 等待 Database Configuration Assistant 窗口配置数据库
- (一般不会出现,可跳过)如果这里出现如下异常:
OUI-25031:Some of the configuration assistants failed.
解决:添加ip和主机名的映射
#--查询主机名
$ hostnamectl status
#--编辑/etc/hosts
$ vim /etc/hosts
--修改前
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6--修改后
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.31.10 localhost.localdomain
-
Database Configuration Assistant 配置完成后,点击 OK
-
稍等会弹出 Execute Configuration scripts 窗口(不要关闭)
-
重新打开一个终端,切换到用户root,执行上面窗口的.sh文件,(可直接复制窗口的文件路径)
# su root
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/102/root.sh
- 遇到下面命令行提示,直接按回车键
Enter the full pathname of the local bin directory: [/usr/local/bin]:
-
点击 OK 键
-
点击 Oracle Universal Installer: End of Installation 窗口的Exit 键,弹出是否退出的窗口,点击 Yes 键(如果出现只有一小条窗口的情况,把鼠标移到小条窗口上,调节窗口大小)
5、简单的测试
#--输出当前实例
$ echo $ORACLE_SID
#--多个实例时,指定当前实例
$ export ORACLE_SID=radius
#--启动监听
$ lsnrctl start
#--查看监听状态
$ lsnrctl status
#--启动sqlplus
$ sqlplus /nolog
#--dba登录
SQL> conn / as sysdba
#--启动当前实例
SQL> startup
#--检查当前实例是否启动成功(出现一排的ora_XXX_实例名,说明启动成功)
$ ps -ef|grep ora_
四、开机自启动
-
使用用户 root 进行登录系统
-
配置
/etc/oratab
文件# vim /etc/oratab
-
找到以下内容:
orcl:/opt/oracle/102:N
-
改为:
orcl:/opt/oracle/102:Y
-
配置
/etc/rc.d/rc.local
文件# vim /etc/rc.d/rc.local
-
写入以下内容:(oracle=用户名,后面是安装路径)
su oracle -lc "/opt/oracle/102/bin/lsnrctl start"
su oracle -lc /opt/oracle/102/bin/dbstart -
设置
rc.local
的可执行权限# chmod +x /etc/rc.d/rc.local
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具