分类: Oracle
2012-02-19 21:28:45
oracle11g 安装在rhel5-RHEL6
2011-10-26 21:43:50| 分类: linux下Oracle 10 | 标签: |字号大中小 订阅
安装后的体会: 其实安装oracle11g 并没有想象的的复杂 只要注意安装前检查所需的软件包 、建立oracle的环境变量、还有就是系统的权限 把握好以上三点安装起来其实非常简单.
好了,闲话少说 接下来介绍下安装过程吧
一、
1.检查系统硬件:oracle的官方要求是 内存至少为1G 交换空间为内存的2倍。
2.磁盘空间检查: /tmp 最好挂载空间有1G以上 否则安装过程中会有磁盘不足的提示
二、检查系统软件
1.内核版本:
2.软件件包检查:
Oracle 11g 对 Red Hat Enterprise Linux 5(32-bit)软件包要求:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11
以上软件包不能缺少,否则安装过程会中断, 软件包都在前三张光盘里的server中
三、修改linux内核参数
Fs.file-max = 512 * PROCESSES
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
如果值大于要求的值则不必修改
现在我来介绍下如何修改参数
vi /etc/sysctl.conf
使内核参数立即生效
#sysctl -p
四、创建oracle用户和组
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
创建文件系统 /machenlong
改变文件系统/machenlong 的所有者,以便以后将数据库安装在/machenlong 文件系统上:
# chown oracle:oinstall /machenlong
五、为oracle用户设置环境变量(此步很重要)
1. 用文本编辑器 vi 编辑.bash_profile 参数文件:
添加以上参数
2.为oracle用户设置shell限制:
#vi /etc/security/limits.conf
添加以下参数
#vi /etc/pam.d/login
添加以下参数
在/etc/profile 文件中输入以下内容:
以上步骤是最麻烦的.剩下的就简单拉
六、解压oracle11g
#unzip linux_x86_11gR1_database.zip
记得用chmod 777 runInstaller 否则没有权限执行
然后注销后用oracle登录
我这里为了方便直接用root了..
大家要注销后oracle登录噢
然后基本上就和windows查不多的界面了
我来说下最后的问题
#sh oraInventory/orainstRoot.sh
# sh oracle/product/11.1.0/db_1/root.sh
体会与总结
在安装 Oracle 之前按要求配置操作系统是安装成功的关键
参考了以下三篇文章安装成功,特记录!
http://ithero.iteye.com/blog/315092
建议,安装系统的时候将硬盘空间大于等于10G,可以单独弄一个大的分区来存放oracle安装后的程序,我此次实验系统共总就10G,完成的时候很险,差一点不够,安装oracle 11g 提示是需要3.4G,而我只有3.6G了。。。。
一、检查硬件需求
1、检查内存空间大小
[root@tech_002 ~]# grep MemTotal /proc/meminfo
MemTotal: 3041772 kB
2、查看交换分区swap
[root@tech_002 home]# grep SwapTotal
/proc/meminfo SwapTotal: 2031608 kB
3、假如交换分区空间不够,可以增加
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G。
dd if=/dev/zero of=/home/swap bs=1024 count=5120000
5120000+0 records in
5120000+0 records out
5242880000 bytes (5.2 GB) copied, 39.3974 seconds, 133 MB/s
接着再把这个分区变成swap分区。
[root@tech_002 home]# /sbin/mkswap /home/swap
Setting up swapspace version 1, size = 5242875 kB
然后把它加到fstab里面
[root@tech_002 home]# echo "/home/swap swap swap defaults 0 0" >> /etc/fstab ; cat /etc/fstab
/dev/VolGroup00/LogVol00 / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/VolGroup00/LogVol01 swap swap defaults 0 0
/home/swap swap swap defaults 0 0
4、oracle 11g 所必须的安装包
[root@tech_002 ~]# rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
binutils-2.17.50.0.6-9.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.137-3.el5
elfutils-libelf-devel-0.137-3.el5
glibc-2.5-34
glibc-common-2.5-34
glibc-devel-2.5-34
gcc-4.1.2-44.el5
gcc-c++-4.1.2-44.el5
libaio-devel-0.3.106-3.2
libaio-0.3.106-3.2
libgcc-4.1.2-44.el5
libstdc++-4.1.2-44.el5
libstdc++-devel-4.1.2-44.el5
make-3.81-3.el5
sysstat-7.0.2-3.el5
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
5、配置内核参数
cat >> /etc/sysctl.conf <
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
EOF
然后执行
[root@tech_002 etc]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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
6、给系统添加oracle 用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
7、添加参数
cat >> /etc/security/limits.conf <
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <
session required pam_limits.so
EOF
cat >> /etc/profile <
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
8、创建目录
mkdir -p /oracle_11/app/
chown -R oracle :oinstall /oracle_11/app/
chmod -R 755 /oracle_11/app/
sudo mkdir /oracle_11/tmp
sudo chmod a+wr /oracle_11/tmp
9、修改用户的shell
more /home/oracle /.bash_profile
# .bash_profile
umask 022
TMP=/oracle_11/tmp
TMPDIR=/oracle_11/tmp
export TMP TMPDIR
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/oracle_11/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11 .1.0/db_1
export ORACLE_SID=orcl
##注意,如果是想远程无界面安装oracle,在这里请用这行:export DISPLAY=10.10.10.254:0.0,并在远程安装的主机上启用Xmanager - Passive 程序 。
export DISPLAY=:0.0
export PATH=$ORACLE_HOME/bin:$PATH
#export ORA_CRS_HOME=$ORACLE_BASE/crs
#export ORACLE_PATH=$ORACLE_BASE/common/oracle /sql:.:$ORACLE_HOME/rdbms/admin
#export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:${PATH}:$HOME/bin
#export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
#export PATH=${PATH}:$ORACLE_BASE/common/oracle /bin
#export ORACLE_TERM=xterm
#export TNS_ADMIN=$ORACLE_HOME/network/admin
#export ORA_NLS10=$ORACLE_HOME/nls/data
#export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib:$ORACLE_HOME/oracm/lib:$ORACLE_HOME/lib
#export LIBPATH=$LIBPATH:$ORA_CRS_HOME/lib:$ORACLE_HOME/lib
#export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JRE
#export NLS_LANG=AMERICAN_AMERICA.ZHS16G
#export ORA_NLS10=$ORACLE_HOME/nls/data
以root身份打开另一个终端窗口
--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面
#xhost +
#xhost + localhost
#su - oracle
$unzip linux_x86_11gR1_database.zip
$cd database/
$./runInstaller -ignoreSysPreReqs
如果是使用的远程无界面安装方式,需要在远程windows主机上打开Xmanager - Passive程序,当在oracle主机执行./runinstall的时候安装界面会出现在windows主机上。
然后就参照 官方进行安装!!
RHEL6安装Oracle 11g R2
1.使用DVD做yum源
1.1.
新建dvd挂载目录[root@oracle ~]# mkdir /media/iso
1.2.
挂载dvd到指定目录[root@oracle ~]# mount /dev/cdrom /media/iso/
1.3.
进入yum.repos.d文件夹,[root@oracle ~]# cd /etc/yum.repos.d/
1.4.
删除原有的repo文件[root@oracle yum.repos.d]# rm -rf *
1.5.
新建使用dvd为源的repo文件[root@oracle yum.repos.d]# vim iso.repo
[Server]
name=Server
baseurl=file:///media/iso/Server
enabled=1
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=file:///media/iso/HighAvailability
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/iso/LoadBalancer
enabled=1
gpgcheck=0
[LoadBalancer]
name=LoadBalancer
baseurl=file:///media/iso/LoadBalancer
enabled=1
gpgcheck=0
1.6.清空原有yum信息
[root@oracle yum.repos.d]# yum clean all
1.7.更新yum
[root@oracle yum.repos.d]# yum update
2.安装依赖软件包
2.1.配置好yum源后,使用root用户安装软件包
[root@oracle ~]# cd /media/iso/Packages/
[root@oracle Packages]# yum install binutils-2.* compat-libstdc++-33* elfutils-libelf-0.* elfutils-libelf-devel-* gcc-4.* gcc-c++-4.* glibc-2.* glibc-common-2.* glibc-devel-2.* glibc-headers-2.* ksh-2* libaio-0.* libaio-devel-0.* libgcc-4.* libstdc++-4.* libstdc++-devel-4.* make-3.* sysstat-7.* unixODBC-2.* unixODBC-devel-2.* pdksh*
这些依赖包必须要安装,因为版本不同,在oracle安装时会提示缺少依赖包,忽略后可以正常安装使用Oracle。
3.修改内核参数
3.1.修改内核参数
[root@oracle ~]#vim /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
3.2.使内核参数实时生效
[root@oracle ~]# sysctl -p
4.新建用户和组
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba -m oracle
[root@oracle ~]# passwd oracle
5.为oracle用户设置Shell限制
5.1.修改/etc/security/limits.conf,加入
[root@oracle ~]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5.2.修改/etc/pam.d/login,加入
[root@oracle ~]# vim /etc/pam.d/login
session required pam_limits.so
5.3.修改/etc/profile,加入
[root@oracle ~]# vim /etc/profile
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
6.新建安装目录
6.1.新建目录
[root@oracle ~]# mkdir -p /u01/app/oracle
6.2.设置目录所有权
[root@oracle ~]# chown oracle:oinstall /u01/app
6.3.设置目录权限
[root@oracle ~]# chmod -R 775 /u01/app
7.准备oracle安装文件
7.1修改/etc/hosts文件
[root@oracle ~]#vim /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.137.112 oracle.domain.com oracle
注意将主机名对应到真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上
7.2解压oracle安装文件包
[root@oracle u01]# unzip /media/linux.x64_11gR2_/linux.x64_11gR2_database_1of2.zip && unzip /media/linux.x64_11gR2_/linux.x64_11gR2_database_2of2.zip
7.3切换到oracle用户,图形界面登录,执行oracle安装文件
[oracle@oracle ~]$ cd /u01/database/
[oracle@oracle database]$ ./runInstaller
可以留空,忽略错误
选择安装软件并创建数据库,也可只安装软件不创建数据库
选择Server版本
单实例数据库
高级模式
添加中文支持
企业版
安装目录
数据库名及服务名
自动内存管理及其他设置
启用oracle企业管理控制台OEM
选择文件系统及数据库文件目录
自动备份管理
数据库的用户名密码设置
数据库预安装检测,缺乏软件包错误可忽略,是因软件版本引起的,只要确认安装了rhel6 dvd里的软件版本即可。
安装完成后根据提示用root身份执行两个sh脚本
8.让oracle和oem随机启动
8.1.修改/etc/oratab
[root@oracle ~]#vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N改为Y)
8.2.修改$ORACLE_HOME/BIN/dbstart和$ORACLE_HOME/BIN/dbshut
[oracle@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
[oracle@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)
###注:此处修改需要使用oracle管理用户,不要使用root用户,否则启动监听报错权限不足
8.3.建立启动脚本
[root@oracle ~]#/etc/rc.d/init.d/oracle
#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/racle11log
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit 1
esac
exit 0
8.4.给脚本设置权限
[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle
8.5.建立服务
[root@oracle ~]#chkconfig --add oracle
[root@oracle ~]#chkconfig oracle on
linux上shmmax参数的设置及含义
shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。
查看linux上该参数的值:
[root@tcl_A ~]# cat /proc/sys/kernel/shmmax
4294967295
[root@tcl_A ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
可以通过ipcs命令查看此设置下共享内存的分配,可以看到oracle分配了多少个内存段满足SGA设置需要
[root@tcl ~]# ipcs -sa
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x78e95ec0 0 oracle 640 612368384 89
------ Semaphore Arrays --------
key semid owner perms nsems
0x427ff554 98304 oracle 640 152
0x427ff555 131073 oracle 640 152
0x427ff556 163842 oracle 640 152
0x00000000 3637251 nobody 600 1
0x00000000 3670020 nobody 600 1
0x00000000 3702789 nobody 600 1
------ Message Queues --------
key msqid owner perms used-bytes messages
可以看见SGA使用了612368384bytes
使用ps -ef|grep ora_查看oracle的进程PID
[root@tcl ~]# ps -ef|grep ora_
oracle 5479 1 0 Jul11 ? 00:01:34 ora_pmon_orcl
oracle 5481 1 0 Jul11 ? 00:00:01 ora_psp0_orcl
oracle 5483 1 0 Jul11 ? 00:00:00 ora_mman_orcl
oracle 5485 1 0 Jul11 ? 00:07:29 ora_dbw0_orcl
oracle 5487 1 0 Jul11 ? 00:24:49 ora_lgwr_orcl
oracle 5489 1 0 Jul11 ? 00:06:18 ora_ckpt_orcl
oracle 5491 1 0 Jul11 ? 00:02:04 ora_smon_orcl
oracle 5493 1 0 Jul11 ? 00:00:00 ora_reco_orcl
oracle 5495 1 0 Jul11 ? 00:01:55 ora_cjq0_orcl
oracle 5497 1 0 Jul11 ? 00:00:34 ora_mmon_orcl
oracle 5499 1 0 Jul11 ? 00:01:32 ora_mmnl_orcl
oracle 5501 1 0 Jul11 ? 00:00:00 ora_d000_orcl
oracle 5503 1 0 Jul11 ? 00:00:00 ora_s000_orcl
oracle 5519 1 0 Jul11 ? 00:00:00 ora_qmnc_orcl
oracle 5605 1 0 Jul11 ? 00:00:10 ora_q000_orcl
oracle 5607 1 0 Jul11 ? 00:00:06 ora_q001_orcl
oracle 7407 1 0 16:37 ? 00:00:00 ora_j001_orcl
使用pmap命令可以看到每个共享内存段的地址空间
查看PID为5493,进程为ora_reco_orcl使用的内存地址空间。
[root@tcl ~]# pmap 5493
5493: ora_reco_orcl
00110000 896K r-x-- /opt/app/oracle/product/10.2/lib/libhasgen10.so
001f0000 16K rwx-- /opt/app/oracle/product/10.2/lib/libhasgen10.so
001f4000 16K rwx-- [ anon ]
001f8000 468K r-x-- /opt/app/oracle/product/10.2/lib/libocr10.so
0026d000 4K rwx-- /opt/app/oracle/product/10.2/lib/libocr10.so
0026e000 4K rwx-- [ anon ]
0026f000 292K r-x-- /opt/app/oracle/product/10.2/lib/libocrb10.so
002b8000 4K rwx-- /opt/app/oracle/product/10.2/lib/libocrb10.so
002b9000 4K rwx-- [ anon ]
002ba000 344K r-x-- /opt/app/oracle/product/10.2/lib/libocrutl10.so
00310000 16K rwx-- /opt/app/oracle/product/10.2/lib/libocrutl10.so
00314000 4K rwx-- [ anon ]
00321000 4K rwx-- [ anon ]
00322000 76K r-x-- /lib/libnsl-2.5.so
00335000 4K r-x-- /lib/libnsl-2.5.so
00336000 4K rwx-- /lib/libnsl-2.5.so
00337000 160K rwx-- [ anon ]
0035f000 36K r-x-- /lib/libnss_files-2.5.so
00368000 4K r-x-- /lib/libnss_files-2.5.so
00369000 4K rwx-- /lib/libnss_files-2.5.so
0036a000 4K r-x-- /opt/app/oracle/product/10.2/lib/libskgxn2.so
0036b000 4K rwx-- /opt/app/oracle/product/10.2/lib/libskgxn2.so
0036c000 1912K r-x-- /opt/app/oracle/product/10.2/lib/libnnz10.so
0054a000 156K rwx-- /opt/app/oracle/product/10.2/lib/libnnz10.so
00571000 1036K rwx-- [ anon ]
00696000 104K r-x-- /lib/ld-2.5.so
006b0000 4K r-x-- /lib/ld-2.5.so
006b1000 4K rwx-- /lib/ld-2.5.so
006b2000 140K rwx-- [ anon ]
00762000 4K r-x-- [ anon ]
00796000 4K rwx-- [ anon ]
00800000 148K r-x-- /lib/libm-2.5.so
00825000 4K r-x-- /lib/libm-2.5.so
00826000 4K rwx-- /lib/libm-2.5.so
00829000 8K r-x-- /lib/libdl-2.5.so
0082b000 4K r-x-- /lib/libdl-2.5.so
0082c000 4K rwx-- /lib/libdl-2.5.so
0082f000 76K r-x-- /lib/libpthread-2.5.so
00842000 4K r-x-- /lib/libpthread-2.5.so
00843000 4K rwx-- /lib/libpthread-2.5.so
00844000 8K rwx-- [ anon ]
00846000 1276K r-x-- /lib/libc-2.5.so
00985000 8K r-x-- /lib/libc-2.5.so
00987000 4K rwx-- /lib/libc-2.5.so
00988000 12K rwx-- [ anon ]
009ed000 4K rwxs- /opt/app/oracle/product/10.2/dbs/hc_orcl.dat
00ac7000 32K r-x-- /opt/app/oracle/product/10.2/lib/libclsra10.so
00acf000 4K rwx-- /opt/app/oracle/product/10.2/lib/libclsra10.so
00b3f000 140K rwx-- [ anon ]
00c03000 8K rwx-- [ anon ]
00ce7000 132K r-x-- /opt/app/oracle/product/10.2/lib/libskgxp10.so
00d08000 8K rwx-- /opt/app/oracle/product/10.2/lib/libskgxp10.so
00d4e000 140K rwx-- [ anon ]
00db7000 92K r-x-- /opt/app/oracle/product/10.2/lib/libdbcfg10.so
00dce000 8K rwx-- /opt/app/oracle/product/10.2/lib/libdbcfg10.so
00de1000 4K r-x-- /usr/lib/libaio.so.1.0.1
00de2000 4K rwx-- /usr/lib/libaio.so.1.0.1
00e62000 4K rwx-- [ anon ]
00e86000 4K rwx-- [ anon ]
00e87000 7060K r-x-- /opt/app/oracle/product/10.2/lib/libjox10.so
0156c000 264K rwx-- /opt/app/oracle/product/10.2/lib/libjox10.so
015ae000 4K rwx-- [ anon ]
08048000 79720K r-x-- /opt/app/oracle/product/10.2/bin/oracle
0ce22000 340K rwx-- /opt/app/oracle/product/10.2/bin/oracle
0ce77000 120K rwx-- [ anon ]
0d71f000 264K rwx-- [ anon ]
20000000 598016K rwxs- [ shmid=0x0 ]
b7e9b000 84K rwx-- /dev/zero
b7eb0000 64K rwx-- /dev/zero
b7ec0000 64K rwx-- /dev/zero
b7ed0000 64K rwx-- /dev/zero
b7ee0000 64K rwx-- /dev/zero
b7ef0000 64K rwx-- /dev/zero
b7f00000 108K rwx-- /dev/zero
bfa40000 84K rwx-- [ stack ]
total 694264K
如果设置的shmmax小于SGA,SGA被分配到多个内存共享段。修改shmmax值大于sga
修改shmmax方法:
echo 4294967295 /proc/sys/kernel/shmmax
对于shmmax文件的修改,系统重启后会复位,可以通过修改/etc/sysctl.conf使修改永久化。
在/etc/sysctl.conf
增加
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
使用sysctl -p生效
重启数据库使更改生效
如果没有修改shmmax参数,在oracle启动过程中会出现以下错误
Starting ORACLE instance (normal) Thu Nov 17 09:27:29 2005 WARNING: EINVAL creating segment of size 0x0000000033400000 fix shm parameters in /etc/system or equivalent |
安装过程中报错:
1、 系统在检查安装包时,报找不到pdksh包,这个可以不用管,因为我们在对应的目录内,已经安装了ksh。
11.2.0.1: The installer shows multiple "missing package" failures because it does not recognize several of the newer version packages that were installed. These "missing package" failures can be ignored as the packages are present. The failure for the "pdksh" package can be ignored because we installed the "ksh" package in its place.
11.2.0.2: The installer should only show a single "missing package" failure for the "pdksh" package. It can be ignored because we installed the "ksh" package in its place
2、安装过程中报错,无法在指定目录下找到“WFALSNRscvapp.ear”文件。
原因是由于oracle安装文件下载下来是2个文件,解压后,是两个文件,stage目录下component目录的内容分成了两个部分,disk1和disk2的,需要将两个文件的部分copy到一个目录下
I downloaded the files from OTN with following names:
win64_11gR2_database_1of2.zip
win64_11gR2_database_2of2.zip
Extracted both into the SAME directory with these names
C:\Oracle\Disk1
C:\Oracle\Disk2
Started the installation from C:\Oracle\Disk1\database\setup.exe
And the Installation failed due to file not found of {C:\app\11g\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\WFMLRSVCApp.ear and some other files too}
I went through the but there was nothing which mentioned where or how to rename the directories.
All my downloaded files were in the same directory but still I was facing the problem.
As both zip files contained database folder so I couldn't override the files.
I solved the file not found issue by coping all the folders under C:\Oracle\Disk2\database\stage\Components to C:\Oracle\Disk1\database\stage\Components
After restarting the installation it went like a charm and without any issues.
3、数据库启动后,无法启用监听,
经检查是在安装完成后,设置监听地址使用的用户错误,即在$ORACLE_HOME/bin/dbstart和dbshut文件内,设置监听地址,应该使用oracle管理用户,但我用的是root用户,所以在oracle用户启动监听时,总是报权限不够。
4、
在安装Oracle 11.g的过程中,由于开会没有在电脑旁边守着,等开完会后,发现,安装过程中有提示出错。由于开完会很晚,急着回去,就没有在意这些错误提示。后来启动Linux,准备运行Oracle,看看怎样,于是在Oracle安装目录的/bin目录输入./sqlplus /nolog看效果,
结果提示如下:
[dba@redhat5 bin]$ pwd
/opt/dba/app/dba/product/11.1.0/db_1/bin
[dba@redhat5 bin]$ ./sqlplus /nolog
Error 6 initializing SQL*Plus
Message file sp1
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
由提示可以看出没有在环境变量中设置ORACLE_HOME,由于查看ORACLE_SID,也没有设置。于是编辑.bash_profile文件,添加如下:
ORACLE_SID=heya
export ORACLE_SID
ORACLE_HOME=/opt/dba/app/dba/product/11.1.0/db_1
export ORACLE_HOME
查看Oracle监听器状态:
[dba@redhat5 bin]$ ./lsnrctl
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 30-NOV-2011 09:26:36
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date 30-NOV-2011 09:18:17
Uptime 0 days 0 hr. 8 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/dba/app/dba/product/11.1.0/db_1/network/admin/listener.ora
Listener Log File /opt/dba/app/dba/product/11.1.0/db_1/log/diag/tnslsnr/redhat5/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhat5.senya.org)(PORT=1521)))
The listener supports no services
The command completed successfully
LSNRCTL>
sqlplus连接数据库:
[dba@redhat5 bin]$ ./sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Wed Nov 30 09:27:40 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> connect sys/1qaz!QAZ as sysdba
Connected to an idle instance.
SQL>
由提示信息可以出当前数据库没有启动,只是连接上了一个空闲实例,下面就要启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1299624 bytes
Variable Size 272632664 bytes
Database Buffers 33554432 bytes
Redo Buffers 6373376 bytes
Database mounted.
Database opened.
下面就可以开始实行操作了!
SQL> show user
USER is "SYS"
SQL> show parameter pfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /opt/dba/app/dba/product/11.1.
0/db_1/dbs/spfileheya.ora
SQL>
启用内置示例用户hr,并为之修改密码,这样我就可以使用hr的演示表了。
SQL> ALTER USER hr ACCOUNT UNLOCK
2 /
User altered.
SQL> ALTER USER hr IDENTIFIED BY hr12;
User altered.
SQL>
SQL> connect hr/hr12
Connected.
SQL> SELECT first_name,last_name,email FROM employees WHERE salary>11200;
FIRST_NAME LAST_NAME EMAIL
-------------------- ------------------------- -------------------------
Steven King SKING
Neena Kochhar NKOCHHAR
Lex De Haan LDEHAAN
Nancy Greenberg NGREENBE
John Russell JRUSSEL
Karen Partners KPARTNER
Alberto Errazuriz AERRAZUR
Lisa Ozer LOZER
Michael Hartstein MHARTSTE
Shelley Higgins SHIGGINS
10 rows selected.
这一次安装过程中出现了一些小的错误,但数据库还是能够正常运行的。