Red Hat Enterprise Linux 5安装Oracle10

Red Hat Enterprise Linux 5安装Oracle10

2009-07-08 18:04

一、安装系统
首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2Gswap分区设置为与内存大小一样。
其实Linux系统的swap分区大小设置是很有讲究的,如果哪位读者有兴趣,可以参考我的另外一篇文章——《如何合理设置Linux系统的swap分区大小》。
在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。
为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作
二、安装Oracle前的系统准备工作
1.
检查需要的软件包
可以使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:
   From RedHat AS5 Disk 1
32 Bit
   # rpm -Uvh setarch-2* 
   # rpm -Uvh make-3* 
   # rpm -Uvh glibc-2* 
   # rpm -Uvh libaio-0*
   From RedHat AS5 Disk 2
32 Bit
   # rpm -Uvh compat-libstdc -33-3* 
   # rpm -Uvh compat-gcc-34-3*

安装前注意要先安装gcc环境 参阅linux gcc环境安装


   # rpm -Uvh compat-gcc-34-c -3* 
   # rpm -Uvh gcc-4* 
   # rpm -Uvh libXp-1*
   From RedHat AS5 Disk 3
32 Bit
   # rpm -Uvh openmotif-2* 
   # rpm -Uvh compat-db-4*
如果使用DVD安装介质的话,会很方便。
2.
修改Linux发行版本信息
由 于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle 10g并没有对 RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持 RedHat Enterprise Linux 5
方法一:
我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:
还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:
# vi install/oraparam.ini
在其中的Certified Versions段落增加redhat-5
#[Certified Versions] 
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加 
[Linux-redhat-5.0-optional] 
TEMP_SPACE=80 
SWAP_SPACE=150 
MIN_DISPLAY_COLORS=256
经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。
3.
修改系统内核参数
# vi /etc/sysctl.conf
kernel.shmall = 2097152                     //   
该 参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改 kernel.shmmax = 2147483648             //   该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为 32M,对于oracle来说,该缺省值太低了,通常将其设置为2G 
kernel.shmmni = 4096                        //   
这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改 
kernel.sem = 250 32000 100 128         //   
表示设置的信号量 
fs.file-max = 65536                             //   
表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量 
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
4.
创建Oracle用户、组、安装目录
在这里我只讨论单主机环境,不考虑RAC环境的配置,在以后我会专门写一篇如何配置Oracle RAC环境的文章。
(1) 
创建Oracle用户组
# groupadd oinstall 
# groupadd dba
(2) 
创建Oracle用户
# useradd -m -g oinstall -G dba oracle
(3) 
设置Oracle用户口令
# passwd oracle
(4) 
创建Oracle安装目录以及数据存放目录
# mkdir -p /DBSoftware/app/oracle 
# mkdir -p /DBData/oradata
(5) 
修改目录权限
# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/ 
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/
5.
添加以下内容到/etc/security/limits.conf
# vi /etc/security/limits.conf
oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536
6.
添加以下内容到/etc/pam.d/login
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so 
session required pam_limits.so
7.
添加以下内容到/etc/profile
# 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
8.
配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
9.
配置oracle用户环境变量
# su - oracle 
$ vi ~/.bash_profile
增加如下内容:
export orACLE_BASE=/DBSoftware/app/oracle    // 
上面创建的Oracle安装文件夹 
export orACLE_SID=orcl 
export orACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin 
export LD_LIBARY_PATH=$ORACLE_HOME/lib
export PATH 
umask 022
保存后使用如下命令,使设置生效:
$ source ~/.bash_profile
三、安装Oracle,并进行相关设置
1.
解压缩安装文件
oracle
的安装包有这样几种格式:
(1) zip
这种格式最好解压缩,直接使用命令unzip 文件名即可
(2) cpio.gz
这种格式有这样几种解压缩方式
a.   # zcat XXXX.cpio.gz | cpio -idmv 
b.   # gunzip XXXX.cpio.gz
解压出XXXX.cpio文件然后再 # cpio -idvm < XXXX.cpio
解压缩完成后,设置oracle帐户可以操作安装文件所在的目录
chown -R oracle:oinstall 
安装文件所在目录
2. 
oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:
$ ./runInstaller

