重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
说明:看网上Linux下安装Oracle 都有图形化的步骤,但是Linux系统通常是直接SSH连接的。系统在初始安装的时候就没有安装桌面,要为了迎合安装oracle需要去安装个Linux桌面,使用VNC。。。总感觉好麻烦。在此研究了一下Oracle 11g 安装。可以在命令行安装。并且可以不需要再初次安装时导出应答文件。
10年积累的成都网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有桃山免费网站建设让你可以放心的选择与我们合作。
注意:如果是Oracle 12安装的时候需要在一模一样的环境的下使用图形化安装一遍,目的是将安装Oracle 12时的应答文件导出来。这样在以后相同环境,相同目录结构下安装,就可以直接无图形化安装了。
系统:Centos 6.4 x64
一、准备Oracle 11gR2的安装条件
去官方网站下载 http://www.oracle.com/cn/downloads/index.html 安装包,有2个包,大约2GB左右
包名称:
linux.x64_11gR2_database_1of1.zip
linux.x64_11gR2_database_2of2.zip
1. 系统配置要求
1)物理内存1GB以上,交换空间大约为物理内存的2倍。
2)安装目录(/data/oracle)建议有8GB以上、/tmp目录建议有1GB以上可用空间。
3)提前配置好主机名、IP地址,完成安装以后不要再改主机名。
检查内存大小,大概有2G,满足要求
[root@ns1bin]# free -m total used free shared buffers cached Mem: 1876 1808 68 0 12 1486 -/+buffers/cache: 308 1567 Swap: 1023 10 1013
检测swap和/data目录,也是满足要求的
[root@ns1bin]# df -hT
文件系统 类型 容量 已用 可用 已用%% 挂载点
/dev/sda3 ext4 19G 9.7G 8.0G 55% / tmpfs tmpfs 939M 444M 495M 48% /dev/shm /dev/sda1 ext4 194M 27M 158M 15% /boot /dev/sdb1 ext4 20G 6.0G 13G 33% /data
修改交换分区配置,将原来的一行注释掉,新加一行。不然的话
会提示ORA-00845: MEMORY_TARGET not supported on this system错误
vi /etc/fstab
#tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
重启系统
reboot
2. 需要的软件环境
yum -y install binutils compat-libstdc++ compat-libstdc++-33elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers ksh libaio-devellibstdc++-devel make sysstat unixODBC-devel binutils-* compat-libstdc++*elfutils-libelf* glibc* gcc-* libaio* libgcc* libstdc++* make* sysstat*unixODBC* wget unzip yum clean all
卸载ksh,满足兼容要求,改装RHEL5中的pdksh
rpm -e ksh wgetftp://ftp.pbone.net/mirror/ftp.scientificlinux.org/linux/scientific/55/i386/SL/pdksh-5.2.14-36.el5.i386.rpm
安装pdksh必须要有编译环境,否则报错
rpm -ivh pdksh-5.2.14-36.el5.i386.rpm
报错就添加 --nodeps --force
将oracle软件包上传到/opt目录
解压软件包
unzip linuxamd64_11gR2_database_1of2.zip unzip linuxamd64_11gR2_database_2of2.zip
3. 内核参数调整(不低于以下值)
vi /etc/sysctl.conf
最后一行添加
kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
加载参数
sysctl -p
4. 用户环境要求
(1)创建相关用户、组账号
安装组
groupadd oinstall
管理组
groupadd dba
运行用户
useradd -g oinstall -G dba oracle
设置密码
passwd oracle
(2)调整用户变量
vi ~oracle/.bash_profile
最后一行添加
umask 022 export.UTF-8 export PATH=$PATH:/data/oracle/product/11gr2/dbhome_1/bin export ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1 export ORACLE_SID=orcl
source ~oracle/.bash_profile
vi /etc/profile
最后一行添加
export PATH=$PATH:/data/oracle/product/11gr2/dbhome_1/bin export ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1 export ORACLE_SID=orcl
更新系统环境
source /etc/profile
(3)调整会话限制
vi /etc/pam.d/login
最后一行添加
session required pam_limits.so
vi /etc/security/limits.conf
最后一行添加
oracle soft nproc 8192 oracle hard nproc 16384 oracle soft nofile 32768 oracle hard nofile 65536
5. 安装目录准备
创建基本目录
mkdir -p /data/oracle chown -R oracle:oinstall /data/oracle/ chmod -R 775 /data/oracle/
若应答文件内已配置,此文件貌似可无
vi /etc/oraInst.loc
inventory_loc=/data/oracle/oraInventory inst_group=oinstall
6.正式安装
切换到oracle用户,注意,必须是oracle用户,root用户是无法安装的
su oracle cd /opt/database ./runInstaller-silent -debug -force \ DECLINE_SECURITY_UPDATES=true\ oracle.install.option=INSTALL_DB_SWONLY\ UNIX_GROUP_NAME=oinstall\ INVENTORY_LOCATION=/data/oracle/oraInventory\ ORACLE_HOME=/data/oracle/product/11gr2/dbhome_1\ ORACLE_BASE=/data/oracle\ oracle.install.db.InstallEdition=EE\ oracle.install.db.EEOptionsSelection=true\ oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0\ oracle.install.db.DBA_GROUP=dba\ oracle.install.db.OPER_GROUP=dba\ oracle.install.db.isRACOneInstall=false\ DECLINE_SECURITY_UPDATES=true\ 正在启动 OracleUniversal Installer... 可以在以下位置找到本次安装会话的日志: /data/oracle/oraInventory/logs/ /data/oracle/product/11gr2/dbhome_1/root.sh Check/data/oracle/product/11gr2/dbhome_1/install/root_ns1.centos.com_2014-12-04_04-24-51.logfor the output of root script
启动监听,第一次运行会报错,会生成listener.ora文件
su oracle netca /silent /responsefile /opt/database/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent"= true
参数"responsefile"= /opt/database/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services配置:
完成概要文件配置。
Oracle Net监听程序启动:
为该监听程序提供的信息正由此计算机上的其他软件使用。
未能启动监听程序。
有关详细信息,请查看跟踪文件:/data/oracle/cfgtoollogs/netca/trace_OraDB12Home1-1412044上午3026.log
Oracle Net Services配置失败。退出代码是1
编辑监听文件
su root vi /data/oracle/product/11gr2/dbhome_1/network/admin/listener.ora
将180.168.41.175改成自己的主机名
例如:
(ADDRESS = (PROTOCOL = TCP)(HOST = ns5.centos.com)(PORT =1521))
再次运行
su oracle netca /silent /responsefile /opt/database/response/netca.rsp
正在对命令行参数进行语法分析:
参数"silent"= true
参数"responsefile"= /opt/database/response/netca.rsp
完成对命令行参数进行语法分析。
Oracle Net Services配置:
完成概要文件配置。
监听程序"LISTENER"已存在。
成功完成 Oracle NetServices配置。退出代码是0
启动服务
lsnrctl start
查看状态
lsnrctl status
查看监听端口
[oracle@ns1 database]$ netstat -naptlu | grep 1521
(Not all processes could be identified, non-owned processinfo
will not be shown,you would have to be root to see it all.)
tcp 0 0 :::1521 :::* LISTEN 4898/tnslsnr
执行完后, 监听就已经启动了, 默认端口是1521, 默认是动态监听, 只要实例启动了就会监听到.
su root cp /opt/database/response/dbca.rsp ~oracle chmod 755 ~oracle/dbca.rsp chown oracle:oinstall ~oracle/dbca.rsp su oracle vi ~/dbca.rsp
GDBNAME = "orcl.ns5.centos.com" //全局数据库的名字=SID+主机域名
SID="orcl" // SID
CHARACTERSET="AL32UTF8" //编码
NATIONALCHARACTERSET="UTF8" //编码
SYSPASSWORD = "Oracle" //密码
SYSTEMPASSWORD = "Oracle" //密码
进行静默安装数据库,请耐心等待几分钟
[oracle@ns1database]$ dbca -silent -responseFile ~/dbca.rsp
复制数据库文件
1%已完成
3%已完成
11%已完成
18%已完成
26%已完成
33%已完成
37%已完成
正在创建并启动 Oracle实例
40%已完成
45%已完成
50%已完成
55%已完成
56%已完成
60%已完成
62%已完成
正在进行数据库创建
66%已完成
70%已完成
73%已完成
85%已完成
96%已完成
100%已完成
有关详细信息,请参阅日志文件"/data/oracle/cfgtoollogs/dbca/orcl/orcl.log"。
[root@ns1~]$ sqlplus /nolog
SQL> conn / as sysdba
Connected.
SQL> startup
ORA-01081:cannot start already-running ORACLE - shut it down first
Oracle用户密码有效期问题
查看当前有效期,默认是180天
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';
PROFILE
--------------------------------------------------------------------------------
RESOURCE_NAME RESOURCE
----------------------------------------
LIMIT
--------------------------------------------------------------------------------
COM
---
DEFAULT
PASSWORD_LIFE_TIME PASSWORD
180
NO
修改为无限期
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
再次查看
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME';
发现已经是无限期了
DEFAULT
PASSWORD_LIFE_TIME PASSWORD
UNLIMITED
NO
Oracle的安装过程就结束了。