Chinaunix首页 | 论坛 | 博客
  • 博客访问: 717405
  • 博文数量: 127
  • 博客积分: 2032
  • 博客等级: 大尉
  • 技术积分: 1446
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-04 10:20
文章分类

全部博文(127)

分类: Oracle

2010-04-14 14:27:34

Swap分區設置成內存的1.5倍

1,安装相关的软件包
清单如下:
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
libaio-0.3.103-3
libXp(as 5)
查询所需安装包是否完整(缺少补啥)
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
 
2,编辑vi /etc/sysctl.conf文件,末尾添加如下行(原文件如有重复的,屏蔽掉)
kernel.shmall = 2097152
kernel.shmmax = 268435456
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.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
执行命令生效:/sbin/sysctl –p
備註: /etc/sysctl.conf文件說明

SHMMAX Available physical memory Defines the maximum allowable size of one shared memory segment.The SHMMAX setting should be large enough to hold the entire SGA in one shared memory segment. A low setting can cause creation of multiple shared memory segments which may lead to performance degradation.

  
說明:关于Linux下kernel.shmmax的设置问题
按照oracle的解释,SHMMAX应该比SGA区大啊.否则会引发性能的下降!

  shmmax 指的是单个共享内存段的最大尺寸, 设置shmmax=1G,sga分配了1.2G,当启动实例的时候就分配 2 块共享内存给Oracle .

  如果物理内存是 2 G, 假设这台DB Server上还有Apache 在运行,那么shmmax 中设置的内存也会被Apache 来使用,那么分配的 2 块共享内存段给Oracle 是否就是 2 * 1G , 还是仅仅满足 SGA需求的 1.2 G就停止分配 , 其他的内存的一部分分配给Oracle PGA 和软件 Apache 来使用 ?

  想到这个问题,是因为在安装oracle时,常常需要修改内核文件/etc/sysctl.conf,需要设置这个参数.

  设置oracle共享内存段:

  以root身份进行修改 /etc/sysctl.conf 这个文件,加入以下的语句:

  kernel.shmmax = 2147483648
  kernel.shmmni = 4096
  kernel.shmall = 2097152
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000

  注:

  sem  4个参数依次为SEMMSL(每个用户拥有信号量最大数);
  SEMMNS(系统信号量最大数);
  SEMOPM(每次semopm系统调用操作数);
  SEMMNI(系统辛苦量集数最大数)。
  Shmmax 最大共享内存2GB
  物理内存如果小的话可以设置成 536870912。
  Shmmni 最小共享内存 4096KB。
  Shmall 所有内存大小。

  一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。

  在redhat上最大共享内存不建议超过

  4*1024*1024*1024-1=4294967295

  设置完成后用命令 more /etc/sysctl.conf |grep kernel.s 检查。

  建议重启系统再继续下面的操作。


 
3,编辑vi /etc/security/limits.conf文件,在末尾添加下列行
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536
 
4,建立相关的安装目录
cd  u01
mkdir –p app/oracle
mkdir /u01
mkdir /u01/app
mkdir /u01/app/oracle
 
5,建立dba,oinstall组与oracle用户
#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba -d /u01/app/oracle oracle -s bin/bash
#passwd oracle
#chown -R oracle.oinstall /u01
 
6,执行命令,使其进入图形安装模式
#xhost +
 
7,切换到oracle用户 (su  - oracle)
编辑.bash_profile文件,添加如下行,设置oracle用户的环境变量
以oracle用户登录,修改oracle用 户下的 .bash_profile 文件。增加以下参数:
#vi .bash_profile (执行vi命令来修改.bash_profile)
.bash_profile中增加以下內容

 umask 022
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/product; export ORACLE_BASE
ORACLE_HOME=/u01/product/oracle; export ORACLE_HOME
ORACLE_SID=nbeg; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL



8,解压oracle安装文件
tar  -xvzf 10201_database_linux32.tar.gz
 
在linux系统中用Oracle帐号执行DBCA或其他JAVA图形界面程序时,报错:
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Error: Can't open display: :0.0

解决办法:用 root登陆,在#提示符后输入:
xhost local:oracle non-network local connections being added to access control list
注:必須在圖形模式下輸入此命令才能生效。
敲回车运行后出现:
non-network local connections being added to access control list
xhost: bad hostname "non-network"
xhost: bad hostname "local"
xhost: bad hostname "connections"
xhost: bad hostname "being"
xhost: bad hostname "added"
xhost: bad hostname "to"
xhost: bad hostname "access"
xhost: bad hostname "control"
xhost: bad hostname "list"


此时再 su - oracle 切换到Oracle用户执行图形界面任务就可以了
man xhost中有这样一段

       A complete name has the syntax ‘‘family:name’’ where the families are as follows:

       inet      Internet host (IPv4)
       inet6     Internet host (IPv6)
       dnet      DECnet host
       nis       Secure RPC network name
       krb       Kerberos V5 principal
       local     contains only one name, the empty string
       si        Server Interpreted

其中 local那个是用来解决同一台机器的不同用户访问X的问题的。
  $./runInstaller
网上几乎所有的文章都是使用设置环境变量DISPLAY的方法来安装了, 但是这里就是不行,这也是困扰我很久的主要问题! 好了,你现在应该能看到安装的界面了吧!
可是界面上怎么都是“方框”的乱码呢?呵呵,那是因为 语言、字体设置的问题,退出安装,先设置一下环境变量:
   $ export LC_ALL=C
   $ ./runInstaller
 
 
9,安装oracle
执行命令./runInstaller
 
10,下面是安装过程图解
 
 
 
 
安装完成之后,再执行两个脚本就可以了:
使用root用户来执行该脚本,分别执行以下兩個腳本
/u01/app/oracle/oraInventory /orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh
退出安装界面
切换到oracle用户进入SQL操作界面:
Sqlplus / as sysdba    (sqlplus / nolog)
SQL>
 
查看是否可以进入web界面管理oracle10g数据库
执行命令:     emctl status dbconsole
启动web界面:emctl start dbconsole
停止web界面:emctl stop dbconsole
(默认安装完oracle之后就已经启动oracle 10g 的web的管理界面)
在火狐浏览器输入 :1158/em进入web操作界面
 
 
 
a:$ORACLE_HOME/bin/dbstart | dbshut
b:$ORACLE_HOME/bin/lsnrctl start | stop 监听器启动|关闭。
c:$ORACLE_HOME/bin/emctl start | stop dbconsole
访问
d:$ORACLE_HOME/bin/isqlplusctl start | stop
访问



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