看网上Linux下安装Oracle 都有图形化的步骤,但是Linux系统通常是直接SSH连接的。系统在初始安装的时候就没有安装桌面,要为了迎合安装oracle需要去安装个Linux桌面,使用VNC。。。总感觉好麻烦。在此研究了一下Oracle 11g 安装。可以在命令行安装。并且可以不需要再初次安装时导出应答文件。如果是Oracle 12安装的时候需要在一模一样的环境的下使用图形化安装一遍,目的是将安装Oracle 12时的应答文件导出来。这样在以后相同环境,相同目录结构下安装,就可以直接无图形化安装了。
一、准备Oracle 12c的安装条件 去官方网站下载http://www.oracle.com/cn/downloads/index.html 安装包,有2个包,大约2GB左右 包名称:
linuxamd64_12c_database_1of2
linuxamd64_12c_database_2of2
1. 系统配置要求 1)物理内存1GB以上,交换空间大约为物理内存的2倍。 2)安装目录(/data/oracle)建议有8GB以上、/tmp目录建议有1GB以上可用空间。 3)提前配置好主机名、IP地址,完成安装以后不要再改主机名。
检查内存大小,大概有2G,满足要求 [iyunv@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目录,也是满足要求的 [iyunv@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.s ... .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"。
[iyunv@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的安装过程就结束了。
|