Linux下Oracle数据库安装详解

Linux下Oracle数据库安装详解if USER oracle thenif SHELL bin ksh thenulimit p16384ulimit n65536elseul u16384 n65536fifivi etc sysctl conffs aio max nr fs file max ke

安装环境

一、安装前准备

1、创建运行oracle数据库的系统用户和用户组

[yxc@localhost ~]$ su root  #切换到root Password: [root@localhost ~]# groupadd oinstall  #创建用户组oinstall [root@localhost ~]# groupadd dba  #创建用户组dba [root@localhost ~]# useradd -g oinstall -g dba -m oracle  #创建oracle用户,并加入到oinstall和dba用户组 [root@localhost ~]# passwd oracle  #设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆 Changing password for user oracle. New password:   # 密码 BAD PASSWORD: The password is shorter than 8 characters Retype new password:   # 确认密码 passwd: all authentication tokens updated successfully. [root@localhost ~]# id oracle # 查看新建的oracle用户 uid=1001(oracle) gid=1002(dba) groups=1002(dba) 

2、修改/etc/sysctl.conf文件,输入命令:vi /etc/sysctl.conf ,将下列内容加入该文件。

fs.file-max =  fs.aio-max-nr =  kernel.shmall =  kernel.shmmax =  kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default =  net.core.rmem_max =  net.core.wmem_default =  net.core.wmem_max =  

使用/sbin/sysctl -p命令使 sysctl.conf 配置生效。

oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 

4.、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,将下列内容加入该文件。

session required /lib/security/pam_limits.so session required pam_limits.so 

5、 编辑 /etc/profile ,输入命令:vi /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 

6、创建数据库软件目录和数据文件存放目录,注意磁盘空间即可,这里我放到oracle用户下,输入如下命令:

mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product 

7、更改目录属主为 oracle 用户所有,输入命令:

chown -R oracle:oinstall /home/oracle/app 

8、切换为oracle用户登录

su - oracle 

export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 

10、切换为 root 用户,关闭 selinux

su root # 修改/etc/selinux/config文件 vi /etc/selinux/config 

修改SELINUX为disabled,如下:

# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled #此处修改为disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted 

二、软件包依赖

安装oracle之前需要许多软件包依赖,如果可用外网,使用如下命令安装。

yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 

查看这些软件包版本,可使用如下命令,如有未安装的会有提示。

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel 

如果 compat-libstdc++ 安装提示No package compat-libstdc++ available.,请使用命令yum install compat-libstdc++-33安装。
使用rpm -qa | grep "compat-libstdc"可查看。

三、安装

1、下载安装包

2、安装

解压安装包,命令如下:

unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip 

切换到oracle用户

su - oracle 

进入 database 目录,使用./runInstaller命令安装,如下

cd database ./runInstaller 

注:如果安装过程中出现弹窗很小,显示不全的问题,安装命令换为如下即可。

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

不出意外的话,恭喜你,将弹出安装界面,如果遇到display at least 256 colors这个问题,请看文末的解决办法。弹出安装界面后安装过程比较简单,就不细说了,步骤截图如下。
在这里插入图片描述

3、防火墙设置

oracle数据库默认端口号1521,这里设置防火墙开放1521端口,如下

firewall-cmd --add-port=1521/tcp --permanent --zone=public #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload 

四、相关使用

1、启动与关闭数据库
//oracle11为需要执行的oracle实例 export ORACLE_SID=oracle11 sqlplus /nolog connect /as sysdba //启动数据库 startup //关闭数据库 shutdown //查看登录的数据库实例 select instance_name from v$instance; //查看当前登录的用户 show user //查看数据字典包含哪些字段 desc dba_users; 

2、启动和停止监听器

在oracle用户下的OS层面执行,而不是在sqlplus中执行

//启动监听 lsnrctl start //停止监听 lsnrctl stop 

3、解锁用户
alter user username account unlock; //例如解锁scott用户,如下: alter user scott account unlock; 

4、创建用户
sqlplus /nolog //登录指定数据库 conn sys/pwd@oracle11 as sysdba; 

查看用户表空间放置位置:

select name from v$datafile; 

创建用户表空间

CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/oracle11/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; 

创建用户,指定密码和上面创建的用户表空间

CREATE USER yxc IDENTIFIED BY yxc DEFAULT TABLESPACE NOTIFYDB; 

