Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1031828
  • 博文数量: 159
  • 博客积分: 3063
  • 博客等级: 中校
  • 技术积分: 2703
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-01 01:51
文章分类

全部博文(159)

文章存档

2013年(48)

2012年(111)

分类: Oracle

2012-05-02 14:53:28

简介说明:
   本文只做简单的安装介绍,不做安装详细说明;对安装oracle过程中出现的问题给予解决,
让出入茅庐接触linux中使用oracle的童鞋们不再郁闷~~~
一、配置基本环境
1.创建oracle数据库需要的组和用户
#groupadd oinstall
#groupadd dba
#useradd –g oinstall –G dba –d /home/oracle –m –r oracle
2.给oracle密码
#passwd oracle
new unix password: oracle
3.编辑oracle用户的环境变量.bash_profile
#vi .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
##########  Add the following a few lines   ##########
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
ORACLE_SID=shzq
LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
PATH=$PATH:$ORACLE_HOME/bin:.
export NLS_LANG=American_america.ZHS16GBK
export PATH
export ORACLE_BASE ORACLE_SID ORACLE_HOME LD_LIBRARY_PATH
4.创建数据文件存储目录并给予相应权限
#mkdir /u0{1,2,3}
#chmod -R 775   /u0{1,2,3}
#chown -R oracle:oinstall  /u0{1,2,3}
5.增加相应的系统参数配置
//以root用户编辑/etc/sysctl.conf文件,增加
//如果在安装的时候出现系统文件认证文件不过,
//修改以下数字的大小与之对应
================================
kernel.shmall = 2097152
sharemem limits to 8G
kernel.shmmax = 4294967296
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 = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_max = 262144
================================
//执行,使设置立即生效
#/sbin/sysctl -p
6.文件数和安全设置
#vi /etc/security/limits.conf
//增加以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login
//增加以下内容
session required /lib/security/pam_limits.so
-----------------------------------------------------------------------------------------
7.建立文件安装源目录
//使用oracle账户登录,执行
#cd /u03
#mkdir software
//将oracle 安装包上传到software中
//查看安装包软件权限是不是为 755,
//并属于oracle:oinstall
8.修改hosts文件和主机名
#vi /etc/hosts
192.168.1.11  oracle10g
#hostname oracle10g
9.安装包和编译环境
#yum -yt groupinstall "Developement Tools" "Development Libraries"
# yum localinstall *.rpm  以下N个包,当然要区分64bit和32bit(不解释)
compat-libstdc++-33-3.2.3-61.x86_64.rpm
gcc-4.1.2-46.el5.x86_64.rpm
gcc-c++-4.1.2-46.el5.x86_64.rpm
glibc-devel-2.5-42.i386.rpm
glibc-devel-2.5-42.x86_64.rpm
glibc-headers-2.5-42.x86_64.rpm
kernel-headers-2.6.18-164.el5.x86_64.rpm
libgomp-4.4.0-6.el5.x86_64.rpm
libstdc++-devel-4.1.2-46.el5.x86_64.rpm
libXau-devel-1.0.1-3.1.i386.rpm
libXau-devel-1.0.1-3.1.x86_64.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXp-1.0.0-8.1.el5.x86_64.rpm
libXp-devel-1.0.0-8.1.el5.i386.rpm
libXp-devel-1.0.0-8.1.el5.x86_64.rpm
----------------------------------------------------
//接下来就是安装oracle数据库了,在排除N个错误后
//恭喜你OK了!
10.给oracle创建监听
$netca
11.创建数据库
$dbca
如果你不能正常启动oracle,那么向下看!

-----------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------
二、oracle安装排错
1.错误提示
sga size can not be greater than maxmum shared memory segment size ,refer to oracle installation guide to configure your operating system kernel parameters
 不能共享内存段尺寸,请参阅甲骨文安装指南设置你的操作系统内核的参数
