solaris10 x86 u1 下安装 oracle 10g release 2

操作环境
solaris 10 x86 u1
oracle 10g release 2
bash shell

综合知识
solaris 10 x86 u1会以64位模式运行。
oracle 10g release 2就是64位架构

下载文件
http://www.oracle.com/technology ... racle10g/index.html
注册后点击
oracle database 10g release 2 (10.2.0.1.0) for solaris operating system (x86-64)
下载
10201_database_solx86_64.zip

检查系统环境
确保系统可以运行图形界面或可以远程运行图形界面,在此使用的远程桌面是x manager 2.0
打开xbrowser,输入服务器的ip地址即可连上。

查看系统版本(要求5.10 64-bit)
? uname -a
sunos javasvr 5.10 generic_118844-26 i86pc i386 i86pc
? isainfo -kv
64-bit amd64 kernel modules

查看物理内存(要求512mb以上,按具体情况)
? /usr/sbin/prtconf grep "memory size"
memory size: 2048 megabytes

查看交换文件(要求1g以上)
? /usr/sbin/swap -l
swapfile             dev   swaplo blocks   free
/dev/dsk/c0t0d0s1   55,65       8 4192952 4192952

临时文件空间(要求400m以上)
? df -h /tmp
filesystem             size   used   avail capacity   mounted on
swap                   3.1g     8k   3.1g     1%     /tmp

这里的物理内存为2g,理论上为2g*1.5=3g合适,这里再添加512mb

创建一个512mb的交换文件:
# mkfile 512m /export/home/swapone

添加刚创建的交换文件:
# swap -a /export/home/swapone

检查一下:
# swap -l
swapfile             dev   swaplo blocks   free
/dev/dsk/c0d0s1     102,1       8 1056376 1056376
/export/home/swapone   -         8 1048568 1048568

下面设置交换文件在重启后自动加载使用:
# vi /etc/vfstab
/export/home/swapone     -       -       swap     -       no       -

查看硬盘空间(要求3.7g以上)
df -h
filesystem             size   used   avail capacity   mounted on
/dev/dsk/c0t0d0s0       29g   3.1g     25g     12%     /
......
swap                   3.1g   636k   3.1g     1%     /etc/svc/volatile
......
/dev/dsk/c0t0d0s7       27g   6.3g     20g     24%     /export/home

查看以下软件包是否存在
? pkginfo -i sunwarc sunwbtool sunwhea sunwlibm   sunwlibms sunwsprot sunwtoo sunwi1of   sunwi1cs sunwi15cs sunwxwfnt
system       sunwarc   lint libraries (usr)
system       sunwbtool ccs tools bundled with sunos
system       sunwhea   sunos header files
system       sunwi1of   iso-8859-1 (latin-1) optional fonts
system       sunwlibm   math & microtasking library headers & lint files (usr)
system       sunwlibms math & microtasking libraries (usr)
system       sunwsprot solaris bundled tools
system       sunwtoo   programming tools
system       sunwxwfnt x window system platform required fonts
error: information for "sunwi1cs" was not found
error: information for "sunwi15cs" was not found

这里需要安装两个包:sunwi1cs和sunwi15cs

这里从下载的安装镜像文件安装

加载存放镜像文件分区
? mkdir /mnt/storage
? mount -f pcfs /dev/dsk/c0t0d0p4:1 /mnt/storage

以块设备加载镜像文件
? lofiadm -a /mnt/storage/solaris10/sol-10-u1-ga-x86-dvd.iso
/dev/lofi/1
? mount -f hsfs -o ro /dev/lofi/1 /mnt/isoimg

安装这两个包
? pkgadd -d /mnt/isoimg/solaris_10/product sunwi1cs
? pkgadd -d /mnt/isoimg/solaris_10/product sunwi15cs

卸载加载的文件
? umount /mnt/isoimg/
? lofiadm -d /dev/lofi/1
? umount /mnt/storage/

由于使用的solaris 10 u1比较新,就不打补丁了。


创建用户和组

需要创建两个组oinstall和dba,两个用户oracle和nobody

先查看是否已存在
? grep oinstall /etc/group
? grep dba /etc/group
? id -a oracle
? id -a nobody
uid=60001(nobody) gid=60001(nobody) groups=60001(nobody)

创建组
? groupadd oinstall
? groupadd dba

创建用户
? useradd -g oinstall -g dba -d /export/home/oracle -s /usr/bin/bash -c 'oracle software owner' -m oracle
? id -a oracle
uid=107(oracle) gid=104(oinstall) groups=105(dba)

设置密码
? passwd oracle
***

