Oracle在Linux环境下的安装

  • 格式:docx
  • 大小:17.29 KB
  • 文档页数:6

我最近在学习oracle,主要是在Linux环境下的安装,与大家分享一下方法。

开始安装时,要注意创建目录的方法,还有root用户和oracle用户的切换。

一、查看系统资源相关语句:cat /etc/issueuname -rgrep MemTotal /proc/meminfogrep SwapTotal /proc/meminfogrep "model name" /proc/cpuinfofreedf -k /tmpdf -k二、安装前的检查和准备工作:安装libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm在Red Hat Enterprise Linux 介质的第三张CD以root 用户身份运行以下命令:rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm三、创建数据库安装的准备工作:1.创建user/group;groupadd dbagroupadd oinstalluseradd oracle -g oinstall -G dbapasswd oracle如果nobody用户不存在(id nobody命令查看),则创建:useradd nobody2.建立oracle安装目录(sample);mkdir -p /opt/oracle/product/10gmkdir /opt/oracle/databasechown -R oracle.oinstall /opt/oraclechmod 755 -R /opt/oracle3.设置环境变量;要使用Oracle 产品,应该或必须设置几个环境变量。

如果你在同一服务器上安装了多个Oracle 产品或数据库,则ORACLE_HOME、ORACLE_SID 和PATH 变量可能会更改。

ORACLE_BASE 变量不应更改,并能在需要时在你的登录设置文件中设置他。

Oracle 提供了一个称作oraenv 的实用程式来设置其他变量。

对于数据库服务器,建议设置以下环境变量:使用Oracle用户登陆:su oraclevi ~/.bash_profile以下是设置文件的内容export ORACLE_BASE=/opt/oracle/export ORACLE_HOME=/opt/oracle/product/10gexport ORACLE_SID=ge01export PATH=$ORACLE_HOME/bin:$PATH# 安装好后再取消屏蔽这些环境变量设置# export TNS_ADMIN=$ORACLE_HOME/network/admin#export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK#export LANG=AMERICAN_AMERICA.ZHS16GBK设置好后用source .bash_profile 命令使设置生效4.设置系统参数;Oracle 数据库10g 需要以下所示的内核参数设置。

其中给出的是最小值,因此如果你的系统使用的值较大,则不要更改他。

转换到root用户:su roota) 修改/etc/sysctl.conf(vi /etc/sysctl.conf), 添加:kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.shmall = 2097152kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default=262144net.core.rmem_max=262144net.core.wmem_default=262144net.core.wmem_max=262144修改后运行"/sbin/sysctl -p"命令使得内核改动即时生效;设置oracle对文件的需求:编辑文件:vi /etc/security/limits.conf 加入以下语句:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536编辑文件:vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前): session required /lib/security/pam_limits.so四、解压缩Oracle10G的安装文件:1.Oracle(1) 简化过程(以oracle登录,释放安装文件,使用更少的磁盘空间,速度更快)在/tmp下解压缩10201_database_linux32.zip:unzip 10201_database_linux32开始安装oracle(一)开始安装:1.以oracle用户登录系统,进行Oracle的安装:cd /tmp/database (或你解压缩安装程式包的目录)过一会儿就会出现Oracle的安装界面注意:1、选择advance install2、数据库home设置为/opt/oracle/product/10g3、数据库全局名称设置为ge014、数据库字符集选Simplified Chinese ZHS16GBK2.其他用默认设置!注意:安装过程中会提示以root用户登陆执行一些脚本,执行后再按“ok”按钮继续安装。

3、登陆并启动数据库的操作。

[oracle@oracle oracle]$ lsnrctl start[oracle@oracle oracle]$ sqlplus /nologSQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected.SQL> shutdown immediate 关闭数据库(OR "dbshut" command)Database closed.Database dismounted.ORACLE instance shut down.SQL> startup; 启动数据库ORACLE instance started.Total System Global Area 236000356 bytesFixed Size 451684 bytesVariable Size 201326592 bytesDatabase Buffers 33554432 bytesRedo Buffers 667648 bytesDatabase mounted.Database opened.4, dbstart脚本修改数据库创建完成后,修改vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N那一行最后的N改成Y,然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件: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 加入下面一行起动ORACLE ON system boot/opt/oracel/product/10g/bin/dbstart5. 编写启动脚本(OPTION)为了方便管理,能写一个启动脚本ora10g:以root身份进入,编写以下脚本:## chkconfig: 2345 91 19# description: starts the oracle listener and instancestatus() {pid=`ps -ef | grep ora_pmon | grep -v grep | awk ’{print $8}’` if [ "X$pid" = "X" ]thenecho "oracle10g is not running."exit 1elseecho "oracle10g is running."exit 0fi}case "$1" instart)#startup the listener and instanceecho -n "oracle begin to startup: "su - oracle -c "lsnrctl start"su - oracle -c dbstartecho "oracle10g started";;stop)# stop listener, apache and databaseecho -n "oracle begin to shutdown:"su - oracle -c "lsnrctl stop"su - oracle -c dbshutecho "oracle10g shutdowned";;reload|restart)$0 stop$0 start;;’status’)status;;*)echo "Usage: ora10g [start|stop|reload|restart]"exit 1esacexit 0存为ora10g后,然后chmod a+x ora10gln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。

如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:chkconfig --level 345 ora10g on或可在/etc/rc.d/rc.local中加入如下:su - oracle -c "lsnrctl start"su - oracle -c "dbstart"6, 关于数据库删除重新安装的问题:把ORACLE安装目录删除及/etc/ora*.*删除就行了#rm ?f /etc/ora*.*7.修改Oracle10g数据库字符集SQL> connect sys/oracle as sysdbaSQL> startup mountSQL> alter session set sql_trace=true;Session altered.SQL> alter system enable restricted session;System altered.SQL> alter system set job_queue_processes=0;System altered.SQL> alter system set aq_tm_processes=0;System altered.SQL> alter database open;Database altered.SQL> set linesize 120;SQL> alter database character set zhs16gbk;alter database character set zhs16gbk*ERROR at line 1:ORA-12712: new character set must be a superset of old character setSQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE能跳过超集的检查,ALTER DATABASE character set INTERNAL_USEDatabase altered.SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> STARTUPSQL> select name,value$ from props$ where name like ’%NLS%’;NLS_CHARACTERSETZHS16GBK8. oracle database备份(1)vi bachupDb.sh#!/bin/sh#oracle用户下#crontab -e 增加"35 4 * * * /home/oracle/dbbackup/backupDb.sh",保存后自动安装#或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" > backupDb.cron#crontab backupDb.cron##############@tip 修改为本机数据库home目录export ORACLE_HOME=/opt/oracle/product/10gexport PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin# 注意字符集必须和数据库的字符集一致,以避免字符集转化失败export NLS_LANG=AMERICAN_AMERICA.zhs16gbk#@tip 125修改为要备份的oracle的ip地址的最后一段dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"if [ -w $dmpfile ]thenecho "rm -f $dmpfile"rm -f "$dmpfile"fi#@tip ip地址修改为要备份的oracle的主机地址exp USERID=gedb/gedb@10.248.1.5/ge01 file=$dmpfile log=$logfile owner=gedb grants=y (2)copy bachupDb.sh 到slave oracle srever 相应目录,chown oracle.oinstall bachupDb.shchmod 744 bachupDb.shvi bachupDb.sh 以符合安装情况(3)以oracle user rolecrontab -e35 4 * * * /home/oracle/dbbackup/backupDb.sh9. restore oracle backupsu - oracleimp USERID=gedb/gedb file=gedb_6.dmp log=implogfile commit=y grants=y full=y。