Linux下Oracle的安装课程设计.doc_第1页
Linux下Oracle的安装课程设计.doc_第2页
Linux下Oracle的安装课程设计.doc_第3页
Linux下Oracle的安装课程设计.doc_第4页
Linux下Oracle的安装课程设计.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Oracle数据库管理配置课程设计 Linux平台下单机Oracle的安装,配置和管理 目 录摘要.2 一 数据库概述.31.1 设计目的.31.2设计要求.3 二系统分析.3 2.1 开发工具.3 2.2 需求分析.4 三系统总体设计.4 3.1 实施步骤.4 四 详细设计.4 5.1 linux下oracle的安装.4 5.2 dbca命令建库.12 5.3 linux下oracle的卸载.27 5.4 mail命令发送邮件.31 5.5 远程连接putty vncview 及telnet.32 5.6 配置专用服务器.37 5.7 shell脚本管理oracle数据库.41 五 总结.50 六 文献及源代码.50一 数据库概述 Oracle在数据库领域一直都处于领先地位,其产品覆盖了大,中,小型机等数十种机型,是目前世界上使用最广泛的关系数据库系统之一。本项目,是以数据库产品Oracle 10G,在Red Hat上搭建和管理Oracle数据库服务器。1.1 设计目的 (1)基本掌握Oracle的安装,配置和管理的基本思路和方法; (2)达到熟练掌握Oracle管理的基本知识和技能; (3)能够利用所学的基本知识和技能,解决Oracle管理中的问题 (4)培养良好的管理和shell编程习惯。1.2设计要求 基本要求:1. 要求根据Oracle实际需求来完成linux平台的分析设计能力; 2. 突出Oracle在Linux平台下的安装,配置和管理;3. 有详细的功能分析文档;4. Shell编程脚本管理Oracle的基本能力;5. 熟练掌握Linux下的的各种操作和SQL/PLUS下的各种操作; 创新要求:在基本要求达到后,可进行创新设计和熟练操作。 二系统分析 2.1 开发工具 本次课程设计环境通过在windows XP中使用虚拟机软件安装linux来搭建。 主要软件:VMware Workstation虚拟机+ linux操作系统 +oracle 10g数据库 其他软件:putty.exe + Xming +VNC_viewer.exe 2.2需求分析 虚拟机的安装和建立。1. 安装Red Hat版本的Linux操作系统平台。2. 安装Oracle 10g数据库管理系统。3. 配置Linux相关工具,比如Mail,vcnview等。4. 实现自动化管理Oracle,比如自动启动关闭等。5. 实现Shell脚本管理Oracle,书写脚本管理。 三系统总体设计3.1实施步骤1. 根据Oracle 10g的基本的硬件,软件要求,规划虚拟机和Linux平台。2. 实现虚拟机的配置和安装。3. 实现Red Hat的安装,配置相关工具,并制定安装流程。4. 实现Oracle 10g的安装,配置相关工具,并制定安装流程。5. 实现Linux自动化管理。6. 编写SHELL脚本文件,管理Oracle 10g.7. 完成系统总结报告以及源代码。 四 详细设计5.1 linux下oracle的安装 注意:rootlocalhost /# chown -R oracle:oinstall /soft/(对soft目录赋权限)出现错误安装libxp1.0.0-8.1.el5i386rpm安装软件包到当前:rpm -ivh 包名检查软件包及其版本 选择下列命令安装上面没有的软件包 rpm -q binutils rpm -q compat-db rpm -q control-center rpm -q gcc rpm -q gcc-common rpm -q gcc-c+ rpm -q glibc rpm -q glibc-common rpm -q gnome-libs rpm -q libstdc+- rpm -q libstdc+-devel rpm -q make rpm -q pdksh rpm -q libaio rpm -q openmotif21 rpm -q openmotif22检查磁盘空间rootlocalhost # df -h查看当前内核参数值localhost # sysctl -a | headsunrpc.max_resvport = 1023sunrpc.min_resvport = 665sunrpc.tcp_slot_table_entries = 16sunrpc.udp_slot_table_entries = 16sunrpc.nlm_debug = 0sunrpc.nfsd_debug = 0sunrpc.nfs_debug = 0sunrpc.rpc_debug = 0crypto.fips_enabled = 0dev.parport.parport0.devices.lp.timeslice = 200安装下面软件包rmp -ivh openmotif22-2.2.3-18.i386.rpm -force -nodeps rpm -ivh openmotif22-2.2.3-18.i386.rpm -force -nodepsrootlocalhost Desktop# sysctl kernel.shmmaxkernel.shmmax = 4294967295修改核心参数rootlocalhost Desktop# cd /etcrootlocalhost etc# cat sysctl.conf rootlocalhost etc# sysctl -p创建oracle用户及两个组rootlocalhost # mkdir /oraclerootlocalhost # groupadd oinstallrootlocalhost # groupadd dbarootlocalhost # id oracleuid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba) rootlocalhost # passwd oracle设置相关目录权限rootlocalhost # chown -R oracle:oinstall /oraclerootlocalhost # chmod -R 775 /oraclerootlocalhost # su - oracleoraclelocalhost $ vi .bash_profile# .bash_profile# Get the aliases and functionsif -f /.bashrc ; then . /.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATHexport ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORACLE_SID=orclexport NLS_LANG=AMERICAN_AMERICA.UTF8export PATH=$PATH:$ORACLE_HOME/binexport LANG=en_US.UTF8export EDITOR=vi本地安装oracle软件操作rootlocalhost # export DISPLAY=:0.0rootlocalhost # xhost +rootlocalhost # su - oracle准备安装oracle10g软件创建共享文件111存放oracle安装包创建软连接rootlocalhost # su - oracleoraclelocalhost $ mkdir softoraclelocalhost $ lsdbs softoraclelocalhost $ cd /mnt/hgfs/111oraclelocalhost 111$ ls10201_database_linux32.ziporaclelocalhost 111$ cp 10201_database_linux32.zip /soft/oraclelocalhost 111$ cd /soft/oraclelocalhost soft$ ls10201_database_linux32.zip databaseoraclelocalhost soft unzip 10201_database_linux32.zip 安装oracle10goraclelocalhost soft$ cd database/oraclelocalhost database$ lsdoc install response runInstaller stage welcome.htmloraclelocalhost database$ ./runInstaller 5.2 dbca命令建库 一输入命令启动dbca建库工具出现如下图所示的对话框单击“下一步”选择创建数据库 ,单击“下一步”选中,单击“下一步”填入数据库名称为:orcl ,单击“下一步”单击“下一步”输入管理数据库用户的口令,单击“下一步”单击“下一步”单击“下一步”单击“下一步”单击“下一步”单击“下一步”、dbca创建数据库到此完成5.3 linux下oracle的卸载 图形卸载Oracle1.切换目录到安装介质的根目录执行./runInstaller命令或切换到$ORACLE_HOME/oui/bin目录下执行./runInstaller脚本 rootlocalhost # su - oracleoraclelocalhost $ cd $ORACLE_HOME/oui/binoraclelocalhost bin$ ./runInstaller出现如下图形界面:选择“Deinstall products” 选择上要卸载的产品,点击删除二手工卸载数据库1.使用SQL*PLUS关闭数据库 $ sqlplus “as /sysdba” SQLshutdown immediate SQLquit2.停止监听程序 $ lsnrctl stop3停止HTTP服务 # $ORACLE_HOME/Apache/Apache/bin/apachectl stop (如果没有就不用停止)4 su到root用户删除安装目录 $ su root # $ORACLE_HOME/bin/localconfig delete删除oracle安装目录: # rm rf $ORACLE_BASE/*5删除/usr/local/bin下的文件 # rm -f /usr/local/bin/dbhome # rm -f /usr/local/bin/oraenv # rm -f /usr/local/bin/coraenv6.将/etc/ora*删除 # rm rf /etc/ora* 或分别删除以下文件:# rm -f /etc/oratab # rm -f /etc/oraInst.loc7将/etc/inittab.cssd删除# rm -f /etc/inittab.cssd8将oracle用户删除(若要重新安装,可以不删除) # userdel r oracle9将用户组删除(若要重新安装,可以不删除) # groupdel oinstall # groupdel dba10修改内核参数 如果不准备再安装oracle,可将修改后的内核参数改为原始参数。执行如下命令使内核参数生效: # /sbin/sysctl p 5.4 mail命令发送邮件 为了发送Internet外部邮件,要保证机器名称包含域名,可以修改/etc/sysconfig/network文件使得系统重启,新名称依然生效。rootlocalhost # rootlocalhost # cd /etc/sysconfigrootlocalhost sysconfig# cat networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=启动sendmail服务:rootoracle # service sendmail startStarting sendmail: OK Starting sm-client: OK Root用户给oracle用户发送邮件:rootlocalhost # mail oracleSubject: zhouxiong123412341234Cc: 检查邮件是否送出:rootlocalhost # sendmail -bp/var/spool/mqueue is empty Total requests: 0oraclelocalhost $ cat /var/spool/mail/oracle Date: Mon, 27 May 2013 18:02:26 -0700From: root Message-Id: To: Subject: zhouxiong123412341234发送Internet邮件:rootlocalhost # mail Subject: zhxabcabcCc: rootlocalhost # sendmail -bp/var/spool/mqueue is empty Total requests: 05.5 远程连接putty vncview及telnet 使用putty及vnc进行系统管理 使用putty连接red hat 启动sshd服务:rootlocalhost # service sshd start配置Xming 运行XServer先启动Xming,步骤如下启动putty连接到linux,设置display环境变量,再启动xclock.使用vnc viewer连接redhat先关闭防火墙rootlocalhost # service iptables stop启动命令:rootlocalhost # vncserverYou will require a password to access your desktops.Password:Verify:New :1 (root) desktop is :1Creating default startup script /root/.vnc/xstartupStarting applications specified in /root/.vnc/xstartupLog file is /root/.vnc/:1.log在windows使用dos命令远程连接linux系统在linux系统中打开Telnet服务:rootlocalhost # service xinetd start检查服务是否打开rootlocalhost # chkconfig -list|grep telnet ekrb5-telnet: 关闭 krb5-telnet: 启用rootlocalhost # service iptables stoprootlocalhost # ifconfig运行dos命令:5.6 配置服务器: rootlocalhost # xhost + access control disabled, clients can connect from any host rootlocalhost # su - oracle oraclelocalhost $ lsnrctl startoraclelocalhost $ xhost +access control disabled, clients can connect from any hostoraclelocalhost $ netmgroraclelocalhost $ sqlplus system/oraclezhouxiongSQL*Plus: Release .0 - Production on Tue May 28 17:17:48 2013Copyright (c) 1982, 2005, Oracle. All rights reserved.Connected to:Oracle Database 10g Enterprise Edition Release .0 - ProductionWith the Partitioning, OLAP and Data Mining options5.7 shell脚本管理oracle数据库 启动监听器及数据库的shell脚本文件rootlocalhost # su - oracleoraclelocalhost $ cd $ORACLE_HOME/binoraclelocalhost bin$ vi dbstartup #/bin/bashlsnrctl startsqlplus /nolog eofconnect /as sysdbastartup eoforaclelocalhost bin$ chmod +x dbstartup关闭监听器及数据库的shell脚本文件oraclelocalhost bin$ vi dbstop #/bin/bashlsnrctl startsqlplus /nolog /var/log/oracle date +%T %a %D: Starting Oracle Listener and Database /var/log/oracle echo - /var/log/oracle su - oracle -c dbstartup /var/log/oracle echo Done. echo echo - /var/log/oracle date +%T %a %D: Finished. /var/log/oracle echo - /var/log/oracle touch /var/lock/subsys/oracle ;stop) echo Stop Oracle Database and Listener echo - /var/log/oracle date +%T %a %D: Stop Oracle Listener and Database /var/log/oracle echo - /var/log/oracle su - oracle -c dbstop /var/log/oracle rm f /var/lock/subsys/oracle echo Done. echo echo - /var/log/oracle date +%T %a %D: Finished. /var/log/oracle echo - /var/log/oracle ;restart) echo Restarting Oracle Listener and Database echo - /var/log/oracle date +%T %a %D: Restarting Oracle Listener and Database . /var/log/oracle echo - /var/log/oracle su - oracle -c dbstop /var/log/oracle su - oracle -c dbstartup /var/log/oracle echo Done. echo echo - /var/log/oracle date +%T %a %D: Finished. /var/log/oracle echo - /var/log/oracle touch /var/lock/subsys/oracle ;*) echo Usage: oracle start|stop|restart exit 1esac监控监听器进程是否运行rootlocalhost oracle# cat chklistener_1.sh#!/bin/bash . /home/oracle/.bash_profile declare -i n_lsnr n_lsnr=ps -ef | grep listener | grep -v grep | wc -l if $n_lsnr=0 ; then lsnrctl start /dev/null mail law_ -s Listener is down, and restarted. fi rootlocalhost # cat chklistener_2.sh#!/bin/bash. /home/oracle/.bash_profiletempfile=/oracle/admin/$ORACLE_SID/tempfile.lislsnrctl status $tempfileif $? != 0 then echo $tempfile echo = $tempfile echo $tempfile date $tempfile echo Listener is down, restarting it agin. $tempfile lsnrctl start $tempfile if $? = 0 then mail law_ -s Listener is restarted. $tempfile else mail law_ -s Listener is down, restarting failed. /dev/null 2&1 if ( $? ); then echo Oracle Instance - $db_name: Down else echo Oracle Instance -$db_name: Up fi done 监控归档目录空间rootlocalhost # cat -ncheckarch.sh#! /bin/bashdf -k | grep arch dfk.tmparchive_filesystem=awk -F print $6 dfk.tmparchive_capacity=awk -F print $5 dfk.tmpif $archive_capacity 90% then echo Filesystem $archive_filesystem is $archive_capacity filled find $archive_filesystem -type f -mtime +2 -exec rm -r ;fi 监控警告文件错误信息 简单程序如下:#!/bin/bashdeclare -i nerrornerror=grep -i ORA- /oracle/admin/law/bdump/alert_law.log | wc -lif $nerror -gt 0 ; then grep -i ORA- /oracle/admin/law/bdump/alert_law.log | mail law_ -s There are some erros in alert file! fi 对上面修改后的代码如下:rootlocalhost oracle# cat chkalert.sh #! /bin/bash. /home/oracle/.bash_profilecd $ORACLE_BASE/admin/$ORACLE_SID/bdumpif -f alert_$ORACLE_SID.log then mv alert_$ORACLE_SID.log alert_temp.log touch alert_$ORACLE_SID.log cat alert_temp.log alert_$ORACLE_SID.hist grep ORA- alert_temp.log alert.err fi if cat alert.err|wc -l -gt 0 then mail -s ORACLE ALERT ERRORS law_ $log_file date $log_file sqlplus -s / as sysdba $log_file set pagesize 0 set linesize 1000 spool file_copy_$ORACLE_SID.sh select cp | name | $backup_dir/ from v$controlfile; select cp | file_name | $backup_dir/ from dba_data_files; select cp | member | $backup_dir/ from v$logfile; spool off shutdown immediate; !bash file_copy_$ORACLE_SID.sh startup; exit; EOF rm -f file_copy_$ORACLE_SID.sh if -e $ORACLE_HOME/dbs/init$ORACLE_SID.ora then cp $ORACLE_HOME/dbs/init$ORACLE_SID.ora $backup_dir/ fi if -e $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora then cp $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora $backup_dir/ fi if -e $ORACLE_HOME/dbs/orapw$ORACLE_SID then cp $ORACLE_HOME/dbs/orapw$ORACLE_SID $backup_dir/ fi echo Cold backup finished. $log_file date $log_file (三)全库冷备份shell程序把表空间置于备份状态的命令:Altel tablespace tablespace_name begin backup结束表空间备份状态的命令:Altel tablespace tablespace_name end backup备份脚本内容:oracleoracle $ cat -n cold_backup.sh #! /bin/bash backup_dir=/oracle/bakup log_file=$ORACLE_BASE/admin/$ORACLE_SID/hot_backup_$ORACLE_SID.log echo Beginning hot backup. $log_file date $log_file sqlplus -s / as sysdba $log_file alter database backup controlfile to /$backup_dir/backup_cotrolfile.ctl; set pagesize 0 set linesize 1000 set feedback off column tablespace_name noprin column sortorder noprin column textout format a120 spool hot_backup_$ORACLE_SID.sql select tablespace_name,1 sortorder, alter tablespace | tablespace_name | begin backup; textout from dba_data_files union select tablespace_name,2 sortorder, host cp | file_name | | $backup_dir textout from dba_data_files union select tablespace_name, 3 sortorder, alter tablespace | tablespace_name | end backup; textout from dba_data_files order by tablespace_name, sortorder, textout; select alter system archive log current; from dual; spool off hot_backup_$ORACLE_SID.sql exit EOF rm -f hot_backup_$ORACLE_SID.sqlecho Hot backup finished. $log_file (四)Rman备份shell程序oracleoracle $ cat -n rman_backup.sh #! /bin/bash if $1 then backup_level=$1 else backup_level=0 fi backup_user=sys backup_user_pw=oracle #catlog_user=rman #catlog_user_pw=rman log_file=/oracle/admin/$ORACLE_SID/rman_backup.log echo Beginning rman backup. $log_file date $log_file rman target $backup_user/$backup_user_pw $log_file # catlog $catlog_u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论