赋予权限

grant connect,resource to yxc; grant unlimited tablespace to yxc; grant create database link to yxc; grant select any sequence,create materialized view to yxc; 

五、问题及解决方法

1、使用dbca创建数据库时,中文乱码

使用如下命令启动 dbca 即可

export LANG="en_US:UTF-8" dbca 

2、【ORACLE】安装时遇到“display at least 256 colors”
su - root password DISPLAY=:0.0 export DISPLAY ehco $DISPLAY xhost xhost + 
su - oracle DISPLAY=:0.0 export DISPLAY echo $DISPLAY 

方式2:也可以直接将DISPLAY写入配置文件

vim .bash_profile //配置display变量 export display=:0.0 生效配置文件 source .bash_profile 

3、安装过程中弹出错误,如下图所示

在这里插入图片描述
查看日志如下:
在这里插入图片描述
可能是glibc的版本过高所致(高于2.14),解决办法:
下载安装glibc-static-2.17-292.el7.x86_64.rpm,如下图所示,如需下载此包请前往:传送门
在这里插入图片描述
修改文件/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将












ctxhx: $(CTXHXOBJ) $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 

改为:

ctxhx: $(CTXHXOBJ) -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a 

在这里插入图片描述
接着又提示错误如下:
在这里插入图片描述




$(MK_EMAGENT_NMECTL) 

改为:

$(MK_EMAGENT_NMECTL) -lnnz11 

在这里插入图片描述
保存后点击 Retry 即可,如下:
在这里插入图片描述




4、plsql连接数据库时,报如下错误

在这里插入图片描述
解决:listener.ora中加入如下内容,其中orcl改为你的数据库实例名称

SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (SID_NAME = orcl) ) ) 

在这里插入图片描述

原创不易,转载请注明出处!最后感兴趣的可以关注下我的公众号(公众号搜索chaodev)。










































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213750.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午5:44
下一篇 2026年3月18日 下午5:44


相关推荐

  • 小白菜飘过计算机三级数据库[通俗易懂]

    小白菜飘过计算机三级数据库[通俗易懂]害,是真的没学啥没东西写了买书呜呜47大题归纳填空题46大题好久没更新了,害,把之前的三级数据库笔记录下来吧(强行刷存在感)计算机三级数据库也及格分佛佛的过了,虽然没学过但是机械刷题找规律还是勉强混过去了之前和朋友一起考感觉三级数据库的资料好少我还想说好好总结一波,刚考完还是很新鲜的但是不晓得能不能过…就没记录最新鲜的想法…等到出成绩我也忘得干干净净了…最近超级能逼逼叨,没想到写个CSDN…

    2022年6月18日
    45
  • OpenClaw安装

    OpenClaw安装

    2026年3月13日
    7
  • 【OpenClaw从入门到精通】第01篇:保姆级教程——从零开始搭建你的第一个本地AI助理(2026实测版)

    【OpenClaw从入门到精通】第01篇:保姆级教程——从零开始搭建你的第一个本地AI助理(2026实测版)

    2026年3月15日
    2
  • Java中List集合去除重复数据的方法

    Java中List集合去除重复数据的方法欢迎大家访问我的博客 地址 1 循环 list 中的所有元素然后删除重复 publicstatic Listlist for inti 0 i

    2026年3月19日
    2
  • ofbiz 安装启动

    ofbiz 安装启动官方网站的说明 英文比较好的朋友可以参照 ofbiz 官方下载安装地址 https cwiki apache org confluence display OFBIZ Demo and Test Setup Guide 下面解释说明一下 java 虚拟机下载 安装不会的自己搜一下 jdk 下载地址 http www oracle com technetwork java

    2026年3月17日
    1
  • 敏捷测试与传统测试的区别

    敏捷测试与传统测试的区别敏捷测试与传统测试的区别敏捷测试与传统测试的区别 并不是敏捷测试测得更快 也不是用的时间更少 更不是将测试的范围缩小 或者将质量降低来减少测试任务 而是在计划 阶段划分 文档 记录 沟通等方面的侧重不同 1 传统测试强调测试的计划性 认为没有良好的测试计划和不按计划执行 测试就难以控制和管理 而敏捷测试更强调测试的速度和适应性 侧重计划的不断调整以适应需求的变化 2 传统测试更具有阶段性 从

    2026年3月19日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号