创建所需目录

需要创建两个目录oracle和oradata,一个用来存储程序文件,一个用来存储数据文件

查看磁盘空间
? df -kh

创建目录oracle(需要3g以上)
? mkdir -p /opt/oracle
? chown -r oracle:oinstall /opt/oracle
? chmod -r 775 /opt/oracle

创建目录oradata(需要1.2g以上)
? mkdir -p /export/home/oradata
? chown -r oracle:oinstall /export/home/oradata
? chmod -r 775 /export/home/oradata

调整内核参数

备份配置文件
? cp /etc/system /etc/system.orig

修改配置文件,添加如下几行
? vi /etc/system
* for install oracle 10g
set noexec_user_stack=1
set semsys:seminfo_semmni=100
set semsys:seminfo_semmns=1024
set semsys:seminfo_semmsl=256
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10

重启系统
? reboot

准备安装文件

解压安装文件:
? unzip 10201_database_solx86_64.zip
得到文件夹database

配置环境参数

用oracle登录
? su - oracle

设置环境参数
? vi .profile
umask 022
oracle_base=/opt/oracle
oracle_sid=cdtdb
export oracle_base oracle_sid

重新登录查看
-bash-3.00$ umask
0022
? env more
-bash-3.00$ env more
......
oracle_sid=cdtdb
oracle_base=/opt/oracle
......

开始安装过程

用xmanager登录到服务器
用oracle用户

运行database目录下的runinstaller

select installation method
   advanced installation

specify inventory directory and credentials
   /opt/oracle/orainventory
   oinstall

select installation type
   enterprise edition

sepcify home details
   name: oradb10g_home1
   path: /opt/oracle/oracle/product/10.2.0/db_1

product-specific prerequisite checks
   全部通过即可!

select configuration option
   create a database

select database configuration
   general purpose

specify database configuration options
global database name:cdtdb         sid:cdtdb
select database character set: simplified chinese zhs16gbk
选中create database with sample schemas

select database management option
选中use database control for database management
         enable email notification
                 61.144.43.235
                 chenliqun@pyp.edu.cn

specify database storage option
选中file system
         location:/export/home/oradata

specify backup and recovery options
选中do not enable automated backups

specify database schema passwords
统一使用一个密码:***

summary

execute configuration scripts
按照提示,用root用户运行脚本

安装完成!

安装日志:
/opt/oracle/oracle/product/10.2.0/db_1/cfgtoollogs/dbca/cdtdb

isql*plus url:
http://192.168.200.11:5560/isqlplus

isql*plus dba url:
http://192.168.200.11:5560/isqlplus/dba

enterprise manager 10g database control url:
http://192.168.200.11:1158/em
用sys用户以sysdba身份登录

完成服务配置

用oracle登录
? su - oracle

修改配置文件
? vi .profile
stty istrip
ps1='# '
umask 022
mail=/usr/mail/${logname:?}
path=/usr/bin:/usr/sbin:/usr/sadm/bin:/usr/sfw/bin:/usr/local/bin:/usr/ucb:/etc:.
oracle_sid=cdtdb
oraenv_ask=no
oracle_base=/opt/oracle
export ps1 path oracle_base oracle_sid oraenv_ask
. oraenv

正确配置数据库实例入口
? vi /var/opt/oracle/oratab
cdtdb:/opt/oracle/oracle/product/10.2.0/db_1:y

创建自动运行脚本
? vi /etc/init.d/oracle
#!/bin/sh
ora_home=/opt/oracle/oracle/product/10.2.0/db_1
ora_owner=oracle
if [ ! -f $ora_home/bin/dbstart ]
then
   echo "oracle startup: cannot start"
   exit
fi
case "$1" in
   'start') # start the oracle databases and listeners
             su - $ora_owner -c "$ora_home/bin/dbstart"
             su - $ora_owner -c "$ora_home/bin/lsnrctl start"
             su - $ora_owner -c "$ora_home/bin/emctl start dbconsole"
             su - $ora_owner -c "$ora_home/bin/isqlplusctl start"
             ;;
   'stop')   # stop the oracle databases and listeners
             su - $ora_owner -c "$ora_home/bin/isqlplusctl stop"
             su - $ora_owner -c "$ora_home/bin/emctl stop dbconsole"
             su - $ora_owner -c "$ora_home/bin/lsnrctl stop"
             su - $ora_owner -c "$ora_home/bin/dbshut"
             ;;
esac

建立符号连接
? ln -s /etc/init.d/oracle /etc/rc2.d/s99oracle
? ln -s /etc/init.d/oracle /etc/rc0.d/k10oracle