提示permission denied chmod -R 777 * 
如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:
# export DISPLAY=:0.0 
# xhost + 
$ ./runInstaller
出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。
安装过程中,需要使用root权限执行两个脚本。
3. 
安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)
4.
创建监听以及创建数据库
(1) 
创建监听程序
使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听
$ netca
基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号
TNS
监听创建完成后可以使用如下命令进行检查:
# netstat -atln     
检查监听端口是否打开 
$ lsnrctl status     
检查TNS监听状态
确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:
$ dbca
在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。
四、数据库的启动脚本

# vi /etc/rc.d/init.d/oracle
================================   script File Start ================================ 

#!/bin/bash 

# chkconfig: 35 95 1 
# de script ion: init   script to start/stop oracle database 10g, TNS listener, EMS 
# match these values to your environment:
export orACLE_BASE=/DBSoftware/app/oracle 
export orACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH 
export orACLE_SID=orcl 
export orACLE_USER=oracle
# see how we are called: 
case $1 in 
     start) 
         su - "$ORACLE_USER"<<EOO 
         lsnrctl start 
         sqlplus /nolog<<EOS 
         connect / as sysdba 
         startup 
     EOS 
     emctl start dbconsole 
     EOO 
     touch /var/lock/subsys/$ script name 
     ;; 
     stop) 
         su - "$ORACLE_USER"<<EOO 
         lsnrctl stop 
         sqlplus /nolog<<EOS 
         connect / as sysdba 
         shutdown immediate 
     EOS 
     emctl stop dbconsole 
     EOO 
     rm -f /var/lock/subsys/ script name 
     ;; 
*) 
echo "Usage: $0 " 
;; 
esac
================================   script File End ================================
授权 :chown root.root /etc/rc.d/init.d/oracle
修改文件属性:chmod 755 /etc/rc.d/init.d/oracle
以后启动/关闭Oracle可以使用如下命令操作:
# service oracle start      //   
启动监听、数据库以及em 
# service oracle stop       //   
关闭监听、数据库以及em
当然你也可以把Oracle作为系统服务,随系统启动等等。




net.core.rmem_default=262144      // 
默认的接收窗口大小
net.core.rmem_max=262144          // 
接收窗口的最大大小
net.core.wmem_default=262144      // 
默认的发送窗口大小
net.core.wmem_max=262144        // 
发送窗口的最大大小

Linux下安装Oracle 11


此为参照CU论坛上的高人写的文章并结合自身环境增加了点细节性的东西


操作系统 CentOS 4.2 2.6.11.8内核

安装准备

下载Oracle11安装包
内存最少1G
硬盘空间最
6G
交换分区最少1024M,如果不够就用dd命令扩容一个如
:

dd if=/dev/zero of=/.swap bs=1k count=1024000     
创建文件

chmod 600 /.swap                               
设置权限
mkswap /.swap                                  
设定文件
swapon /.swap                                  
生效文件

安装如下软件

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
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
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

做个链接(老版本要,Oracle11不要)
ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5 

sysctl.conf文件中加入下列
:

kernel.shmall = 2097152
kernel.shmmax = 2147483648 -- (
以字节为单位,物理内存数量*1024*1024*2,为内存的2
)
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=8388608
net.core.rmem_max=8388608
net.core.wmem_default=262144
net.core.wmem_max=262144 
保存退出

sysctl -p
使其生效

设置Shell Limits(系统资源限制),提高软件的运行效率

/etc/security/limits.conf文件中加入下列红色行:

oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

/etc/pam.d/login文件中加入下列行,如果里面没有的话:

session required /lib/security/pam_limits.so
session required pam_limits.so

/etc/profile后加入以下语句:

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 


创建dba/oper/oinstall



/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/groupadd oinstall

--
创建oracle用户并设置用户所属组


/usr/sbin/usermod -g oinstall -G dba oracle
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)


--
创建相关安装目录


mkdir -p /opt/oracle/product
mkdir -p /opt/oracle/product/OraHome
mkdir -p /opt/oraInventory                      #(the default inventory folder)
mkdir -p /opt/oracle/oradata                   #(change the right file owner)
mkdir -p /var/opt/oracle 


--
设置目录所有者和权限

chown -R oracle.oinstall /opt/oracle
chown -R oracle.oinstall /opt/oracle/oradata
chown -R oracle.oinstall /opt/oracle/product/OraHome
chown -R oracle.dba /opt/oraInventory
chown oracle.dba /var/opt/oracle
chmod -R 775 /opt/oracle
chmod -R 755 /var/opt/oracle


设置安装环境变量
# su - oracle --su
oracle用户下,
更改用户的一些配置
$vi /home/oracle/.bash_profile
添加以下参数,主要是配置oracle软件运环境参数
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
       . ~/.bashrc