在调整sysctl.conf后导致,参数设置和物理内存不一致的情况!(参考新增的sysctl.conf参数)
2.什么是oracle的 SID号
是一个数据库的唯一标识符!是建立一个数据库时系统自动赋予的一个初始ID,
SID主要用于在一些DBA操作以及与操作系统交互,从操作系统的角度访问实例名,必须通过ORACLE_SID
3.ORA-27102: out of memory
OS:CentOS5.4   1G内存
说明:一个参数的设置的不准确将会使oracle安装前功尽弃!!!
所以,从www获得文档不要照抄照搬,否则就必死无疑
/etc/sysctl.conf的shmall
//shmall这个参数设置的值太小就会报ORA-27102: out of memory
//对于32位系统,一页=4k,也就是4096字节。
kernel.shmall = 2097152  就是 2097152*4k/1024/1024 = 8G 就是说可用共享内存一共 8G
//设置参考
kernel.shmall = 2097152    ---内存8G
kernel.shmall = 4194304    ---内存16G
kernel.shmall = 8388608    ---内存32G
// 每个参数值做个简要的解释和说明。
    (1)shmmax:该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,oracle 通常将其设置为2G。
    (2)shmmni:这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 ,通常不需要更改。
    (3)shmall:该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152.通常不需要修改。
    (4)sem:该参数表示设置的信号量。
    (5)file-max:该参数表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量。
# /sbin/sysctl -p
-----------------------------------------------------------------------------------------
4.oracle数据库的network配置参考(见附件)
A:listener.ora
# listener.ora Network Configuration File: /u01/oracle/product/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PL***tProc)
      (ORACLE_HOME = /u01/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
    )
  )
B:sqlnet.ora
# sqlnet.ora Network Configuration File: /u01/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
C:tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
SHZQ =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracle)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = shzq)
    )
  )
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PL***tProc)
      (PRESENTATION = RO)
    )
  )
-----------------------------------------------------------------------------------------
5.如果安装Oracle发现swap分区过小的情况,则可以手动去扩展swap分区的大小
//使用root用户
#dd if=/dev/zero of=/home/swap bs=1024 count=1024000
//创建/home/swap分区文件。大小为1024000个block,一般情况下1个block为1K,所以这里空间是1024M(1G);
//指定分区类型为swap
//使用mkswap命令把分区变成swap分区如下
#/sbin/mkswap /home/swap
//让配置的swap生效
#/sbin/swapon /home/swap
//free -m 查看swap和内存大小
#free -m
//修改/etc/fstab文件让其自动挂载
#/home/swap   swap   swap   defaults   0 0
6.让另一台客户端或者应用服务器连接本服务器的oracle数据库
//前提:客户端或者应用服务器必须至少安装oracle客户或者oracle数据库
错误提示:
>sqlplus /nolog
SQL> conn '/as sysdba'
 请输入口令:  ******
 ERROR:
 ORA-12560: TNS: 协议适配器错误
 
SQL> connect system/manager
 ERROR:
 ORA-12560: TNS: 协议适配器错误
//说明:从客户端或者应用服务器(linux或WIN)
#tnsnping 192.168.1.11
#tnsping oracle10g        //需要做好解析
//以windows为例:
C:\Documents and Settings\Administrator>tnsping 192.168.1.11
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 15-2月 -
2012 14:16:18
Copyright (c) 1997, 2005, Oracle.  All rights reserved.
已使用的参数文件:
D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 EZCONNECT 适配器来解析别名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=192.168.1.11))(AD
DRESS=(PROTOCOL=TCP)(HOST=192.168.1.11)(PORT=1521)))
OK (20 毫秒)
-----------------------------------------------------------------------------------------
7.客户端连接oracle配置文件实例:(见附件)
A:listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PL***tProc)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    )
  )
B:sqlnet.ora
# sqlnet.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
C:tnsnames.ora
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
SHZQ =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    )
  (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = shzq)
    )
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PL***tProc)
      (PRESENTATION = RO)
    )
  )
-----------------------------------------------------------------------------------------
8.oracle安装完成,系统自带的用户和密码
//internal/oracle 
// sys/change_on_install
//system/manager
//scott/tiger
//sysman/oem_temp
三、使用PLSQL Developer 管理linux Oracle服务器
1.登陆
2.使用
3.功能
 
说明:
//1.本文不在于重在oracle安装,而是oracle安装过程中的排错
//2.安装后的调试(本文章只对此做技术支持MAIL: linuxhzg#qq.com 将#换为@)
//3.客户端和软件的使用
//4.下次更新tomcat应用连接oracle数据库
//5.仅作为推荐《Oracle Database 11g数据库管理艺术》给读者,无任何广告之意!

本文出自 “寒枫” 博客,请务必保留此出处http://linuxxx.blog.51cto.com/1824808/780789

阅读(1232) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~