安装软件信息
Redhat 6.5 64位
Oracle 10g 64位
1、固定IP
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
退出,重启
#service network restart
第一步:安装前准备
软件需求环境:默认的内核及所需程序包的版本(或更高版本)
查看下列开发包是否已安装,如果未安装将其装上
# rpm –qa 包名 --查询命令
linux x86 10g Release 2(10.2)版本
-- glibc-2.3.4-2.9
-- make-3.79
-- binutils-2.15.92.0.2-13
-- gcc-3.4.3-22.1
-- libaio-0.3.96
-- glibgc-common-2.3.4-2.9
-- setarch-1.6-1
-- pdksh-5.2.14-30
-- openmotif21-2.1.30-11
-- sysstat-5.0.5-1
-- gnome-libs-1.4.1.2.90-44.1
-- libstdc++-3.4.3-22.1
-- libstdc++devel-3.4.3-22.1
-- compat-libstdc++-296-2.96-132.7.2
-- compat-db-4.1.25-9
-- control-center-2.8.0-12
-- xscreensaver-4.18-5.rhel4.2
10g Release 2(10.2) for linux x86-64版本
binutils-2.20.51.0.2-5.36.el6.x86_64.rpm
compat-db-4.6.21-15.el6(32位和64位)
control-center-2.28.1-39.el6.(64位)
gcc-4.4.7-4.el6(64位)
gcc-c++-4.4.7-4.el6(64位)
glibc-2.12-1.132(32位和64位)
glibc-common-2.12-1.132.el6.(64位)
glibc-devel-2.12-1.132.el6.(32位和64位)
compiz-gnome-0.8.2-24.el6(64位)
compat-libstdc++-33-3.2.3-69.el6.(32位和64位)
libstdc++-4.4.7-4.el6(32位和64位)
libstdc++-devel-4.4.7-4.el6.(32位和64位)
mksh-39-7.el6_4.1.(64位)(有些系统是pdksh)
make-3.81-20.el6.(64位)
libXp-1.0.0-15.1.el6.(32位和64位)
libXt-1.1.3-1.el6.(32位和64位)
libXtst-1.2.1-2.el6(32位和64位)
sysstat-9.0.4-22.el6(64位)
创建本地yum源方便安装
挂载光盘
#mount /dev/cdrom /media
建立yum配置文件
#vi /etc/yum.repos.d/local.repo
内容如下:
[base]
name=linux6
baseurl=file:///media
gpgcheck=0
enable=1
修改YUM源地址
#vi /usr/lib/python2.6/site-packages/yum/yumRepo.py
找到 remote = url +'/' + relative
修改为:remote = '/yum' + relative
至此本地YUM源配置完成。
Oracle安装需要启动图形界面,所以我们先安装图形界面
# yum groupinstall “X Window System”
# yum groupinstall “Desktop”
第二步:创建oracle所需的组、用户,设定oracle用户环境变量
1.添加oracle安装用户组及用户帐号
# groupadd dba
# groupadd oinstall
# useradd -m -g oinstall -G dba oracle
# passwd oracle
密码设置为oracle
2.创建oracle安装目录并授权给用户
#mkdir -p /home/oracle/10g
#mkdir -p /home/oracle/dbdata
#mkdir -p /home/oracle/dbbak
#chown -R oracle.oinstall /home/oracle/10g
#chown -R oracle.dba /home/oracle/10g
#chown -R 775 /home/oracle/10g
#chown -R oracle.dba /home/oracle/dbdata
#chown -R oracle.dba /home/oracle/dbbak
#chmod 775 /home/oracle
3.设置oracle对文件的要求
编辑文件:
# vi /etc/security/limits.conf
加入以下语句:
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
4.设置内核参数
编辑文件:
# vi /etc/sysctl.conf
加入以下语句:
kernel.shmall = 2097152
kernel.shmmax = 2147483648 (1073741824)
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536 (206173)
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
存盘退出后运行这个指令检查是否设置正确:
# sysctl –p
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
SHMMAX 最大共享内存段尺寸(字节) 512 kB + 8192 * 缓冲区数 + 额外 ... 无穷大
SHMMIN 最小共享内存段尺寸(字节) 1 (最多大约是 256 kB)
SHMSEG 每进程最大共享内存段数量 只需要 1 个段,不过缺省比这高得多.
SHMMNI 系统范围最大共享内存段数量 类似 SHMSEG + 用于其他应用的空间
SEMMNI 信号灯标识符的最小数量(也就是说,套) > = ceil(max_connections % 16)
SEMMNS 系统范围的最大信号灯数量 ceil(max_connections / 16) * 17 + 用于其他应用的空间
SEMMSL 每套信号灯最小信号灯数量 > = 17
SEMMAP 信号灯映射里的记录数量 参阅文本
SEMVMX 信号灯的最大值 > = 255 (缺省通常是32767,除非被要求,否则不要修改)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
5.设置登录配置文件在/etc/pam.d/login文件中加入下列行:
#vi /etc/pam.d/login
session required /lib64/security/pam_limits.so
session required pam_limits.so
6.设置oracle用户登录环境变量
Root用户编辑
#vi /etc/profile
在末尾添加
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
7.设置主机名和ip
#vi /etc/hosts
添加如下内容
192.168.1.212 dev
8.使用oracle用户登录,修改环境配置文件
编辑文件:
$ vi $HOME/.bash_profile
加入以下语句:
export ORACLE_BASE=/home/oracle/10g
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=eup
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.6.42
export NLS_LANG=AMERICAN
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocoommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/oracm/lib:/lib64:/lib:/usr/lib:/us
r/lib64:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export CLASSPATH
export PATH=$PATH:$ORACLE_HOME/bin
存盘退出
$ source $HOME/.bash_profile
可以通过以下步骤验证是否生效
$ echo $ORACLE_HOME
如果显示配置文件中相应的内容则已经生效。
重启系统
#reboot
9.上传oracle安装文件,并解压
10201_database_linux_x86_64.cpio.gz
#gunzip 10201_database_linux_x86_64.cpio.gz
#cpio -idmv < 10201_database_linux_x86_64.cpio
第三步:安装oracle软件和数据库创建
步骤一:设置连接配置图形参数
1.选用xmanage 远程工具,打开里面的Xshell工具登录linux,SSH不支持图形窗口
选择xshell
新建连接
2.图形化设置
Root用户下执行
# xhost +
access control disabled, clients can connect from any host
上述提示说明设置成功
Oracle用户登录
#xhost +
access control disabled, clients can connect from any host
oracle用户下也设置成功
输入xhost + 出现问题请查看相关问题解决
3.oracle用户登录,进入安装文件目录,执行runInstaller文件
[root@dev ~]# su - oracle
[oracle@dev ~]$ cd /opt/oracle/database/
[oracle@dev database]$ ll
total 36
drwxrwxr-x. 9 94110 42424 4096 Oct 19 2005 doc
drwxr-xr-x. 5 94110 42424 4096 Oct 23 2005 install
drwxr-xr-x. 2 94110 42424 4096 Oct 23 2005 response
-rwxr-xr-x. 1 94110 42424 1326 Oct 23 2005 runInstaller
drwxrwxr-x. 9 94110 42424 12288 Oct 23 2005 stage
-rw-rw-r--. 1 94110 42424 5416 Oct 19 2005 welcome.html
[oracle@dev database]$ ./runInstaller
步骤二:安装oracle软件
(以下图片路径根据实际情况设定)
1.进入安装程序界面,按照向导提示进行安装
在“Oracle Home Location”中路径应该与$HOME/.bash_profile中配置的ORACLE_HOME路径一致,“UNIX DBA Group”中填入dba,勾掉“Create Starter Database”选项,暂不建库,点击“Next”;
2. 配置Inventory目录
点击“Next”;
3. 用root执行配置(此提示信息出现的步骤不固定,根据实际安装情况而定)
root用户运行对话框中的脚本后,点击“Continue”;
4.安装前的检查(包括系统,软件包,环境变量等)
系统检查完成后没有问题点击“Next”;如有问题按提示解决;
5. 查看安装总结
点击“Install”即开始安装;
6.安装过程
7. 配置助手
系统自动配置完成后,用root用户输入对话框要求的运行的脚本,运行后点击“OK”;
8. 最后一页,最好把这些url都记下来,点击“Exit”;
9. 确认
点击“Yes”,完成安装
步骤三:创建数据库(dbca)
登陆oracle用户,输入
#./home/oracle/10g/product/10.2.0/db_1/bin/dbca --创建数据库实例
点击“Next”;
选择“Create a Database”,点击“Next”;
选择“General Purpose”,点击“Next”;
设置实例名,下一步
下一步
设置管理员密码,选择“Use the Same Password for All Account”为下面列表用户设置统一的密码(不推荐),选择“Use Different Passwords”为下面列表用户分别设置密码;设置后点击“Next”;
设置数据库文件系统,选择默认“File System”,点击“Next”;
选择“Use Common Location for All Database Files”设置数据库文件存放路径,点击“Next”;
设置10g闪回参数,默认设置点击“Next”;
下一步
选择“Character Sets”标签,选择“Choose from the list of character sets”在列表中选中“ZHS16GBK”,其他选中默认设置,点击“Nxet”(字符集的设置根据实际情况选择)
选择了“Create Database”后点击“Finish”完成设置开始建库;
安装过程;
点击“Exit”,确认退出安装界面,建库完成。
步骤四:创建监听
数据库创建之后首先要测试数据库是否能正常工作然后才能导入数据供业务程序使用
1 创建监听
netca
配置(创建)监听器
以oracle 用户登录
#vi $ORACLE_HOME/network/admin/listener.ora
输入以下内容
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /database/oracle/OraHome/10g)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
)
)
#vi $ORACLE_HOME/network/admin/ tnsnames.ora
PROJECT =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = project)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
2 启动监听器
以oracle 用户登录
#lsnrctl start
3 启动数据库
以 oracle 用户登录
sqlplus /nolog
SQL> connect /as sysdba或者connect sys/sys as sysdba
SQL> startup
3.在windows下用pl/sql工具登录sys用户验证
以上ORACLE软件安装
问题及解决方法
1.配置图形参数
Root用户输入xhost +
A.提示xhost cammand not found,命令没有找到,没有安装图形界面导致
解决办法用yum命令安装图形界面
yum groupinstall "X Window System"
yum groupinstall "Desktop"
B.提示 unable to open display
解决办法重新连接
Oracle用户输入xhost +
A.提示unable to open display
解决办法:
root用户输入
#xdpyinfo | grep name --记录下name of display:后的字符串
如:name of display: :10.0
#su - oracle --登录oracle 用户
#export DISPLAY=:10.0
#xhost +
access control disabled, clients can connect from any host --则设置成功
创建实例报错
[oracle@dev bin]$ ./dbca
UnsatisfiedLinkError exception loading native library: njni10
Exception in thread "main" java.lang.UnsatisfiedLinkError: get
at oracle.net.common.NetGetEnv.get(Native Method)
at oracle.net.config.Config.getNetDir(Unknown Source)
at oracle.net.config.Config.initConfig(Unknown Source)
at oracle.net.config.Config.<init>(Unknown Source)
at oracle.sysman.assistants.util.NetworkUtils.<init>(NetworkUtils.java:222)
解决方法一
查看glibc和glibc-devel包,发现仅仅安装了64位的,而32位版本没安装,那么需手工安装:
# cd /media/cdrom/RedHat/RPMS
# rpm -Uvh glibc-2.3.4-2.41.i686.rpm glibc-devel-2.3.4-2.41.i386.rpm
安装完32bit的glibc和glibc-devel后, 再对Oracle进行relink:
$ $ORACLE_HOME/bin/relink all
最后再重执行dbca, 应该就可以了.
解决方法二
删除软件重新安装一遍,
[root@oracle10 oracle]# ll
total 8
drwxrwx--- 6 oracle oinstall 4096 Mar 10 19:57 oraInventory
drwxrwx--- 3 oracle oinstall 4096 Mar 10 19:48 product
[root@oracle10 oracle]# rm -rf *
出现情况
java.lang.UnsatisfiedLinkError: /home/oracle/10g/product/10.2.0/db_1/lib32/libOsUtils.so: libgcc_s.so.1: wrong ELF class: ELFCLASS64
解决办法
查看动态库连接
#ldd libOsUtils.so
ldd: warning: you do not have execution permission for `./libOsUtils.so'
linux-gate.so.1 => (0x0079e000)
libimf.so => /home/oracle/10g/product/10.2.0/db_1/lib32/libimf.so (0x00196000)
libm.so.6 => /lib/libm.so.6 (0x00d5e000)
libc.so.6 => /lib/libc.so.6 (0x00828000)
/lib/ld-linux.so.2 (0x00a4d000)
libgcc_s.so.1 => not found
安装上缺少的包libgcc
8.Linux下能够登录数据库但window连接数据库报ora-12560
解决办法
确认监听开启、数据库开启
[root@dev ~]# su - oracle
[oracle@dev ~]$ lsnrctl status
确认window能连接其他数据库
以上情况都满足之后,Linux防火墙导致
[root@dev ~]# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
重启防火墙
[root@dev ~]# service iptables restart