fi

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH


注意:

11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
10g
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
9i
ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data

保存退出

--
执行以下命令让配置马上生效或以oracle用户登录使设置生效
$ source $HOME/.bash_profile 

安装Oracle

首先要进入X界面

然后unzip解压压缩包
再进入目录下执行
./runInstaller

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

配置这一步 出错了... )
安装过程和Windows下安装软件一样根据提示下一步下一步安装

在前几步会提示要检测你的系统硬件和软件是否达标,如果有不合规格的会提示报错要求改正
根据提示信息,将所有设置都设置好,所缺软件都装好,就可以了

[oracle@localhost database]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB.   Actual 141856 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 1023 MB    Passed
Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,at which time they will be rechecked.

Continue? (y/n) [n] y


Rechecking installer requirements....
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-02-15_06-12-44AM. Please wait ...
DISPLAY not set. Please set the DISPLAY and try again.
Depending on the Unix Shell, you can use one of the following commands as examples to set the DISPLAY environment variable:
- For csh:                      % setenv DISPLAY 192.168.1.128:0.0
- For sh, ksh and bash:         $ DISPLAY=192.168.1.128:0.0; export DISPLAY
Use the following command to see what shell is being used:
        echo $SHELL
Use the following command to view the current DISPLAY environment variable setting:
        echo $DISPLAY
- Make sure that client users are authorized to connect to the X Server.
To enable client users to access the X Server, open an xterm, dtterm or xconsole as the user that started the session and type the following command:
% xhost +
To test that the DISPLAY environment variable is set correctly, run a X11 based program that comes with the native operating system such as 'xclock':
        % <full path to xclock.. see below>
If you are not able to run xclock successfully, please refer to your PC-X Server or OS vendor for further assistance.
Typical path for xclock: /usr/X11R6/bin/xclock 
[oracle@localhost database]$

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


不过有时候装好了它也会定在那个地方不走了
在确定好所有的设置正确和软件都装好了
可以用./runInstaller -ignoreSysPrereqs跳过检测
注意,安装过程中,尽量不要去更改SID,把默认的SID和一些其它信息记录下来,可以省去后面的很多麻烦

安装完毕后,以root身份进入系统 运行
ORACLE_HOME
下面的root.sh
完成最后的安装



Oracle
的启动设置

确定/etc/oratab文件设置每个实例的重启标志为“Y”
vim /etc/oratab  
orcl:/opt/oracle/product/OraHome:Y

打开ORACLE_HOME/network/admin/sqlnet.ora添加:

SQLNET.AUTHENTICATION_SERVICE=(NTS)

关闭selinux

启动EM控制台


su -oracle
ORACLE_HOME/bin/emctl start dbconsole (
就可以访问https://localhost:1158/em的企业控制台)
ORACLE_HOME/bin/lsnrctl start
ORACLE_HOME/bin/dbstart

Oracle 
常用操作命令



1
su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。

2
sqlplus /nolog sqlplus system/manager ./sqlplus system/manager@ora9i;

3
SQL>connect / as sysdba ;as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger) conn sys/change_on_install as sysdba;

4
SQL>startup; 启动数据库实例


5
、 查看当前的所有数据库: select * from v$database;

select name from v$database;

desc v$databases; 
查看数据库结构字段


7
、怎样查看哪些用户拥有SYSDBASYSOPER权限:

SQL>select * from V_$PWFILE_USERS;

Show user;
查看当前数据库连接用户


8
、进入test数据库:database test;

9
、查看所有的数据库实例:select * from v$instance


如:ora9i

10
、查看当前库的所有数据表:


SQL> select TABLE_NAME from all_tables;

select * from all_tables;

SQL> select table_name from all_tables where table_name like ‘u’;

TABLE_NAME———————————————default_auditing_options

11
、查看表结构:desc all_tables;

12
、显示CQI.T_BBS_XUSER的所有字段结构:


desc CQI.T_BBS_XUSER;

13
、获得CQI.T_BBS_XUSER表中的记录:

select * from CQI.T_BBS_XUSER;

14
、增加数据库用户:(test11/test)

create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;

15
、用户授权
:
grant connect,resource,dba to test11;

grant sysdba to test11;

commit;
16
、更改数据库用户的密码:(syssystem的密码改为
test.)

alter user sys indentified by test;

alter user system indentified by test;

原文地址:https://www.cnblogs.com/zongzhankui/p/5875355.html