静默安装oracle及实例
安装前的各种准备就不说了,跟图形界面安装一样,只从静默安装开始。
一、编译安装需要的应答文件
静默模式(Silent)安装必须指定一个应答文件来完成安装过程所须的各类参数。
在Oracle安装目录的response子目录里有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。
以enterprise.rsp为例,用任意的文本编辑器打它,修改以下这些项目的值。
ORACLE_HOME Oracle服务器的主目录位置,必须是绝对路径。
(ORACLE_HOME=/oracle/product/10.2.0)
ORACLE_HOME_NAME Oracle服务器的名称,必须以字母开头。
(ORACLE_HOME_NAME=dbss)
Oracle服务器支持的语言,默认只有英语,可以添加多个语言。
(COMPONENT_LANGUAGES={"en","zh_CN"})
s_nameForDBAGrp 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限,在本例中设置为oinstall。
s_nameForOPERGrp 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限,在本例中设置为oinstall。
n_configurationOption 安装类型(1为在安装后创建数据库,2为安装后创建一个自动存储管理实例,3为只安装服务器软件),在本例中选择3。
其它项目用默认值即可,也可以根据自己的须要进行修改。
注:如果Oracle从光盘安装,必须先将应答文件复制到硬盘上,才能修改。
二、开始安装
用oracle用户登录,然后在介质目录下执行./runInstaller -ignoreSysPrereqs -silent -responseFile /oracle/database/response/enterprise.rsp
ignoreSysPrereqs 让Oracle忽略系统检查,因为Oracle官方声明只支持Linux 服务器产品,所以要在非服务器产品的Linux上安装就必须指定此参数。
silent 让安装程序以静默模式运行。
responseFile 指定一个应答文件。
三、安装后的工作
1、别忘记用root执行两个脚本,/oracle/product/10.2.0/root.sh和
/oracle/oraInventory/orainstRoot.sh。
2、安装网络监听器。
没有网络监听器,客户端就无法通过网络连接Oralce服务器。
要在命令行安装网络监听器,也只能使用静默模式。
编辑Oracle安装目录里response子目录下的应答文件netca.rsp,修改以下项目。
INSTALL_TYPE=""custom"" 安装的类型
LISTENER_NUMBER=1 监听器数量
LISTENER_NAMES={"LISTENER"} 监听器的名称列表
LISTENER_PROTOCOLS={"TCP;1521"} 监听器使用的通讯协议列表LISTENER_START=""LISTENER"" 监听器启动的名称
然后运行
$ORACLE_HOME/bin/netca /silent /responseFile <应答文件的绝对路径> PS:这个我没有安装成功,但是好像对之后的安装并没有影响,问题先记下!3、修改dbstart。
用任意的文本编辑器打开$ORACLE_HOME/bin/dbstart,将ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
否则网络监听器可能无法自动启动。
PS:问题同上,不知道影响在哪里。
4、安装数据库实例。
编辑Oracle安装目录里response子目录下的应答文件dbca.rsp,修改以下项目。
GDBNAME 数据库全局名称
SID 数据库的SID
SYSPASSWORD SYS用户的初始密码
SYSTEMPASSWORD SYSTEM用户的初始密码
CHARACTERSET数据库字符集(中文为ZHS16GBK)NATIONALCHARACTERSET数据库国家字符集
PS:有的命令是被注释掉的,需要去掉注释。
然后运行
$ORACLE_HOME/bin/dbca -silent -responseFile <路径/文件> -cloneTemplate 数据库创建成功后须要注册一些信息,运行
$ORACLE_BASE/oraInventory/orainstRoot.sh
一、注意:安装完成后需要给slview 用户赋予oracle执行权限
1、可以把slview用户加到安装oracle时的用户组也行
2、chmod 775 /oracle -R
二,
在tnsnames.ora中加
DBNMS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xxxx)
)
)
2、在listener.ora中修改为IP
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = GS-NMS-WEB01)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
三、必须有/oradata1,/oradata2目录,且slview用户必须有写权限
然后编辑/etc/oratab
将
<Oracle的SID>:<Oracle的主目录>:N
修改为
<Oracle的SID>:<Oracle的主目录>:Y
使数据库实例能够自动启动。
5、让oracle运行为服务
创建文件/etc/init.d/oracle,输入下列内容
#!/bin/sh
#
export ORACLE_HOME=<Oracle服务器主目录的绝对路径>
export ORACLE_HOME_LISTNER=$ORACLE_HOME
export ORACLE=oracle
. /etc/init.d/functions
export PATH=${PATH}:$ORACLE_HOME/bin
start()
{
daemon --user $ORACLE $ORACLE_HOME/bin/dbstart
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl start" }
stop()
{
daemon --user $ORACLE "$ORACLE_HOME_LISTNER/bin/lsnrctl stop"
daemon --user $ORACLE $ORACLE_HOME/bin/dbshut
}
case $1 in
'start')
start
RETVAL=$?
;;
'stop')
stop
RETVAL=$?
;;
'restart')
stop
start
RETVAL=$?
;;
*)
echo "usage: $0 {start|stop|restart}"
exit
;;
esac
#
exit
然后将这个文件赋予可执行的权限,运行chmod a+x /etc/init.d/oracle
让Oracle的服务在Linux启动时自动运行
ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle 这样就可以用service来启动和停止Oracle了。