一. 安装前准备
1.准备文件
到oracle官网下载oracle数据的64bit linux版本,我下载的版本是:linux.x64_11gR2_da), linux.x64_11gR2_da(1G)。解压后的大小为2.3G
然后分别解压2个文件,命令如下:
Unzip linux.x64_11gR2_da
Unzip linux.x64_11gR2_da
2.环境配置
安装包检测及安装
[root@centOS6-xie ~]# rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat
gcc-4.4.4-13.el6.x86_64
make-3.81-19.el6.x86_64
binu
package setarch is not installed
com
package compat-gcc is not installed
package compat-gcc-c++ is not installed
package compat-libstdc++ is not installed
package compat-libstdc++-devel is not installed
unixODBC-2.2.14-11.el6.x86_64
unixODBC-devel-2.2.14-11.el6.x86_64
libaio-devel-0.3.107-10.el6.x86_64
没有安装的可以在光盘中找到,然后按照rpm –ivh安装就好了,上面是我安装好后的情况。
系统参数设置及用户目录设置
//查看内存及swap
[root@centOS6-xie ~]# grep MemTotal /proc/meminfo
MemTotal: 3903656 kB
[root@centOS6-xie ~]# grep SwapTotal /proc/meminfo
SwapTotal: 8388600 kB
[root@centOS6-xie ~]# vim /etc/
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
#
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456
#Below for oracle11g
kernel.core_uses_pid = 1
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
= 6553600
net.i = 1024 65000
//添加用户组及用户
#groupadd oracleDba
#useradd oracle -g oinstall -G oracleDba
#passwd oracle
//新建目录权限
#mkdir -p /usr/local/oracle
#chown -R oracle:oracleDba /usr/local/oracle
#chmod -R 755 /usr/local/oracle
//用户环境变量
通常的/etc/profile文件设置的环境变量对所有的用户都会生效,然而这儿设置了oracle用户,所有将环境变量设置在oracle用户的/~/.bashrc文件中。考虑到要通过root用户启动和维护数据库,我们将写一个脚本来自动启动oracle。
[oracle@centOS6-xie ~]$ vim .bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
ORACLE_BASE=/usr/local/oracle/
ORACLE_HOME=$ORACLE_BASE/produc
ORACLE_SID=orcl2
PATH=$ORACLE_HOME/bin:$PATH
ORACLE_OWNER=oracle
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_OWNR
# User specific aliases and functions
~
~
".bashrc" 21L, 368C
//将解压出来的文件夹放到/usr/local/oracle下,同时修改其所有者和权限
chown -R oracle:oracleDba /usr/local/oracle
ls -al
drwxr-xr-x. 8 oracle oracleDba 4096 10?11 07:39 .
drwxr-xr-x. 3 oracle oracledba 4096 10?11 14:49 ..
drwxr-xr-x. 12 oracle oracleDba 4096 8?17 2009 doc
drwxr-xr-x. 4 oracle oracleDba 4096 8?15 2009 install
drwxr-xr-x. 2 oracle oracleDba 4096 8?15 2009 response
drwxr-xr-x. 2 oracle oracleDba 4096 8?15 2009 rpm
-rwxr-xr-x. 1 oracle oracleDba 3226 8?15 2009 runInstaller
drwxr-xr-x. 2 oracle oracleDba 4096 8?15 2009 sshsetup
drwxr-xr-x. 14 oracle oracleDba 4096 8?15 2009 stage
-rwxr-xr-x. 1 oracle oracleDba 5402 8?17 2009 welcome.html
二. 安装oracle11g 64位
本来想用ssh客户端操作linux安装oracle的,结果由于xserver检测失败,所以直接在电脑上装了。
安装之前先导入语言,export LANG=en_US,否则安装过程会出现乱码。
过程如下:
[oracle@centOS6-xie 桌面]$ cd /usr/local/oracle/database/
[oracle@centOS6-xie database]$ ls -al
总用量 44
drwxr-xr-x. 8 oracle oracleDba 4096 10月 11 07:39 .
drwxr-xr-x. 4 oracle oracledba 4096 10月 11 14:56 ..
drwxr-xr-x. 12 oracle oracleDba 4096 8月 17 2009 doc
drwxr-xr-x. 4 oracle oracleDba 4096 8月 15 2009 install
drwxr-xr-x. 2 oracle oracleDba 4096 8月 15 2009 response
drwxr-xr-x. 2 oracle oracleDba 4096 8月 15 2009 rpm
-rwxr-xr-x. 1 oracle oracleDba 3226 8月 15 2009 runInstaller
drwxr-xr-x. 2 oracle oracleDba 4096 8月 15 2009 sshsetup
drwxr-xr-x. 14 oracle oracleDba 4096 8月 15 2009 stage
-rwxr-xr-x. 1 oracle oracleDba 5402 8月 17 2009 welcome.html
[oracle@centOS6-xie database]$ export LANG=en_US
[oracle@centOS6-xie database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 109900 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-10-11_03-00-41PM. Please wait ...[oracle@centOS6-xie database]$
第一步:填写email信息,以便得到支持,需要联网。
第二步:选择创建并配置一个数据库(新安装的)
第三步:选择服务端
第四步:选择单实例数据库安装
第五步:选择自定义安装
第六步:选择产品的语言
第七步:选择要安装的oracle版本
第八步:选择安装路径
第十步:选择数据库实例名字(SID)
第十一步:选择数据库的编码字符集
第十一步:开启自动内存管理
第十二步:
第十三步:指定数据存放的位置
第十四步:选择备份存放路径,备份用户的用户名和密码
第十五步:登录数据库的用户名和密码,这4个用户都采用相同的密码这是oracle所不推荐的,同时只有sys和system2个用户开启,其他的用户都将会被锁定,除非在最后解除需要的用户的锁定状态。
第十七步:这是oracle检测必须的组件,我选择了ignore all,这样选择安装好oracle后,oracle是能正常工作的。
第十八步:这是oracle安装好后的一些信息,记住这些信息有时候会给你带来方便。
第十九步:oracle进入安装状态
配置数据库实例orcl
数据库安装好后的信息,记住这些信息会给你的工作带来方便。
打开用户,我开启了3个用户,他们是:sys,system,scott
三. 测试安装是否正确
配置远程pl/sql,然后登陆(说明安装linux+oracle电脑的ip为:172.7.22.23,而安装windows+oracle+pl/sql电脑的ip是:172.7.22.22,在ip为172.7.22.22的oracle配置一个远程监听)。
Pl/sql登陆如下:
登陆成功,
看看(注意:11g变成了https)是否可以。
四.重启centos,仍然以oracle用户登录
我们发现,oracle数据库服务和dbconsole服务并没有启动,
通过这个命令:netstat –tnl没有发现1521端口和1158端口。所以我们要手动启动。
启动orcl实例服务
直接进入:oracle的bin目录[oracle@centOS6-xie 桌面]$ cd
/usr/local/oracle/produc/bin
[oracle@centOS6-xie bin]$ emctl -status dbconsole
OC4J Configuration issue.
/usr/local/oracle/produc/oc4j/j2ee/OC4J_DBConsole_centOS6-xie_orcl2 not found. (这个问题是我的问题)
[oracle@centOS6-xie bin]$ emca -config dbcontrol db -repos recreate
输入以下信息:
数据库 SID: orcl
已为数据库 orcl 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 orcl
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [是(Y)/否(N)]: y
监听程序 ORACLE_HOME [ /usr/local/oracle/produc ]:
/usr/local/oracle/produc/bin
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ /usr/local/oracle/produc
本地主机名 ................ centOS6-xie
监听程序 ORACLE_HOME ................ /usr/local/oracle/produc/bin
监听程序端口号 ................ 1521
数据库 SID ................ orcl
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2011-10-11 16:19:59 oracle. perform
信息: 正在将此操作记录到
/usr/local/oracle/cfgtoollogs/emca/orcl。
2011-10-11 16:20:00 oracle. stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2011-10-11 16:20:06 oracle. perform
严重: 监听程序未启动或数据库服务未注册到该监听程序。启动该监听程序并注册数据库服务, 然后重新运行 EM Configuration Assistant。
有关详细资料, 请参阅
/usr/local/oracle/cfgtoollogs/emca/orcl 中的日志文件。
无法完成配置。 有关详细资料, 请参阅
/usr/local/oracle/cfgtoollogs/emca/orcl 中的日志文件。
[oracle@centOS6-xie bin]$ ./dbstart $ORACLE_HOME
Processing Database instance "orcl": log file
/usr/local/oracle/produc/startup.log
[oracle@centOS6-xie bin]$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32291 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::1521 :::* LISTEN
tcp 0 0 :::4530 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 :::64671 :::* LISTEN
启动dbconsole,这个的启动必须要监听器启动才可以。
重新配置em:
emca -config dbcontrol db -repos recreate
启动em:emctl start dbconsole
查看em状态:emctl status dbconsole
由于我是删除了一个数据库,然后重新安装的,配置过程中很是郁闷,emca -config dbcontrol db -repos recreate配置这个玩意太费时间了。如果是第一次安装这个是不用配置的。
[oracle@centOS6-xie bin]$ emctl start dbconsole
OC4J Configuration issue.
/usr/local/oracle/produc/oc4j/j2ee/OC4J_DBConsole_centOS6-xie_orcl2 not found.
[oracle@centOS6-xie bin]$ emca -config dbcontrol db -repos recreate
EMCA 开始于 2011-10-11 16:21:41
EM Configuration Assistant, 11.2.0.0.2 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
输入以下信息:
数据库 SID: orcl
已为数据库 orcl 配置了 Database Control
您已选择配置 Database Control, 以便管理数据库 orcl
此操作将移去现有配置和默认设置, 并重新执行配置
是否继续? [是(Y)/否(N)]: y
监听程序 ORACLE_HOME [ /usr/local/oracle/produc ]:
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
通知的电子邮件地址 (可选):
通知的发件 (SMTP) 服务器 (可选):
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ /usr/local/oracle/produc
本地主机名 ................ centOS6-xie
监听程序 ORACLE_HOME ................ /usr/local/oracle/produc
监听程序端口号 ................ 1521
数据库 SID ................ orcl
通知的电子邮件地址 ...............
通知的发件 (SMTP) 服务器 ...............
-----------------------------------------------------------------
是否继续? [是(Y)/否(N)]: y
2011-10-11 16:22:08 oracle. perform
信息: 正在将此操作记录到
/usr/local/oracle/cfgtoollogs/emca/orcl。
2011-10-11 16:22:09 oracle. stopOMS
信息: 正在停止 Database Control (此操作可能需要一段时间)...
2011-10-11 16:22:11 oracle. invoke
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2011-10-11 16:24:38 oracle. invoke
信息: 已成功删除资料档案库
2011-10-11 16:24:38 oracle. createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2011-10-11 16:30:37 oracle. invoke
信息: 已成功创建资料档案库
2011-10-11 16:30:39 oracle. uploadConfigDataToRepository
信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...
2011-10-11 16:31:59 oracle. invoke
信息: 已成功上载配置数据
2011-10-11 16:32:05 oracle. configureSoftwareLib
信息: 软件库已配置成功。
2011-10-11 16:32:05 oracle. configureSoftwareLibrary
信息: 正在部署预备档案...
2011-10-11 16:32:41 oracle. configureSoftwareLibrary
信息: 预备档案部署成功。
2011-10-11 16:32:41 oracle. secureDBConsole
信息: 正在保护 Database Control (此操作可能需要一段时间)...
2011-10-11 16:33:30 oracle. secureDBConsole
信息: 已成功保护 Database Control。
2011-10-11 16:33:30 oracle. startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2011-10-11 16:34:06 oracle. performConfiguration
信息: 已成功启动 Database Control
2011-10-11 16:34:06 oracle. performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 https://centOS6-xie:1158/em <<<<<<<<<<<
2011-10-11 16:34:09 oracle. invoke
警告:
************************ WARNING ************************
管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。加密密钥已放置在文件
/usr/local/oracle/produc/centOS6-xie_orcl/sysman/config/emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据将不可用。
***********************************************************
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2011-10-11 16:34:09
[oracle@centOS6-xie bin]$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3938 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:32291 0.0.0.0:* LISTEN
tcp 0 0 :::111 :::* LISTEN
tcp 0 0 :::5520 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
tcp 0 0 :::1521 :::* LISTEN
tcp 0 0 :::4530 :::* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 ::1:631 :::* LISTEN
tcp 0 0 :::64671 :::* LISTEN
tcp 0 0 :::1158 :::* LISTEN
这样oracle服务和dbconsole已经正常工作了。
五.配置root用户启动,和自动启动oracle
1.配置root用户启动oracle
在/etc目录下建立一个文件名叫oracle,内容如下:
#!/bin/sh
ORACLE_HOME=/usr/local/oracle/produc
case $1 in
"start")
echo "start oracle ....."
su - oracle -c " $ORACLE_HOME/bin/dbstart $ORACLE_HOME &"
su - oracle -c" $ORACLE_HOME/bin/lsnrctl start "
su - oracle -c" $ORACLE_HOME/bin/emctl start dbconsole"
;;
"stop")
echo "stop oracle ....."
su - oracle -c " $ORACLE_HOME/bin/dbshut &"
su - oracle -c" $ORACLE_HOME/bin/lsnrctl stop "
su - oracle -c" $ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "usage: $0 {start|stop}"
exit
;;
esac
现在可以在控制台中输入启动和停止命令:
Service oracle start
Service oracle stop
2.配置root用户自动启动oracle
编辑/etc/oratab文件,将对应的sid那一行的N改为Y
[root@ocp~]# vi /etc/oratab
修改后的例子:orcl:/u01/app/oracle/produc
建立启动与关闭界面的连接(S打头的是启动程序,K打头的是关闭程序)
[root@ocp~]# ln -s /etc/oracle /etc
(linux图形界面下的自启动在rc5.d目录下)
[root@cop~]# ln -s /etc/oracle /etc
(linux图形界面下的关闭服务链接)