1.     创建DBA
2.     创建oracle用户 oracle/oinstall
3.     授权oracle用户对目录有读写权限
4.     .profile文件中设置环境变量
5.     在安装路径上创建oracle结构目录
6.     设置操作系统核心参数
7.     重新启动系统并检查各参数
 
RHAS3上安装Oracle10g===========================================================
作者: xsb(http://xsb.itpub.net)
发表于:2005.06.22 12:18
分类: Oracle
出处:http://xsb.itpub.net/post/419/33027
---------------------------------------------------------------
0.安装RHELAS3
自定义安装,开发工具全装,KDE图形环境
 
1.准备安装文件

2.设置核心参数Set Kernel Parameters
# vi /etc/sysctl.conf  
在该文件末尾加入如下内容:
#-----------Begin from here--------------------------------------
kernel.shmall = 2097152
kernel.shmmax = 536870912   (512物理内存的标准, 64MB)
2147483648 (1024物理内存的标准, 256MB)
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      或者 4194304     
net.core.rmem_max = 262144       
或者 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
#--------------End here--------------------------------------------
编辑完之后,保存,
执行 #  /sbin/sysctl -p 命令操作来使我们所做的变更生效.
:上面kernel.shmmax/kernel.sem等是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动
 
然后,应该检查一下上面的操作是否正确:
/sbin/sysctl -a | grep sem
 /sbin/sysctl -a | grep shm
 /sbin/sysctl -a | grep file-max
 /sbin/sysctl -a | grep ip_local_port_range
 
Oracle用户设定Shell的限制
一般来说,出于性能上的考虑,还需要需要进行如下的设定,以便改进Oracle用户的有关 nofile(可打开的文件描述符的最大数)nproc(单个用户可用的最大进程数量)
 
#  vi /etc/security/limits.conf
# 添加如下的行
 soft  nproc  2047
 hard  nproc 16384
 soft  nofile  1024
 hard  nofile  65536
 
添加如下的行到/etc/pam.d/login 文件:
session required  /lib/security/pam_limits.so
session required pam_limits.so
编辑 /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
之后,执行$ unlimit 验证一下.
 
3.安装RPM软件包
在这个版本的RHEL上安装Oracle,必须要有几个软件包. 确认以下 rpm包都已经安装:
 make-3.79
 binutils-2.11
 openmotif-2.2.2-16
 setarch-1.3-1
 compat-db-4.0.14.5
 compat-gcc-7.3-2.96.122
 compat-gcc-c++-7.3-2.96.122
 compat-libstdc++-7.3-2.96.122
 compat-libstdc++-devel-7.3-2.96.122

#  rpm -qa | grep compat
#
在我的机器上输出如下:
 compat-gcc-c++-7.3-2.96.122
 compat-libstdc++-7.3-2.96.122
 compat-libstdc++-devel-7.3-2.96.122
 compat-glibc-7.x-2.2.4.32.5
 compat-db-4.0.14-5
 compat-gcc-7.3-2.96.122
 
#  rpm -qa | grep openmotif
   openmotif-devel-2.2.2-16
   openmotif-2.2.2-16

#  rpm -qa | grep setarch
   setarch-1.3-1

# From RedHat AS3 Disk 2
   cd /mnt/cdrom/RedHat/RPMS
   rpm -Uvh setarch-1.3-1.i386.rpm
   rpm -Uvh openmotif-2.2.2-16.i386.rpm
# From RedHat AS3 Disk 3
   cd /mnt/cdrom/RedHat/RPMS
   rpm -Uvh compat-libstdc++-7.3-2.96.122.i386.rpm
   rpm -Uvh compat-libstdc++-devel-7.3-2.96.122.i386.rpm
   rpm -Uvh compat-db-4.0.14-5.i386.rpm
   rpm -Uvh compat-gcc-7.3-2.96.122.i386.rpm
   rpm -Uvh compat-gcc-c++-7.3-2.96.122.i386.rpm
 
此外,最好验证一下 gccglibc的版本(要求是gcc-3.2.3-2 或者更高)
# gcc -v
# rpm -q glibc
4.创建用户和组:
groupadd oinstall
groupadd dba
useradd –d /u01  -g oinstall -G dba oracle
passwd oracle
Create the directories in which the Oracle software will be installed:
mkdir -p /u01/app/oracle/product/10.1.0/db_1
chown -R oracle.oinstall /u01
5.设置Oracle变量.bash_profile:
 
登录为oracle用户
#   su – oracle
$   cd
$   vi .bash_profile
#添加如下内容,你的具体值应该不会和这个完全相同.
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8
然后执行
$  source .bash_profile
使环境变量生效. /u01/app/oracle 等目录应该建立好并做合适的授权.
   set |grep ORACLE
 
6.开始安装Installation
 
oracle账户在运行级别5下登录
cd /mnt/oin/10g/disk1
./runInstaller
7.Post Installation
Finally edit the /etc/oratab file setting the restart flag for each instance to 'Y':
TSH1:/u01/app/oracle/product/10.1.0:Y
其他的步骤比较清晰,不再赘述.
最后系统会提示你运行root.sh文件.按照提示做即可.
FAQ (Linux平台安装Oracle比较常见)
 
1. 不能启动安装界面.运行runInstaller提示信息类似如下:
xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server
Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......
解决办法: 设定你的DISPLAY环境参数.# export DISPLAY= your_IPaddress :0.0your_IPaddress换成你的IP.或者
root简单的执行一下# xhost + (要注意这样会有安全上的隐患)

2.
安装界面显示很多"口口"样子的乱码
解决办法:查看locale输出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

执行#export LC_CTYPE=en_US.UTF-8 然后重新调用安装程序.
 
[root@orclas3 u01]# su root
[root@orclas3 u01]# cd  /u01/app/oracle/oraInventory/
 [root@orclas3 oraInventory]# ./orainstRoot.sh
Changing permissions of /u01/app/oracle/oraInventory to 770.
Changing groupname of /u01/app/oracle/oraInventory to oinstall.
The execution of the script is complete
[root@orclas3 oraInventory]# cd ..
[root@orclas3 oracle]# cd  /u01/app/oracle/product/10.1.0/ db_1/
[root@orclas3 db_1]# ./root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME= /u01/app/oracle/product/10.1.0/db_1
 
Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
 
Creating /etc/oratab file...
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
/u01/app/oracle/product/10.1.0/db_1
 
 
Windows下创建数据库使用DBCA工具:程序打开 或者 执行dbca命令既可。
UNIX环境下在$Oracle_HOME/bin下运行DBCA实用程序
 
UNIX下oracle实例的启动:
Oracle实例启动命令startup
 
startup命令启动oracle10gR2数据库实例
Shell:  
  sqlplus   /nolog  
  conn   sys/nicai as sysdba  
  shutdown   immediate;  
  startup;
或者:
Shell:  输入sqlplus   /nolog  
  ->输入conn   sys/change_on_install  
  ->输入shutdown   immediate;  
  ->输入startup   nomount;  
  ->输入startup   mount;  
  ->输入startup   open;  
startup分3个步骤:  
  nomount:启动初始化参数文件规定的实例;  
  mount:加载控制文件;  
  open:加载数据文件; 
 
 她的具体参数如下:  
  SQL>   help   startup  
    STARTUP -------  
    Starts   an   Oracle   instance   with   several   options,   including   mounting,  
    and   opening   a   database.  
    STARTUP   [FORCE]   [RESTRICT]   [PFILE=filename]   [EXCLUSIVE]  
        [PARALLEL   [RETRY]]   [SHARED   [RETRY]]  
        [MOUNT   [dbname]   |   OPEN   [open_options]   [dbname]   |   NOMOUNT]  
    where   open_options   has   the   following   syntax:  
            READ   {ONLY|WRITE   [RECOVER]}   |   RECOVER
 
进入CMD  
  C:\LSNRCTL  
  C:\LSNRCTL>start     执行start命令之后你会看到屏幕闪过很多字符,这些都是启动的一些配置文件。  
  C:\LSNRCTL>exit                                             这是退出C:LSNRCTL>  
  C:\NET   START   ORACLESERVICEMYORACLE       这个时候数据库已经起来了  
  C:\SQLPLUS   SYS/MYORACLE@MYORACLE           如果不出意外你会进入SQLPLUS  
 
SQL> show user
USER 为 "SYS"
SQL> select username,ACCOUNT_STATUS,EXPIRY_DATE from dba_users;
USERNAME                       ACCOUNT_STATUS                   EXPIRY_DATE
------------------------------ -------------------------------- -------------
MGMT_VIEW                      OPEN
SYS                            OPEN
SYSTEM                         OPEN
DBSNMP                         OPEN
SYSMAN                         OPEN
OUTLN                          EXPIRED & LOCKED                 12-12月-06
MDSYS                          EXPIRED & LOCKED                 12-12月-06
ORDSYS                         EXPIRED & LOCKED                 12-12月-06
EXFSYS                         EXPIRED & LOCKED                 12-12月-06
DMSYS                          EXPIRED & LOCKED                 12-12月-06
WMSYS                          EXPIRED & LOCKED                 12-12月-06
 
SQL> alter user OUTLN account unlock;
用户已更改。
SQL> grant connect to outln identified by zhao123;
授权成功。
 
SQL> connect sys/nicai as sysdba
已连接。
SQL>   shutdown   immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area 209715200 bytes
Fixed Size                  1248116 bytes
Variable Size              79692940 bytes
Database Buffers          121634816 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
数据库已经打开。
 
从dba_temp_files数据字典中查询临时表空间信息:
SQL> select tablespace_name,file_name from dba_temp_files;
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
 
v$controlfile数据字典中查询控制文件信息
SQL> select * from v$controlfile;
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
 
 
从v$logfile数据字典中查询日志文件信息
SQL> select * from v$logfile;
GROUP# STATUS TYPE
MEMBER
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
 
 
从v$database数据字典中查询数据库是否是归档模式
SQL> select dbid,name,log_mode from v$database;
      DBID NAME            LOG_MODE
1136768700 ORCL        NOARCHIVELOG
显示归档文件所在路径:SQL> show parameter log_archive-dest
 
Oracle数据库体系结构总结:
数据文件是存放实际数据的物理文件。
表空间是包含一个或多个数据文件的逻辑结构。
一个数据文件只能归到某一个表空间上。
数据文件可以在创建表空间时创建,也可以增加的方式创建。
数据文件的大小一般与操作系统限制有关。
控制文件主要存放有数据文件、日志文件及数据库的基本信息,一般在数据打开时访问。
日志文件存放日志信息,在数据库活动时使用。
临时表空间是用于存放排序的磁盘空间。