前言
从oracle 8i开始,大多数情况下我们是通过OUI图形工具来安装oracle的,不过在某些特殊情况下(比如由于网络,防火墙等原因),我们无法使用图形终端连接到待安装的服务器上进行操作。Oracle 10g中考虑到了这一点,在runInstaller中增加了silent参数,使得不起图形界面(纯字符界面)也能安装数据库。当然,silent方式的实现和10g只有一张盘也有很大关系。
1. 打系统补丁
到sun官方网站上把solaris 8的最新系统补丁J2SE Solaris Patch Clusters,网址:
http://sunsolve.sun.com/pub-cgi/sho...es/patch-access
下载文件为8_Recommended.zip
用unzip 解压,unzip 8_Recommended.zip
设解压在/orainst/8_ Recommended目录下
#cd /orainst/8_ Recommended
#./install_cluster
除了这个J2SE Solaris Patch Clusters之外,装10g的时候还需要4个单独的补丁:
108921-16
108940-53
108773-18
111308-03
在上面那个网址上可以搜索到上述4个patch号,并把他们down下来,是4个jar文件
用unzip 解压,例:unzip 108921-16.jar
设解压在/orainst/108921-16目录下
#patchadd /orainst/108921-16 108921-16
依次将这4个patch apply
重启机器
2. 配kernel 参数
#vi /etc/system
set shmsys:shminfo_shmmax=2147483648 (给oracle最大内存设为2G)
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=512
set shmsys:shminfo_shmseg=128
set semsys:seminfo_semmap=64
set semsys:seminfo_semmni=4096
set semsys:seminfo_semmns=4096
set semsys:seminfo_semmsl=4096
set semsys:seminfo_semmnu=4096
set semsys:seminfo_semume=64
set semsys:seminfo_semopm=100
重启机器
3. 创建用户和组
# groupadd dba
#useradd ?g dba ?d /export/home/oracle ?m oracle
#passwd oracle (改oracle用户密码)
设定oracle用户的环境参数
#su ? oracle
$vi .profile
加入内容:
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/10g
ORACLE_SID=ora10g
export ORACLE_BASE ORACLE_HOME ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:.
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib
export LD_LIBRARY_PATH PATH CLASSPATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORA_NLS33
NLS_LANG=American_America.zhs16gbk
export NLS_LANG
EDITOR=vi
export EDITOR
存盘
$. ./.profile使之生效
4. 解压oracle 10g安装包
Otn.oracle.com上把ship_rel10_sol64_db.cpio.gz down下来传到机器上,设存放在/orainst/ora10g/下 (这个路径后面会用到)
用oracle用户解压
$gzip ?d ship_rel10_sol64_db.cpio.gz
$cpio ?idcmv
解压完毕后,会在/orainst/ora10g下多出一个目录Disk1,oracle 10g的介质就在Disk1目录下。
5. 创建oraInst.loc文件
Su ? root
#mkdir /var/opt/oracle
#cd /var/opt/oracle
#vi oraInst.loc (注意文件名,不是orainst.loc)
加入内容:
inventory_loc=ORACLE_BASE/oraInventory 此文中ORACLE_BASE为/oracle
inst_group=dba
存盘
改文件权限
#chown oracle:dba oraInst.loc
#chmod 664 oraInst.loc
6. 编辑Response 文件
这一步骤是字符界面装oracle的关键步骤
到oracle 10g的安装目录下编辑response文件
$su ? oracle
$cd /orainst/ora10g/Disk1/response
可以看到oracle准备了6个response文件,实际上这些文件就是用来安装和配置oracle时的模板,分别是
custom.rsp dbca.rsp emca.rsp enterprise.rsp netca.rsp standard.rsp
在这里挑了一个简单的response文件 enterprise.rsp,也可以根据实际情况去选用编辑其他几个response文件。
$cp custom.rsp myinst.rsp
$vi myinst.rsp
在myinst.rsp的最前面有一段说明,应该仔细看看,特别要注意它定义的几个数据变量格式的写法,如下:
Type Example
String "Sample Value"
Boolean True or False
Number 1000
StringList {"String value 1","String Value 2"}
其后都是安装oracle时所需要定义的变量,其值有三种情况,一是已经有默认值的,几乎可以不用管它。二是值等于的,这种变量是非图形界面安装10g所必需要指定的变量,一定要修改成合适的值,第三种变量的值等于,说明它的值是和别的变量值关联的,也可以不用管它。需要把第二类变量的值逐个修改。
更改情况如下,可根据实际情况修改其它变量的值:
ORACLE_HOME="/oracle/ora10g/product/10g"
ORACLE_HOME_NAME="ORA10G"
s_nameForDBAGrp="dba"
s_nameForOPERGrp="dba"
SHOW_DATABASE_CONFIGURATION_PAGE=false
b_createStarterDB=false (不创建数据库)
SHOW_DATABASE_OPTIONS_PAGE=false
s_dbCharacterSet="ZHS16GBK"
s_globalDBName="ora10g"
s_dbSid="ora10g"
SHOW_DATABASE_MANAGEMENT_PAGE=false
SHOW_DATABASE_FILE_STORAGE_OPTION_PAGE=false
SHOW_BACKUP_RECOVERY_OPTION_PAGE=false
SHOW_SCHEMA_PASSWORDS_PAGE=false
改完后存盘退出
7. 执行runInstaller安装10g
转到oracle 10g安装介质目录下,运行runInstaller
$cd /orainst/ora10g/Disk1
$./runInstaller ?silent ?responseFile /orainst/ora10g/Disk1/response/myinst.rsp
这样Oracle 10g就开始安装了
安装进程的步骤如下:
a.检测temp 和swap分区的大小
b.查系统补丁是否满足需要
c.到response文件中读取信息
d.copy 相关文件
e.link and setup
f.提示运行root.sh,根据提示,用root用户去运行root.sh就行了
一般出错的地方容易在b、c步骤,如果是系统补丁没打全,则根据提示把系统补丁打好,如果是在c的地方出错,说明你的response文件信息有误,需要重新修改response文件。
至此,不起图形界面安装10g就完成了
8.后续工作
建数据库。
此次安装中并未建库,关于用脚本建库的方法,和以前版本的oracle类似,这里不再具体说明了。
配listener
$vi $ORACLE_HOME/network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.6.39.24)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/ora10g/product/10g)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ora10g)
(ORACLE_HOME = /oracle/ora10g/product/10g)
(SID_NAME = ora10g)
)
)
添加完了存盘退出
$ lsnrctl start 启动监听
$ lsnrctl stop 关闭监听