国产操作系统HopeStage,离线静默安装oracle11g(详细步骤)

发布时间:2026/7/18 9:54:01
国产操作系统HopeStage,离线静默安装oracle11g(详细步骤) HopeStage是润和软件的一款企业级操作系统是基于华为 openEuler开源社区构建的。安装过的小伙伴一定知道openEuler和centos极其相似确切的说应该是Centos8所以接下来的安装和centos下的也是极为相似的。各位大佬可以跳着看。环境准备首先安装一个虚拟机官网下载的镜像标准安装这里不在详细赘述虚拟机配置为4G内存2核4线程 35G磁盘启动有点慢感觉很厚重。下面正式开始安装配置本地yum源这里是以内网的前提下进行的oracle安装如果有外网可以直接使用网卡yum源创建目录mkdir /mnt/cdrom挂载其实装完虚拟机已经挂载在media上了个人习惯mount /dev/sr0 /mnt/cdrom/启动时没有连接镜像也可以上传一份到服务器然后挂载这里不在细说。备份原有yum.repos.d目录mv /etc/yum.repos.d /etc/yum.repos.d.bak重建yum.repos.d目录mkdir /etc/yum.repos.d新建repo文件并写入内容echo [HopesStage-local.repo] namekylin-local baseurlfile:///mnt/cdrom enabled1 gpgcheck0 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-HopeStage /etc/yum.repos.d/HopesStage-local.repo清空原缓存信息yum clean all加载缓存yum makecache可以测试下是否成功了yum list至此本地yum源已经配置完成。安装依赖查看依赖rpm -q binutils compat-libcap1 compat-libstdc elfutils elfutils-libelf elfutils-libelf-devel expat gcc gcc-c glibc glibc-devel ksh libaio libaio-devel libgcc libstdc libstdc-devel libXi libXtst xorg-x11-xauth make sysstat zip unzip安装依赖根据上面的提示安装缺少的部分。直接使用yum install -y binutils expat gcc gcc-c glibc glibc-devel ksh libaio libaio-devel libgcc libstdc libstdc-devel libXi libXtst xorg-x11-xauth make sysstat zip unzip是安装不上的这个有点奇怪。我们单独安装缺啥补啥。安装gcc-cyum install -y gcc-c安装libaio-develyum install -y libaio-devel安装sysstatyum install -y sysstat重点来了这里有些是需要手动安装的依赖又由于没找打HopeStage官方的镜像库直接从centos8的仓库下载下来安装了。compat-libcap1、elfutils-libelf、compat-libstdc、ksh虽然也没有但是好像不影响安装或者有什么功能没用到就没报错建议还是装上。需要安装的是libnsl否则后面会报错。这里分享下我用到的版本点击这里下载 https://download.csdn.net/download/u011048844/87740410网盘链接: https://pan.baidu.com/s/1KQrjmo0vfjRfzYIVGkW1Tg?pwd44cg 提取码: 44cg安装libnsllibnsl-2.28-72.el8.x86_64.rpmrpm -ivh libnsl-2.28-72.el8.x86_64.rpm --nodeps --force创建用户和用户组groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle -p oracle系统参数配置修改内核参数编辑sysctl.confvi /etc/sysctl.conf加入内容如下#Oraclekernel.sem 250 32000 100 128kernel.shmmni 4096fs.aio-max-nr 1048576net.ipv4.ip_local_port_range 9000 65500net.core.rmem_default 262144net.core.rmem_max 4194304net.core.wmem_default 262144net.core.wmem_max 1048576fs.file-max 6815744vm.min_free_kbytes 524288vm.swappiness 100配置生效sysctl -p修改用户限制vi /etc/security/limits.conf加入如下内容oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 10240oracle hard nofile 65536oracle soft stack 10240vi /etc/pam.d/login加入如下内容session required pam_limits.sovi /etc/profile加入如下内容if [ \$USER oracle ]; thenif [ \$SHELL /bin/ksh ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fi配置生效source /etc/profile关闭selinux因为是静默安装所以不需要图形界面了设置为disabledvi /etc/selinux/confighost配置vi /etc/hosts加入如下内容192.168.139.139(自己的IP)template主机名可以用hostname查询GCC版本由于HopeStage系统与Centos8类似安装的gcc版本过高centos7上安装就不需要这一步虽然提示安装成功但是无法启动。所以这里提前做一些调整。上传libpthread_nonshared.a切换到文件所在目录我这里是/app,按实际的来就好cd /app/复制libpthread_nonshared.a到/usr/lib64/下cp libpthread_nonshared.a /usr/lib64/赋予权限chmod 755 /usr/lib64/libpthread_nonshared.a切换目录cd /etc/alternatives建立软连接ln -sf /usr/bin/ld.gold ld安装ORACLE漫长的准备工作结束了现在正是开始安装oracle创建base目录这里要说明的是小编并没有使用常规的/u01也没有单独的分区。mkdir /oracle上传oracle安装包这里就不贴连接了自行下载吧。我这里使用的是11.0.2.4的包p13390677_112040_Linux-x86-64_1of7.zipp13390677_112040_Linux-x86-64_2of7.zip调整文件所属及权限chown -R oracle:oinstall /oraclechmod -R 775 /oracle创建oraInst.locvi /etc/oraInst.loc加入如下内容注意调整路径哦inst_groupoinstallinventory_loc/oracle/oraInventory修改权限chown oracle:oinstall /etc/oraInst.locchmod 664 /etc/oraInst.loc解压文件切换用户 中间的横杠不能少不然改的环境变量有问题。上面所有操作都是在root用户下进行的后面有用户切换操作需要注意su - oracle切换目录cd /oracle/解压文件unzip p13390677_112040_Linux-x86-64_1of7.zipunzip p13390677_112040_Linux-x86-64_2of7.zip设置环境变量vi ~/.bash_profile加入如下内容export PS1[\h:\u:$PWD]$export ORACLE_BASE/oracleexport ORACLE_HOME$ORACLE_BASE/product/11.2.0/db_1#数据库实例后续创建数据库时需要按照该实例创建export ORACLE_SIDhusolarexport PATH$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatchexport TNS_ADMIN$ORACLE_HOME/network/adminexport ORACLE_TERMvt100export NLS_LANGAMERICAN_AMERICA.ZHS16GBKexport NLS_DATE_FORMATDD-MON-YYYY HH24:MI:SSexport ORA_NLS11$ORACLE_HOME/nls/dataexport LD_LIBRARY_PATH$ORACLE_HOME/lib32:$ORACLE_HOME/lib:/usr/libexport LIBPATH$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/ctx/libexport CLASSPATH$ORACLE_HOME/JRE/lib:$ORACLE_HOME/JRE/lib/rt.jar:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport TEMP/tmpexport TMP/tmpexport TMPDIR/tmpstty erase ^Hstty erase ^?umask 022生效配置文件source ~/.bash_profile响应文件设置mkdir /oracle/etccp /oracle/database/response/* /oracle/etc/chmod 700 /oracle/etc/*.rsp编辑文件vi /oracle/etc/db_install.rsporacle.install.optionINSTALL_DB_SWONLY安装类型ORACLE_HOSTNAMEtemplate主机名称hostname查询这里要注意主机名要在 /etc/hosts 文件中配置好ip对应关系否则安装会报错UNIX_GROUP_NAMEoinstall安装组INVENTORY_LOCATION/oracle/oraInventorySELECTED_LANGUAGESen,zh_CN,zh_TWORACLE_HOME/oracle/product/11.2.0/db_1ORACLE_BASE/oracleoracle.install.db.InstallEditionEEoracle版本oracle.install.db.EEOptionsSelection falseoracle.install.db.DBA_GROUPdbadba用户组oracle.install.db.OPER_GROUPoinstalloper用户组oracle.install.db.config.starterdb.typeGENERAL_PURPOSE数据库类型oracle.install.db.config.starterdb.globalDBNamehusolar这里是用户自己定义的SID下面配置保持一致oracle.install.db.config.starterdb.SIDhusolarSID这里是用户自己定义的SID下面配置保持一致oracle.install.db.config.starterdb.memoryLimit1024自动管理内存的内存(M)oracle.install.db.config.starterdb.password.ALLhusolar123设定所有数据库默认用户使用同一个密码自建用户不受影响SECURITY_UPDATES_VIA_MYORACLESUPPORTfalseDECLINE_SECURITY_UPDATEStrue设置安全更新这个一定要选true否则会无限提醒邮件地址有问题终止安装。执行安装切换目录cd /oracle/database/静默安装./runInstaller -silent -ignorePrereq -responseFile /oracle/etc/db_install.rsp可以另外开一个窗口查看日志当前窗口不能关。tail -f /oracle/oraInventory/logs/installActions2023-04-28_03-24-32PM.log过一会儿提示安装成功了。并且提示需要用root用户执行一个脚本直接在新开的窗口执行sh /oracle/product/11.2.0/db_1/root.sh至此数据库软件已经安装成功了 。接下来配置数据库数据库配置用户切换为oracle,切换目录su - oraclecd /oracle/product/11.2.0/db_1/dbs创建ora文件cat init.ora init$ORACLE_SID.ora其实就是创建一个文件名为inithusolar.ora的文件husolar是前面配置的SID, 内容为init.ora文件里的内容编辑文件vi inithusolar.ora修改内容如下db_namehusolarmemory_target1Gprocesses 300audit_file_dest/oracle/admin/husolar/adumpaudit_trail dbdb_block_size8192db_domaindb_recovery_file_dest/oracle/flash_recovery_area/husolardb_recovery_file_dest_size2Gdiagnostic_dest/oracledispatchers(PROTOCOLTCP) (SERVICEORCLXDB)open_cursors300remote_login_passwordfileEXCLUSIVEundo_tablespaceUNDOTBS1# You may want to ensure that control files are created on separate physical# devicescontrol_files (ora_control1, ora_control2)compatible 11.2.0创建目录mkdir -p /oracle/admin/husolar/adump mkdir -p /oracle/flash_recovery_area/husolar mkdir -p /oracle/oradata/husolar编辑建库脚本vi /oracle/script.sql添加内容如下 这里数值做了减少虚拟机资源不够。CREATE DATABASEhusolarUSER SYS IDENTIFIED BY sysUSER SYSTEM IDENTIFIED BY systemLOGFILEGROUP 1 (/oracle/oradata/husolar/redo01.log) SIZE 50M,GROUP 2 (/oracle/oradata/husolar/redo02.log) size 50M,GROUP 3 (/oracle/oradata/husolar/redo03.log) size 50MMAXLOGFILES 5MAXLOGMEMBERS 5MAXLOGHISTORY 200MAXDATAFILES 10000MAXINSTANCES 1CHARACTER SET ZHS16GBKNATIONAL CHARACTER SET AL16UTF16datafile /oracle/oradata/husolar/system01.dbf size 1024M REUSEEXTENT MANAGEMENT LOCALsysaux datafile /oracle/oradata/husolar/sysaux01.dbf size 1024M REUSEdefault temporary tablespace temptempfile /oracle/oradata/husolar/temp01.dbf size 1024M REUSEundo tablespace UNDOTBS1datafile /oracle/oradata/husolar/undotbs01.dbf size 1024M REUSEAUTOEXTEND off;启动sqlplus / as sysdbastartup nomount;执行脚本/oracle/script.sql;/oracle/product/11.2.0/db_1/rdbms/admin/catalog.sql;继续执行接下来这个脚本耗时比较长可能也会有些报错并不影响耐心等待。/oracle/product/11.2.0/db_1/rdbms/admin/catproc.sql;继续执行脚本/oracle/product/11.2.0/db_1/rdbms/admin/utlrp.sql;这里做个切换conn system/system;接着执行脚本会有报错没关系/oracle/product/11.2.0/db_1/sqlplus/admin/pupbld.sql;退出后重新进quitsqlplus / as sysdba重启shutdown immediate;startup;退出quit监听配置修改listener.oravi /oracle/product/11.2.0/db_1/network/admin/listener.ora添加内容如下#Generated by oracle configuration tools.SID_LIST_LISTENER(SID_LIST(SID_DESC(GLOBAL_DBNAMEhusolar)(ORACLE_HOME/oracle/product/11.2.0/db_1)(SID_NAMEhusolar)))LISTENER(DESCRIPTION(ADDRESS(PROTOCOLTCP)(HOSTtemplate)(PORT1521)))ADR_BASE_LISTENER /oracle修改tnsnames.oravi /oracle/product/11.2.0/db_1/network/admin/tnsnames.ora添加内容如下# Generated by Oracle configuration tools.husolar (DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST template)(PORT 1521)))(CONNECT_DATA (SID husolar)))启动监听lsnrctl start配置开机启动这里需要采用systemctl的方式虽然centos7时还可以通过rc.local方式配置(添加可执行权限)但是在HopeStage中尝试后没有成功。设置允许开机启动vi /etc/oratab添加内容如下husolar:/oracle/product/11.2.0/db_1:Y切换为root用户(注销)或者重新打开一个窗口也可以exit编写启动脚本vi /usr/bin/oracle.sh调整权限chmod 777 /usr/bin/oracle.sh编写oracle11g.service启动脚本vi /etc/systemd/system/oracle11g.service添加内容如下[Unit]DescriptionOracle11gAftersyslog.target network.target[Service]LimitMEMLOCKinfinityLimitNOFILE65535TypeoneshotRemainAfterExityesUseroracleEnvironmentORACLE_HOME/oracle/product/11.2.0/db_1ExecStart/usr/bin/oracle.sh[Install]WantedBymulti-user.target启用oracle11g服务systemctl enable oracle11g到这里数据安装配置已经基本结束了。接下来我们做一些其他配置。防火墙设置启动防火墙systemctl start firewalld开放1521端口firewall-cmd --zonepublic --add-port1521/tcp --permanent重新加载firewall-cmd --reload当然要使用数据库还需要用户和表空间。用户和表空间切换oracle用户并登录su - oracle sqlplus / as sysdba创建表空间表空间大小、是否自动增长亦或是建立多个表空间文件请自行调整。create tablespace husolar datafile /oracle/oradata/husolar/husolar01.dbf size 1024M;创建用户并指定表空间create user husolar identified by husolar123 default tablespace husolar;赋予权限简单粗暴直接给dba权限grant connect,dba to husolar;退出quit测试登录sqlplus husolar/husolar123当然了我们还是要用工具测试连接下的至此全部结束可以愉快的使用数据库了。