在CentOS7下安装Oracle11教程
前言
安装oracle时,发现网上的文章总是缺少一些信息,导致安装不顺利,因为我对一些文章进行了整合,用以备忘。
Oracle安装
首先下载linux版本的oracle安装文件,然后通过XFTP上传到root文件夹下。
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
然后我们通过XShell连接Linux服务器,然后执行下面命令,查看Swap分区空间,不能小于2G。
grep SwapTotal /proc/meminfo
然后修改CentOS系统标识为redhat,因为redhat是Centos的正版形式,Oracle默认不支持CentOS。
vim /etc/redhat-release
清空redhat-release内的全部内容,(快捷键dd),改成redhat-7
redhat-7
注:linux编辑文件可以通过vi或者vim命令打开指定位置的文件,如vi appsettings.json,然后输入i进入编辑模式,输入ese退出编辑模式,输入:进入底行,输入wq保存退出(:wq)。
然后修改sysctl.conf
1 | vim /etc/sysctl.conf |
注:如vim命令无法执行,则需要先安装,安装命令如下:
1 | yum -y install vim* |
添加以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 | fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 kernel.shmall = 2097152 kernel.shmmax = 2147483648 net.ipv4.ip_local_port_range = 9000 65500 net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 net.core.rmem_default = 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576 |
修改完后,启用新的配置
1 | sysctl -p |
然后安装必须的软件包
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 unixODBC unixODBC-devel
然后创建安装oracle程序用户组
groupadd oinstall #创建安装oracle程序用户组 groupadd dba #创建DBA用户组 useradd -g dba -m oracle #创建用户oracle 并加入到dba组 usermod -a -G oinstall oracle #将用户oracle加入到oinstall组 passwd oracle #修改用户oracle的密码 id oracle #查看用户oracle的信息
然后创建oracle目录
mkdir -p /data/oracle #创建oracle主目录 mkdir -p /data/inventory #创建oralce配置目录 mkdir -p /data/src #创建oracle压缩包解压目录 #修改目录权限 chown -R oracle:oinstall /data/oracle chown -R oracle:oinstall /data/inventory chown -R oracle:oinstall /data/src #查看目录权限 ll /data
然后设置oracle用户的shell限制
1 | vim /etc/security/limits.conf |
添加内容如下:
1 2 3 4 | oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
然后修改用户环境变量
1 | vim /home/oracle/.bashrc |
添加内容如下:
1 2 3 4 5 6 7 8 9 | export PATH export ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=orcl export ORACLE_UNQNAME=orcl export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export LANG=C export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 |
然后激活/home/oracle/.bashrc
1 | source /home/oracle/.bashrc |
然后开始安装最开始上传到root文件夹下的oracle
先解压缩安装包到 /data/src/,然后给oracle用户授权
1 2 3 4 | unzip linux.x64_11gR2_database_1of2.zip -d /data/src/ unzip linux.x64_11gR2_database_2of2.zip -d /data/src/ chown -R oracle:oinstall /data/src/ ll /data/src/ |
然后执行下面命令,修改SELINUX=disabled,关闭selinux
1 | vim /etc/selinux/config |
修改内容
1 | SELINUX=disabled |
然后重启系统
1 | reboot |
重启后,进入Oracle用户
1 | su oracle |
然后编辑数据库安装文件
1 | vim /data/src/database/response/db_install.rsp |
由于需要配置的字段比较多,并且并不是上下连续的,所以我们可以在查看模式下(按esc即可),通过【/字符串】定位字符串位置,如/oracle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | oracle.install.option=INSTALL_DB_SWONLY # 安装类型 ORACLE_HOSTNAME=oracle.server # 主机名称 UNIX_GROUP_NAME=oinstall # 安装组 INVENTORY_LOCATION=/data/inventory # INVENTORY目录 SELECTED_LANGUAGES=en,zh_CN # 选择语言 ORACLE_HOME=/data/oracle/product/11.2.0/db_1 # oracle_home ORACLE_BASE=/data/oracle # oracle_base oracle.install.db.InstallEdition=EE # oracle版本 oracle.install.db.DBA_GROUP=dba # dba用户组 oracle.install.db.OPER_GROUP=oinstall # oper用户组 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型 oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName oracle.install.db.config.starterdb.SID=orcl # SID oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码 oracle.install.db.config.starterdb.memoryLimit=800 # 自动管理内存的最小内存(M) oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码 DECLINE_SECURITY_UPDATES= true # 设置安全更新 |
以上配置修改必须全部修改,不然会无法安装。
修改完配置进行静默安装oracle,执行命令如下
1 | /data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq |
安装oracle需要等待的时间比较长,这里需要耐心。
安装完成后,我们需要回到root用户执行命令,/data/oracle/product/11.2.0/db_1/root.sh,我们可以双击Xshell的窗口,这样我们会打开一个新的窗口,并且是root用户,因为后面还要回到oracle用户,这样就不用切换用户了。
1 | /data/oracle/product/11.2.0/db_1/root.sh |
然后再回到oracle用户,编辑监听配置文件。
1 | vim /data/src/database/response/netca.rsp |
修改内容如下
1 2 3 4 5 | INSTALL_TYPE= "" custom "" # 安装的类型 LISTENER_NUMBER=1 # 监听器数量 LISTENER_NAMES={ "LISTENER" } # 监听器的名称列表 LISTENER_PROTOCOLS={ "TCP;1521" } # 监听器使用的通讯协议列表 LISTENER_START= "" LISTENER "" # 监听器启动的名称 |
然后执行以下netca.rsp,如下
1 | /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp |
然后编辑数据库实例文件
1 | vim /data/src/database/response/dbca.rsp |
编辑内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | RESPONSEFILE_VERSION = "11.2.0" // 版本号 OPERATION_TYPE = "createDatabase" // 操作为创建实例 GDBNAME = "orcl" // 数据库实例名 SID = "orcl" // 实例名字 TEMPLATENAME = "General_Purpose.dbc" // 建库用的模板文件 SYSPASSWORD = "oracle" // SYS管理员密码 SYSTEMPASSWORD = "oracle" // SYSTEM管理员密码 SYSMANPASSWORD= "oracle" DBSNMPPASSWORD= "oracle" DATAFILEDESTINATION =/data/oracle/oradata // 数据文件存放目录 RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录 CHARACTERSET = "AL32UTF8" // 字符集 NATIONALCHARACTERSET= "AL16UTF16" // 字符集 TOTALMEMORY = "1638" // 1638MB,物理内存2G*80% |
然后静默创建数据库实例
1 | /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp |
然后查看下实例是否运行情况
1 | ps -ef | grep ora_ | grep -v grep |
然后修改启动和关闭实例的程序
修改启动
1 | vim /data/oracle/product/11.2.0/db_1/bin/dbstart |
修改内容
1 | ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1 |
修改关闭
1 | vim /data/oracle/product/11.2.0/db_1/bin/dbshut |
修改内容
1 | ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1 |
然后修改/etc/oratab
1 | vim /etc/oratab |
修改内容,将orcl:/data/oracle/product/11.2.0:N修改为orcl:/data/oracle/product/11.2.0:Y。
dbstart和dbshut 这2个脚本在执行时会检查/etc/oratab 文件里的配置,为Y时才能继续执行。
1 | orcl:/data/oracle/product/11.2.0:Y |
然后启动oracle实例
/data/oracle/product/11.2.0/db_1/bin/dbstart
然后回到root用户,设置开机启动Oracle,可以刚刚打开的窗口中操作。
编辑rc.local,执行命令如下
1 2 | chmod +x /etc/rc.d/rc.local vim /etc/rc.d/rc.local |
在文件最后追加以下内容:
1 2 | su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start" su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart" |
然后我们可以在oracle用户窗口输入以下命令,进入oracle数据库
1 | sqlplus / as sysdba |
然后执行个查询命令如下:
1 | select status from v$instance |
到此oracle就安装成功了。
但我们需要远程连接这个oracle,我们还需要修改listener.ora和tnsnames.ora文件。
我们通过可以XFTP找到这俩文件,右键用记事本编辑,如下图:
编辑内容如下。
listener.ora:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = ORCL) (SID_NAME = orcl) (ORACLE_HOME = /data/oracle/product/11.2.0/db_1) ) ) ADR_BASE_LISTENER = /data/oracle |
注:SID_LIST_LISTENER是将oracle实例的一些信息静态注册到服务中用的,缺少这远程不可连接。
tnsnames.ora:
1 2 3 4 5 6 7 8 9 10 11 | # tnsnames.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) |
这两个文件内容修改后,关闭oracle的监听服务,再启动就可以远程连接了。
注:文档编辑的格式一旦错误也会导致监听服务无法启动。
1 | lsnrctl stop #关闭监听 在oracle用户下执行lsnrctl start #启动监听 在oracle用户下执行 |
如果还无法远程,则可能是防火墙原因,防火墙管理命令如下:
1 2 3 4 | systemctl status firewalld #查看防火墙状态 systemctl stop firewalld #暂时关闭防火墙 systemctl disable firewalld #永久关闭防火墙 systemctl start firewalld #打开防火墙 |
然后我们再用PLSQL就可以连接oracle了,如果PLSQL连接不上,可以先检查client\network\ADMIN\tnsnames.ora,看看配置是否正确。
参考配置如下
1 2 3 4 5 6 7 8 | ORCL@192.168.1.100 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) |
----------------------------------------------------------------------------------------------------
到此,CentOS7下安装Oracle11就介绍完了。
----------------------------------------------------------------------------------------------------
注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的【推荐】,非常感谢!
https://www.cnblogs.com/kiba/articles/16837139.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)