linux64位系统
设置/etc/hosts文件 for example
192.168.2.88 oracledb.localdomain oracledb
2 软件包的检测
rpm -q gcc make binutils setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel unixODBC unixODBC-devel libaio-devel sysstat
没有的都安装好。
3,//查看内存及swap 和系统参数设置
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
vim /etc/sysctl.conf
# Controls the maximum size of a message, in bytes
kernel.msgmnb = 65536
# Controls the default maxmimum size of a mesage queue
#
kernel.msgmax = 65536
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 268435456
#Below for oracle11g
kernel.core_uses_pid = 1
kernel.shmmax = 536870912|2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
生效参数sysctl -p
*************************一下的参数修改(32系统修改 64不修改???)
修改文件/etc/security/limits.conf ()加下列条目,如下所示:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
修改文件/etc/selinux/config (可能要修改)
修改 vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.s
4 添加用户及目录
groupadd oinstall
groupadd dba
mkdir -p /u01/app/oracle/product/11g/db_1
useradd -g oinstall -G dba -d /u01/app/oracle oracle
passwd oracle 修改密码
chown -R oracle:oinstall /u01
用户环境变量的设置
通常的/etc/profile文件设置的环境变量对所有的用户都会生效,然而这儿设置了oracle用户,所有将环境变量设置在oracle用户的/~/.bashrc文件中。考虑到要通过root用户启动和维护数据库,我们将写一个脚本来自动启动oracle。
vim .bashrc
if [ -f /etc/bashrc ]; then
./etc/bashrc
fi
ORACLE_BASE=/u01/app/oracle/
ORACLE_HOME=$ORACLE_BASE/product/11g/db_1
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/local/lib:/usr/lib:/lib:/usr/X11R6/lib
NLS_LANG=AMERICAN_AMERICA.UTF8
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
ORACLE_SID=oracledb
PATH=$ORACLE_HOME/bin:$PATH
ORACLE_OWNER=oracle
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_OWNR LD_LIBRARY_PATH NLS_LANG NLS_DATE_FORMAT
export TNS_ADMIN=$ORACLE_BASE/product/11g/db_1/network/admin
export ORACLE_TERM=xterm
# User specific aliases and functions
========================================================================
ORACLE_BASE=/app/oracle/app/oracle/
ORACLE_HOME=$ORACLE_BASE/product/11g/db_1
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/local/lib:/usr/lib:/lib:/usr/X11R6/lib
NLS_LANG=AMERICAN_AMERICA.UTF8
NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
ORACLE_SID=yfkcsdb
PATH=$ORACLE_HOME/bin:$PATH
ORACLE_OWNER=oracle
export ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_OWNR LD_LIBRARY_PATH NLS_LANG NLS_DATE_FORMAT
export TNS_ADMIN=$ORACLE_BASE/product/11g/db_1/network/admin
export ORACLE_TERM=xterm
export LD_BIND_NOW=1
安装之前 设置语言
export LANG=en_US,
dbca
netmgr
1.配置root用户启动oracle
在/etc/init.d目录下建立一个文件名叫oracle,内容如下:
#!/bin/sh
ORACLE_HOME=/usr/local/oracle/product/11.2.0/dbhome_1
case $1 in
"start")
echo "start oracle ....."
su - oracle -c " $ORACLE_HOME/bin/dbstart $ORACLE_HOME &"
su - oracle -c" $ORACLE_HOME/bin/lsnrctl start "
su - oracle -c" $ORACLE_HOME/bin/emctl start dbconsole"
;;
"stop")
echo "stop oracle ....."
su - oracle -c " $ORACLE_HOME/bin/dbshut &"
su - oracle -c" $ORACLE_HOME/bin/lsnrctl stop "
su - oracle -c" $ORACLE_HOME/bin/emctl stop dbconsole"
;;
*)
echo "usage: $0 {start|stop}"
exit
;;
esac
$ORACLE_HOME/bin/relink all 保证oracle软件安装包package验证正常使用
启动不了的时候 重新修复:(oracle启动的情况下修复)
emca -config dbcontrol db
-----是能设置开机启动
# chkconfig: - 85 15 //#不能省略,注意空格
# description: oracle is a World Wide Web server. It is used to serve \ //description:后可任意字符串
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
1.1 选择安装环境的语言
Oracle安装时可以通过环境变量LANG指定安装语言,如果Linux命令行不能显示中文,就要将语言环境设置为英语。
例如:export LANG=en_US.UTF-8
1.2 修改gennttab
Oracle 10g在一些Linux系统下安装可能会被中断,在安装日志文件
$ORACLE_HOME/install/make.log
里可以看见以下错误信息
/bin/sed: -e expression #1, char 7: unterminated `s' command
要解决这个问题就必须编辑文件 gennttab。
先解压Oracle安装目录下的 stage/Components/oracle.network.rsf/10.2.0.1.0/1/DataFiles/filegroup6.jar,可以用以下方法之一进行解压
用jar解压:jar -xf filegroup6.jar bin/gennttab
用unzip解压:unzip filegroup6.jar bin/gennttab
再用文本编辑器(例如vi)打开解压出来的 gennttab,将以下内容
LIB=`$ECHO ${TtoLIB} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ ///
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
改为
LIB=`$ECHO ${TtoLIB} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
INI=`$ECHO ${TtoINI} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
BAS=`$ECHO ${TtoBAS} | $SED 's/ //n/g' | $GREP "^${T}:" | $AWK -F:
'{print $2}'`
保存后再用将gennttab更新到filegroup6.jar里面,可以用以下方法之一进行更新
用jar更新:jar -uvf filegroup6.jar bin/gennttab
用zip更新:zip -vu filegroup6.jar bin/gennttab
---------------------------------------------------命令行安装
2.1 编辑安装需要的应答文件
静默模式(Silent)安装必须指定一个应答文件来完成安装过程所须的各类参数。
在Oracle安装目录的response子目录里有enterprise.rsp有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。
以enterprise.rsp为例,用任意的文本编辑器打它,修改以下这些项目的值。
ORACLE_HOME Oracle服务器的主目录位置,必须是绝对路径。
ORACLE_HOME_NAME Oracle服务器的名称,必须以字母开头。
COMPONENT_LANGUAGES Oracle服务器支持的语言,默认只有英语,可以添加多个语言。
s_nameForDBAGrp 用于Oracle系统管理的linux用户组名,该组的用户拥有管理Oracle服务器的权限,在本例中设置为 oradba。
s_nameForOPERGrp 用于Oracle数据库常规操作的linux用户组名,该组的用户拥有常规操作Oracle数据库的权限,在本例中设置为 oracle。
n_configurationOption 安装类型(1为在安装后创建数据库,2为安装后创建一个自动存储管理实例,3为只安装服务器软件),在本例中选择3。
其它项目用默认值即可,也可以根据自己的须要进行修改。
注:如果Oracle从光盘安装,必须先将应答文件复制到硬盘上,才能修改。
2.2 开始安装
现在万事具备,可以安装了。
用oracle用户登录,然后在Oracle安装目录里执行
./runInstaller -ignoreSysPrereqs -ignorePrereq -silent -responseFile <应答文件的绝对路径>
接下来就是等待安装结束了。
各安装参数的含义如下
ignoreSysPrereqs 让Oracle忽略系统检查,因为Oracle官方声明只支持Linux服务器产品,所以要在非服务器产品的Linux上安装就必须指定此参数。
silent 让安装程序以静默模式运行。
responseFile 指定一个应答文件。
oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
3 安装后要做的工作
3.1 Oracle系统初始化
用root用户登录,然后运行$ORACLE_HOME/root.sh进行Oracle的系统初始化工作,通常一路按回车用默认值即可
3.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 <应答文件的绝对路径>
3.3 修改dbstart
用任意的文本编辑器打开 $ORACLE_HOME/bin/dbstart,将
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
改为
ORACLE_HOME_LISTNER=$ORACLE_HOME
否则网络监听器可能无法自动启动。
3.4 安装数据库实例
编辑Oracle安装目录里response子目录下的应答文件 dbca.rsp,修改以下项目。
GDBNAME 数据库全局名称
SID 数据库的SID
SYSPASSWORD SYS用户的初始密码
SYSTEMPASSWORD SYSTEM用户的初始密码
CHARACTERSET 数据库字符集(中文为 ZHS16GBK)
NATIONALCHARACTERSET 数据库国家字符集
然后运行
$ORACLE_HOME/bin/dbca -silent -responseFile <应答文件的绝对路径> -cloneTemplate
数据库创建成功后须要注册一些信息,运行
$ORACLE_BASE/oraInventory/orainstRoot.sh
然后编辑 /etc/oratab
将
<Oracle的SID>:<Oracle的主目录>:N
修改为
<Oracle的SID>:<Oracle的主目录>:Y
使数据库实例能够自动启动。
3.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了。