全程指导linux下oracle的安装和配置.docx
《全程指导linux下oracle的安装和配置.docx》由会员分享,可在线阅读,更多相关《全程指导linux下oracle的安装和配置.docx(13页珍藏版)》请在冰豆网上搜索。
全程指导linux下oracle的安装和配置
LINUX下ORACLE安装1
有的时候不方便登陆Linux/Unix的图形界面安装数据库,且GUI方式安装让我们无法知道具体是做了什么操作,我们完全可以采用命令模式安装和删除oracle软件(代替OUI)、建立和删除数据库库(代替dbca)。
平台:
RHEL4.5,oracle10.2.0.1
1、上传并解压oracle软件,假如放在/orahome/soft/目录下
$cd/orahome/soft/
$unzip10201_database_linux32.zip
2、设置安装oracle软件必须的操作系统信息,如组、用户、系统内核参数、目录、用户初始化参数等
--增加组和用户
#groupaddoinstall
#groupadddba
#useradd-goinstall-Gdbaoracle
#passwdoracle
--修改系统内核参数
#vi/etc/sysctl.conf
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=1048576
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=262144
#/sbin/sysctl-p(修改以后让参数生效)
--为了提升性能增加oracle用户的shell限制
#vi/etc/security/limits.conf
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
#vi/etc/pam.d/login添加
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
#vi/etc/profile
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
#vi/etc/selinux/config(使安全linux标志失效)
SELINUX=disabled
--建立ORACLE_BASE目录
#mkdir-p/u01/app/oracle
#chown-Roracle:
oinstall/u01/app/oracle
#chmod-R775/u01/app/oracle
--oracle用户的.bash_profile文件设置
#su-oracle
$vi~/.bash_profile
umask022
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
exportORACLE_SID=WENDING
exportPATH=$ORACLE_HOME/bin:
$PATH
$.~/.bash_profile
3、建立oraInst.loc文件
$su-
#vi/etc/oraInst.loc(加入或修改以下内容,其中/u01/app/oracle是ORACLE_BASE)
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
#chmod664/etc/oraInst.loc
4、建立response文件(在解压后oracle软件的response目录里有各种响应文件的模版)
#su-oracle
$cd/orahome/soft/database/response
$cpenterprise.rspenterprise_temp.rsp
$vienterprise_temp.rsp(以下参数必需设置)
UNIX_GROUP_NAME="oinstall"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME="OraDb10g_home1"
s_nameForDBAGrp="dba"
s_nameForDBAGrp="dba"
n_configurationOption=3
5、通过response文件运行OUI(-noconfig表示不运行配置助手只装软件)
$cd/orahome/soft/database
$./runInstaller-silent-noconfig-responseFile/orahome/soft/database/response/enterprise_temp.rsp
安装结束后,以root用户执行$ORACLE_HOME下的root.sh:
$su-
#/u01/app/oracle/product/10.2.0/db_1/root.sh
#exit
6、通过response文件运行NetCA
$cd/orahome/soft/database/response
$cpnetca.rspnetca_temp.rsp
$vinetca_temp.rsp(如果要修改监听名或端口在此编辑,一般什么都不用修改)
$$ORACLE_HOME/bin/netca/silent/responsefile/orahome/soft/database/response/netca_temp.rsp
执行完后,监听就已经启动了。
本文来自CSDN博客,转载请标明出处:
安装示例2
一.资源需要:
至少1024MB物理内存
1024-2048需1.5倍的交互空间
2048-8192需1倍的交互空间
8192-需0.75倍的交互空间
至少400MB/tmp临时目录空间
oracle软件需要1.5GB到3.5GB磁盘空间
默认数据库需要1.2GB
二.查看系统资源相关语句:
cat/etc/issue
uname-r
grepMemTotal/proc/meminfo
grepSwapTotal/proc/meminfo
grep"modelname"/proc/cpuinfo
free
df-k/tmp
df-k
安装前的检查和准备工作:
p4198954_21_linux.zip在运行runInstaller之前打.
rpm-ivhcompat-oracle-rhel4-1.0-5.i386.rpm(p4198954_21_linux.zip)
(不打PATCH也可以)
安装libaio-0.3.102-1.i386.rpm
libaio-devel0.3.102-1.i386.rpm
在RedHatEnterpriseLinux介质的第三张CD,以root用户身份运行以下命令:
rpm-ivh/mnt/cdrom/RedHat/RPMS/libaio-0.3.102-1.i386.rpm
三.创建数据库安装的准备工作:
1.创建用户和组(user/group);
groupadddba
groupaddoinstall
useraddoracle-goinstall-Gdba
passwdoracle
如果nobody用户不存在(idnobody命令查看),则创建:
useraddnobody
2.建立oracle安装文件夹(sample);
mkdir-p/opt/oracle/product/10g
mkdir/opt/oracle/database
chown-Roracle.oinstall/opt/oracle
chmod755-R/opt/oracle
2,配置环境变量;
要使用Oracle产品,应该或必须设置几个环境变量。
如果您在同一服务器上安装了多个Oracle产品或数据库,则ORACLE_HOME、ORACLE_SID和PATH变量可能会更改。
ORACLE_BASE变量不应更改,并可以在需要时在您的登录配置文件中设置它。
Oracle提供了一个称作oraenv的实用程序来设置其他变量。
对于数据库服务器,建议设置以下环境变量:
使用第一步创建的用户名Oracle登陆:
suoracle
vi~/.bash_profile
修改以下是配置文件的内容
exportORACLE_BASE=/opt/oracle/
exportORACLE_HOME=/opt/oracle/product/10g
exportORACLE_SID=ge01(可随意定义)
exportPATH=$ORACLE_HOME/bin:
$PATH
ESC(退出vi的编辑环境)
:
wq(退出vi应用程序并保存修改)
安装好后再取消屏蔽这些环境变量设置
#exportTNS_ADMIN=$ORACLE_HOME/network/admin
#exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#exportLANG=AMERICAN_AMERICA.ZHS16GBK
配置好后用source.bash_profile命令使配置生效
四.设置系统参数;
Oracle数据库10g需要以下所示的内核参数设置。
其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
切换到root用户:
suroot
a)修改/etc/sysctl.conf(vi/etc/sysctl.conf),添加:
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.shmall=2097152
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
修改后运行"/sbin/sysctl-p"命令使得内核改变立即生效;
B)设置oracle对文件的要求:
编辑文件:
vi/etc/security/limits.conf加入以下语句:
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
编辑文件:
vi/etc/pam.d/login加入以下语句(可能应该加在最后一条规则之前):
sessionrequired/lib/security/pam_limits.so
安装Oralce10G
解压缩Oracle10G的安装文件:
1.Oracle
(1)简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)
在/tmp下解压缩10201_database_linux32.zip:
unzip10201_database_linux32
开始安装oracle
(一)开始安装:
1.以oracle用户登录系统,进行Oracle的安装:
cd/tmp/database(或者你解压缩安装程序包的目录)
./runInstaller
过一会儿就会出现Oracle的安装界面
注意:
1、选择advanceinstall
2、数据库home设置为/opt/oracle/product/10g
3、数据库全局名称设置为ge01
4、数据库字符集选SimplifiedChineseZHS16GBK
2.其他用默认设置!
注意:
安装过程中会提示以root用户登陆执行一些脚本,执行后再按“ok”按钮继续安装。
3、登陆并启动数据库的操作。
[oracle@oracleoracle]$lsnrctlstart
[oracle@oracleoracle]$sqlplus/nolog
SQL*Plus:
Release9.2.0.0-ProductiononSatMar1222:
58:
532005
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
SQL>connect/assysdba
Connected.
SQL>shutdownimmediate关闭数据库(OR"dbshut"command)
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>startup;启动数据库
ORACLEinstancestarted.
TotalSystemGlobalArea236000356bytes
FixedSize451684bytes
VariableSize201326592bytes
DatabaseBuffers33554432bytes
RedoBuffers667648bytes
Databasemounted.
Databaseopened.
4,dbstart脚本修改
数据库创建完成后,修改vi/etc/oratab,把orcl:
/opt/oracle/oracle/product/10g:
N那一行最后的N改成Y,
然后执行dbstart启动数据库数据库可能无法启动,报告Can’tfindinitfile…的错误,需要复制一个初始化文件:
cp/opt/oracle/admin/ge01/pfile/init.ora.*/opt/oracle/product/10.2.0/dbs/initge01.ora
重新执行dbstart就可以了。
修改vi/opt/oracle/product/10g/bin/dbstart中
ORACLE_HOME_LISTNER=/opt/oracle/oracle/product/10g/
vi/etc/rc.local加入下面一行起动ORACLEONsystemboot
/opt/oracel/product/10g/bin/dbstart
5.编写启动脚本(OPTION)
为了方便管理,可以写一个启动脚本ora10g:
以root身份进入,编写以下脚本:
#!
/bin/bash
#
#chkconfig:
23459119
#description:
startstheoraclelistenerandinstance
status(){
pid=`ps-ef|grepora_pmon|grep-vgrep|awk'{print$8}'`
if["X$pid"="X"]
then
echo"oracle10gisnotrunning."
exit1
else
echo"oracle10gisrunning."
exit0
fi
}
case"$1"in
start)
#startupthelistenerandinstance
echo-n"oraclebegintostartup:
"
su-oracle-c"lsnrctlstart"
su-oracle-cdbstart
echo"oracle10gstarted"
;;
stop)
#stoplistener,apacheanddatabase
echo-n"oraclebegintoshutdown:
"
su-oracle-c"lsnrctlstop"
su-oracle-cdbshut
echo"oracle10gshutdowned"
;;
reload|restart)
$0stop
$0start
;;
'status')
status
;;
*)
echo"Usage:
ora10g[start|stop|reload|restart]"
exit1
esac
exit0
存为ora10g后,然后
chmoda+xora10g
ln-s/opt/oracle/product/10.2.0/bin/ora10g/etc/rc.d/init.d/
即可在以后以root身份运行/etc/rc.d/init.d/ora10gstart|stop来管oracle的启动和停止了。
如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig--level345ora10gon
或者可在/etc/rc.d/rc.local中加入如下:
su-oracle-c"lsnrctlstart"
su-oracle-c"dbstart"
6,关于数据库删除重新安装的问题:
把ORACLE安装目录删除及/etc/ora*.*删除就行了
#rm–f/etc/ora*.*
7.修改Oracle10g数据库字符集
SQL>connectsys/oracleassysdba
SQL>startupmount
SQL>altersessionsetsql_trace=true;
Sessionaltered.
SQL>altersystemenablerestrictedsession;
Systemaltered.
SQL>altersystemsetjob_queue_processes=0;
Systemaltered.
SQL>altersystemsetaq_tm_processes=0;
Systemaltered.
SQL>alterdatabaseopen;
Databasealtered.
SQL>setlinesize120;
SQL>alterdatabasecharactersetzhs16gbk;
alterdatabasecharactersetzhs16gbk
*
ERRORatline1:
ORA-12712:
newcharactersetmustbeasupersetofoldcharacterset
SQL>ALTERDATABASEcharactersetINTERNAL_USEzhs16gbk;#使用INTERNAL_USE可以跳过超集的检查,ALTERDATABASEcharactersetINTERNAL_USE
Databasealtered.
SQL>shutdownimmediate;
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>STARTUP
SQL>selectname,value$fromprops$wherenamelike'%NLS%';
NLS_CHARACTERSET
ZHS16GBK
8.oracledatabase备份
(1)vibachupDb.sh
#!
/bin/sh
#oracle用户下
#crontab-e增加"354***/home/oracle/dbbackup/backupDb.sh",保存后自动安装
#或echo"354***/home/oracle/dbbackup/backupDb.sh">backupDb.cron
#crontabbackupDb.cron
#############
#@tip修改为本机数据库home目录
exportORACLE_HOME=/opt/oracle/product/10g
exportPATH=$ORACLE_HOME/bin:
$PATH:
$HOME/bin
#注意字符集必须和数据库的字符集一致,以避免字符集转化失败
exportNLS_LANG=AMERICAN_AMERICA.zhs16gbk
#@tip125修改为要备份的oracle的ip地址的最后一段
dmpfile="`echo~/`dbbackup/gedb_`date+%w`.dmp"
logfile="`echo~/`dbbackup/gedb_`date+%w`.log"
if[-w$dmpfile]
then
echo"rm-f$dmpfile"
rm-f"$dmpfile"
fi
#@tipip地址修改为要备份的oracle的主机地址
expUSERID=gedb/gedb@10.248.1.5/ge01file=$dmpfilelog=$logfileowner=gedbgrants=y
(2)copybachupDb.sh到slaveoraclesrever相应目录,
chownoracle.oinstallbachupDb.sh
chmod744bachupDb.sh
vibachupDb.sh以符合安装情况
(3)以oracleuserrole
crontab-e
354***/home/oracle/dbbackup/backupDb.sh
9.restoreoraclebackup
su-oracle
impUSERID=gedb/gedbfile=gedb_