应该是最完整的Oracle安装教程了,全程在测试服务器上完成,软件环境:Red Hat Enterprise Linux 6;Oracle 11g (11.1.0.6)
1. 从Oracle网站下载linux_11gR1_database_1013.zip,在终端输入unzip linux_11gR1_database_1013.zip进行解压,解压后得到的database文件夹即是Oracle的安装文件。
2. 修改/etc/hosts,添加IP地址和域名的映射关系:
1 2 3 4 5 6 | #格式如下 <IP-address> <fully-qualified-machine-name> <machine-name> #比如 127.0.0.1 localhost.localdomain localhost 10.16.37.104 ol5-11gr1.localdomain ol5-11gr1 |
3. 修改/etc/sysctl.conf,在文件中增加以下内容:
1 2 3 4 5 6 7 8 9 10 11 | kernel.shmall = 2097152 kernel.shmmax = 2147483648 # Smallest of -> (Half the size of the physical memory) or (4GB - 1 byte) kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 fs. file -max = 65536 # 512 * PROCESSES 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 |
4. 在终端运行/sbin/sysctl -p,使内核参数立即生效。
5. 修改/etc/security/limits.conf,在文件中增加以下内容:
1 2 3 4 | oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
6. 修改/etc/pam.d/login,在文件中增加以下内容:
1 | session required pam_limits.so |
7. 修改/etc/selinux/config,禁用SELinux:
1 | SELINUX=disabled |
8. 创建Oracle用户和组,在终端输入下列命令:
1 2 3 4 5 6 7 | groupadd oinstall groupadd dba groupadd oper groupadd asmadmin useradd -g oinstall -G dba,oper,asmadmin oracle passwd oracle #修改oracle用户的密码 |
9. 创建Oracle安装目录,并赋予用户和组权限
1 2 3 | mkdir -p /u01/app/oracle/product/11 .1.0 /db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01 |
10. 终端输入su - oracle,切换到oracle用户,修改.bash_profile文件,添加Oracle环境变量:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Oracle Settings TMP= /tmp ; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=ol5-11gr1.localdomain; export ORACLE_HOSTNAME ORACLE_BASE= /u01/app/oracle ; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE /product/11 .1.0 /db_1 ; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH= /usr/sbin :$PATH; export PATH PATH=$ORACLE_HOME /bin :$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME /lib : /lib : /usr/lib ; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME /JRE :$ORACLE_HOME /jlib :$ORACLE_HOME /rdbms/jlib ; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
需要注意的是ORACLE_HOSTNAME变量和ORACLE_SID变量需要根据实际需求修改。
11. 以oracle用户登录,设置LANG环境变量,以解决Oracle安装界面的乱码问题:
1 | export LANG=en_US.UTF-8 |
12. 进入database文件夹,运行./runInstaller启动安装程序。
13. 进入安装界面,可以选择基本安装或者高级安装,只要前面设置的环境变量没有问题,安装程序会自动填写目录位置:
14. 选择高级安装,可以手动设置SYS,SYSTEM,SYSMAN,DBSNMP用户密码,点击下一步:
15. 点击下一步:
16. 选择安装企业版本,也可以自定义组件:
17. 安装程序自动填写,点击下一步:
18. 这一步检查系统设置等是否符合安装最低需求,Oracle 11gR1可以安装在RHEL6上,选择复选框可跳过系统检测:
19. 点击下一步:
20. 点击下一步:
21. 确保全局数据库名称和Oracle SID设置正确,点击下一步:
22. 进入数据库设置页面,内存管理设置为自动管理即可:
23. 进入字符集选项卡,按需求修改数据库字符集为AL32UTF8,点击下一步:
24. 点击下一步:
25. 设置数据库存放位置,点击下一步:
26. 点击下一步:
27. 设置SYS,SYSTEM,SYSMAN,DBSNMP用户密码,点击下一步:
28. 点击下一步:
29. 点击下一步:
30. 安装信息确认,确认无误点击下一步:
31. 正在安装。。。
32. 安装过程中可能会出现下列错误,忽略选择继续即可:
33. 正在配置。。。
34. 数据库创建完成,显示了刚才设置的数据库名和SID等信息,点击确定:
35. 出现以下窗口时,打开终端su到root,运行列表中的脚本,完成后点击确定:
36. 出现下列界面表示数据库已经安装成功:
37. 安装完成后数据局服务器已经是启动状态,如果系统reboot,则需要手动启动Oracle数据库服务和监听服务,或者按照这篇文章配置数据库服务器自动启动脚本:
1 2 3 4 5 6 7 | sqlplus /nolog SQL > conn / as sysdba SQL > startup #启动数据库服务 #如果存在多个数据库可以指定启动startup <数据库名>, 比如startup orcl #相当于startup nomount, alter database mount, alter database open #如果上一次数据库非正常关闭或者遇到一些问题,可以尝试强制启动方式startup force SQL > quit |
1 2 | lsnrctl status #查看监听服务状态 lsnrctl start #启动监听服务 |
如果需要手动停止或重启数据库服务,按照相反的顺序操作即可:
1 2 3 4 5 6 7 8 9 10 | lsnrctl stop sqlplus /nolog conn / as sysdba SQL > shutdown #shutdown参数 #normal 需要等待所有的用户断开连接 #immediate 等待用户完成当前的语句 #transactional 等待用户完成当前的事务 #abort 不做任何等待,直接关闭数据库(可能会丢失数据) SQL > quit |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)