oracle11g安装配置手册范本_第1页
oracle11g安装配置手册范本_第2页
oracle11g安装配置手册范本_第3页
oracle11g安装配置手册范本_第4页
oracle11g安装配置手册范本_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

./WORD格式整理Oracle安装配置手册V1.0版.安装Oracle前的系统准备工作检查需要的软件包以root用户登录系统,使用rpm-q软件包关键词命令进行检测rpm-q--qfbinutilscompat-libstdc++-33elfutils-libelfelfutils-libelf-develgccglibcgcc-c++glibc-commonglibc-develglibc-headerslibaiolibaio-devellibgcclibstdclibstdc++-develmakesysstatunixODBCunixODBC-devel将缺少的软件包用命令:rpm–ivh加上缺少的软件包名称进行安装,如:#rpm–ivh[注释:本系统缺少3个软件安装包,详细见附录/SQMPMS/soft/oracle/package下,名称:.rpm,unixODBC.rpm,]修改系统内核参数在/etc/sysctl.conf中添加以下行:vi/etc/sysctl.conffs.aio-max-nr=1048576fs.file-max=6815744#kernel.shmall=2097152#kernel.shmmax=536870912kernel.shmmni=4096kernel.sem=25032000100128net.ipv4.ip_local_port_range=900065500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048586运行下面的命令应用以上OS参数:/sbin/sysctl–p添加以下行到/etc/security/limits.conf文件中:vi/etc/security/limits.conf*softnproc2047*hardnproc16384*softnofile1024*hardnofile65536如果/etc/pam.d/login文件中没有以下行,则添加以下内容:vi/etc/pam.d/loginsessionrequiredpam_limits.so修改/etc/selinux/config文件来关闭linux防火墙,确保SELINUX设置如下:vi/etc/selinux/configSELINUX=disabled创建oracle组和用户groupaddoinstallgroupadddbauseradd-goinstall-Gdbaoraclepasswdoracle创建oracle安装目录mkdir/oraclechown-Roracle:oinstall/oraclechmod-R775/oracle设置oracle用户环境变量以oracle用户登陆系统,覆盖.bash_profile文件内容:vi/home/oracle/.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi#UserspecificenvironmentandstartupprogramsORACLE_SID=sqmpmsORACLE_BASE=/oracleexportORACLE_SIDORACLE_BASEORACLE_HOMEPATH=$PATH:$ORACLE_HOME/bin:$HOME/binexportPATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexportLD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexportCLASSPATHif[$USER="oracle"];thenif[$SHELL="/bin/ksh"];thenulimit-p16384ulimit-n65536elseulimit-u16384-n65536fifi安装Oracle解压缩安装文件$mkdir/oracle/soft通过SSH上传安装包到/oracle/soft/目录下[SSH的实用详细见SSH实用说明]使用命令unzip文件名解压安装包$cd/oracle/softunzipp10404530_112030_Linux-x86-64_1of7.zipunzipp10404530_112030_Linux-x86-64_2of7.zip设置oracle帐户可以操作安装文件所在的目录chown-Roracle:oinstall/oracle/soft/chmod-R755/oracle/soft/[注释:安装包见:附录/SQMPMS/soft/oracle目录下,名称为:p10404530_112030_Linux-x86-64_1of7.zip,p10404530_112030_Linux-x86-64_2of7.zip]安装ORACLE用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面#su–oracle$cd/oracle/soft/database$./runInstaller如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:#exportDISPLAY=:0.0或者ip:0.0#xhost+#su–oracle$cd/oracle/soft/database$./runInstaller或./runInstaller-ignoreSysPreReqs〔跳过系统检查如果出现界面乱码现象,执行以下命令:exportLANG=en出现安装界面后,根据界面提示进行相关的设置:如果出现程序包警告异常,选择全部忽略,并执行下一步安装完成的最后步骤,操作如下:

$su-root

#cd/oracle/oralnventory/#./orainstRoot.sh

#cd/#./root.sh#回车完成创建数据库配置监听以oracle用户登录系统运行netca命令,操作步骤如下::#su-oracle先进入oraclebin目录,命令:#:$netca:系统会弹出弹出操作窗口,如下图2、添加监听程序,如图3、输入监听程序名,如图4、使用默认端口1521<生产环境下,不能使用默认端口,需改为1522,因为国网安全测试通不过>5、完成配置6、启动监听,命令如下:$lsnrctlstart创建数据库实例切换到oracle用户,运行dbca命令创建数据库实例,命令:$dbca,系统弹出数据库实例创建操作界面,如下图1、选择创建数据库2、选择创建数据库模板,选一般用途或事务处理3、输入数据库全局名及SID:sqmpms4、设定数据库账号密码<建议生成环境下,选择不同用户不同密码管理>[当前密码为Oracle123]5、设置闪回区大小,这里选择默认值大小6、设置数据库实例SGA、PGA大小,视操作系统内存大小,一般如果此系统只有ORACLE应用,建议分配给ORACLE实例80%的大小,如果数据库为OLTP应用的,则其应用一般都是小的短的进程,所需要的pga也相应较少,所以该值通常为总共分配给Oracle实例的20%,另外的80%给SGA,如果是OLAP的应用,建议各占50%。而如果数据库是混合类型的,一般会先分配给pga40%的初始值,然后随着应用不断监控和调整PGA。7、设置数据库实例数据块大小及用户最大进程数〔生产环境下,建议连接数至少为1500以上8、设置数据库实例字符集<一般建议选AL32UTF8>9、检查参数文件及所有数据文件位置是否正确10、点击完成开始创建数据库实例,直至实例安装成功。检查oracle实例是否安装成功1、终端中切换到oracle用户,命令:su-oracle2、$sqlplus/assysdba;SQL*Plus:Release11.2.0.3.0ProductiononWedNov2115:11:282012Copyright<c>1982,2011,Oracle.Allrightsreserved.Connectedto:OracleDatabase11gEnterpriseEditionRelease11.2.0.3.0-64bitProductionWiththePartitioning,RealApplicationClusters,AutomaticStorageManagement,OLAP,DataMiningandRealApplicationTestingoptions3、在调出的sqlplus命令模式中,运行命令:select*fromv$version,如果有数据库版本信息显示,则表示数据库实例创建成功。SQL>select*fromv$version;BANNEROracleDatabase11gEnterpriseEditionRelease11.2.0.3.0-64bitProductionPL/SQLRelease11.2.0.3.0-ProductionCORE11.2.0.3.0ProductionTNSforLinux:Version11.2.0.3.0-ProductionNLSRTLVersion11.2.0.3.0-Production4、退出sqlplus命令模式,命令:exit;SQL>exit;设置开机自启动数据库实例切换到root用户登录,命令:su–root,执行以下命令:#vi/oracle/oraclestart.sh,编辑oraclestart.sh文件,添加以下内容#!/bin/shsu-oracle<<EONexportORACLE_SID=sqmpmslsnrctlstartsqlplus/nolog<<EOFconn/assysdbastartupexitEOFexitEON3、保存并退出文件编辑模式,具体步骤:先按键盘"ESC"键,进入命令模式,然后同时按住键盘"Shift"+";"键,输入命令"wq",文件保存退出。4、导入启动配置文件到系统启动空间中,命令:echo"/oracle/oraclestart.sh">>/etc/rc.loca数据库配置数据库基本信息数据库类型:Oracle数据库版本:数据库SID:sqmpms数据库别名:sqmpms语言:AMERICAN_AMERICA数据库字符集<NLS_CHARACTERSET>:UTF8国家区域字符集<NLS_NCHAR_CHARACTERSET>:UTF8修改ORACLE核心参数切换到oracle用户,命令:su–oracle执行以下命令:$sqlplus/assysdba;逐句执行以下命令:altersystemsetnls_length_semantics=CHARscope=both;<如果字符集选的是UTF-8,一定要执行此语句,利于建表语句中字符字段长度的规范。原来的值为spfile;>altersystemsetsessions=3000scope=spfile;altersystemsetprocesses=2500scope=spfile;altersystemsetopen_cursors=3000scope=both;altersystemsetdb_files=500scope=spfile;altersystemsetjob_queue_processes=30scope=both;altersystemsetnls_date_format=’YYYY-MM-DD’scope=spfile;4、关闭数据库,命令:shutdownimmediate;5、启动数据库实例,命令:startup;导入数据1、根据"附录/SQMPMS/data/数据库脚本"中的数据脚本,按照建立表空间、新建用户、数据库表结构初始化、建立索引、平台数据依次执行各个脚本<执行脚本之前必须先认真阅读文件夹下的"重要说明.txt"文件>。编译数据库失效对象1、 以oracle用户执行命令:$sqlplus/assysdba;〔如果没有切换或者退出当前用户,则不用执行此命令,直接执行以下脚本2、 执行以下数据库编译脚本@/oracle系统故障处理数据库文件损坏口令文件损坏处理方法:重新生成口令文件即可,采用orapwd命令进行生成相应的口令文件到指定的位置,然后重启数据库即可单个控制文件损坏处理方法:停止数据库,shutdownimmediate;查看初始化文件/initpmdb.ora,确定所有控制文件的路径,一般初始化参数文件路径在$ORACLE_BASE/admin/pfile用操作系统命令将其它正确的控制文件覆盖错误的控制文件重启数据库,startup用适当的方法进行数据库全备份全部控制文件损坏处理方法:确保数据库已经关闭,如果没有用下面的命令来关闭数据库:>shutdownimmediate;从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件用下面的命令来创建产生数据库控制文件的脚本:>startupmount;>alterdatabasebackupcontrolfiletotracenoresetlogs;修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql.注意:Trace文件的具体路径可以在执行完第3步操作后查看$ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定用下面命令重新创建控制文件:>shutdownabort;>startupnomount;>@createcontrol.sql;用适当的方法进行数据库全备份重做日志文件损坏处理方法:〔1、确定损坏的重做日志的位置及其状态:如果数据库处于可用状态:select*fromv$logfile;select*fromv$log;如果数据库处于已经异常终止:>startupmount;>select*fromv$logfile;>select*fromv$log;其中,logfile的状态为INVALID表示这组日志文件出现已经损坏;log状态为Inactive:表示重做日志文件处于非激活状态;Active:表示重做日志文件处于激活状态;Current:表示是重做日志为当前正在使用的日志文件〔2、损坏的日志文件处于非激活状态:1.删除相应的日志组:>alterdatabasedroplogfilegroupgroup_number;2.重新创建相应的日志组:>alterdatabaseaddlogfilegroupgroup_number〔’log_file_descritpion’,…sizelog_file_size;〔3、损坏的日志文件处于激活状态且为非当前日志:1.清除相应的日志组:>alterdatabaseclearunarchivedlogfilegroupgroup_number;损坏的日志文件为当前活动日志文件:用命令清除相应的日志组:>alterdatabaseclearunarchivedlogfilegroupgroup_number;如果清除失败,则只能做基于时间点的不完全恢复。打开数据库并且用适当的方法进行数据库全备份:>alterdatabaseopen;非system表空间的数据文件损坏:1.确定损坏的文件名字:>selectnamefromv$datafilewherestatus=’INVALID’;2.将损坏的数据文件处于offline状态:>alterdatabasedatafile‘datafile_name’offline;3.从相应的备份结果集中恢复关于这个数据文件的最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。4.恢复数据文件:>alterdatabaserecoverdatafile‘file_name’;5.使数据库文件online:>alterdatabasedatafile‘datafile_name’online;6.用适当的方法进行数据库全备份。system表空间的数据文件损坏:1.以mount方式启动数据库>startupmount;2.从相应的备份结果集中恢复关于这个数据文件的最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。3.恢复system表空间:>alterdatabaserecoverdatafile‘datafile_name’;4.打开数据库:>alterdatabaseopen;5.用适当的方法进行数据库全备份非system表空间损坏:1.将损坏的表空间处于offline状态:>altertablespace‘tablespace_name’offline;2.从相应的备份结果集中恢复关于这个表空间最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。3.恢复表空间:>alterdatabaserecovertablespace‘tablespace_name’;4.使表空间online:>altertablespace‘tablespace_name’online;5.用适当的方法进行数据库全备份.system表空间损坏:1.以mount方式启动数据库>startupmount;2.从相应的备份结果集中恢复system表空间最近的备份。对于没有采用带库备份的点可以直接从磁带上恢复;对于用带库备份的点用相应的rman脚本来恢复。3.恢复system表空间:>alterdatabaserecovertablespacesystem;4.打开数据库:>alterdatabaseopen;5.用适当的方法进行数据库全备份。整个数据库的所有文件损坏:整个数据库所有文件的损坏一般是在共享磁盘阵列发生无法恢复的灾难时才发生,这种情况下只能对数据库进行恢复。若数据库的归档目录也已经丢失,则数据库不可能做完全恢复,会有用户数据的丢失。没采用带库备份的现场:1.将最近的备份从磁带上把各个文件解包到相应的目录下。2.以mount方式打开数据库:>startupmount;3.恢复数据库:>recoverdatabaseuntilcancel;4.打开数据库:>alterdatabaseopenresetlogs;5.用适当的方法进行数据库全备份。采用带库备份的现场:1.以nomount方式打开数据库:>startupnomount;2.通过相应的rman脚本进行数据库软恢复。$rmancmdfile=hot_database_restore.rcv3.打开数据库:>alterdatabaseopenresetlogs;4.用适当的方法进行数据库全备份。存在最近的数据库完整冷备份前提下的一些经典紧急情况的处理:数据文件,归档重作日志和控制文件同时丢失或损坏:无新增archives时的状况:条件和假设:自上次镜像备份以来尚未生成新的archivelog<s>;ArchivelogMode;有同步的datafile<s>和controlfile<s>的镜像〔冷拷贝恢复步骤:1.将镜像拷贝的datafile<s>和controlfile<s>抄送回原始地点:$cp/backup/good_one.dbf/orig_loc/bad_one.dbf$cp/backup/control1.ctl/disk1/control1.ctl2.以mount选项启动数据库:$sqlplus/nolog>connect/assysdba>startupmount3.以旧的controlfile来恢复数据库:>recoverdatabaseusingbackupcontrolfileuntilcancel;***介质恢复完成〔必须马上cancel4.Resetthelogfiles〔对启动而言不可省略:>alterdatabaseopenresetlogs;5.关闭数据库并做一次全库冷备份。新增archives时的状况:条件和假设:自上次镜像备份以来已经生成新的archivelog<s>;ArchivelogMode;有同步的datafile<s>和controlfile<s>的镜像〔冷拷贝;archivelog<s>可用。恢复步骤:1.如果数据库尚未关闭,则首先把它关闭:$sqlplus/nolog>connect/assysdba>shutdownabort2.将备份文件抄送回原始地点:所有DatabaseFiles所有ControlFiles〔没有archive<s>或redo<s>的情况下,controlfiles的更新无任何意义所有On-LineRedoLogs<Notarchives>init.orafile〔选项3.启动数据库:$sqlplus/nolog>connect/assysdba>startup数据文件,重作日志和控制文件同时丢失或损坏:条件和假设:ArchivelogMode;有同步的所有所失文件的镜像〔冷拷贝;archivelog<s>可用恢复步骤〔必须采用不完全恢复的手法:1.如果数据库尚未关闭,则首先把它关闭:$sqlplus/nolog>connect/assysdba>shutdownabort2.将备份文件抄送回原始地点:所有DatabaseFiles所有ControlFiles所有On-LineRedoLogs<Notarchives>init.orafile〔选项3.启动数据库然而并不打开:>startupmount4.做不完全数据库恢复,应用所有从上次镜像〔冷备份始积累起来的archives:>recoverdatabaseuntilcancelusingbackupcontrolfile;cancel5.Resetthelogfiles〔对启动而言不可省略:>alterdatabaseopenresetlogs;6.关闭数据库并做一次全库冷备份。数据文件和控制文件同时丢失或损坏:条件和假设:ArchivelogMode;有同步的datafile<s>和controlfile<s>的冷拷贝;archivelog<s>可用恢复步骤:1.将冷拷贝的datafiles<s>和controlfile<s>抄送回原始地点:$cp/backup/good_one.dbf/orig_loc/bad_one.dbf$cp/backup/control1.ctl/disk1/control1.ctl2.以mount选项启动数据库:$sqlplus/nolog>connect/assysdba>startupmount3.以旧的controlfile来恢复数据库:>recoverdatabaseuntilcancelusingbackupcontrolfile;***介质恢复完成〔须在应用完最后一个archivelog后cancel4.Resetthelogfiles〔对启动而言不可省略:>alterdatabaseopenresetlogs;重作日志和控制文件同时丢失或损坏时:条件和假设:ControlFiles全部丢失或损坏;ArchivelogMode;有ControlFiles的镜像〔冷拷贝。恢复步骤:1.如果数据库尚未关闭,则首先把它关闭:$sqlplus/nolog>connect/assysdba>shutdownabort>exit2.以ControlFile的镜像〔冷拷贝覆盖损坏了的ControlFile:$cp/backup/control1.ctl/disk1/control1.ctl3.启动数据库然而并不打开:$sqlplus/nolog>connect/assysdba>startupmount4.Drop坏掉的redolog〔排除硬件故障:>alterdatabasedroplogfilegroup2;5.重新创建redolog:>alterdatabaseaddlogfilegroup2'/orig_loc/log2.dbf'size10M;6.以旧的controlfile来恢复数据库:>recoverdatabaseuntilcancelusingbackupcontrolfile;〔必须马上cancel7.Resetthelogfiles〔对启动而言不可省略:>alterdatabaseopenresetlogs;8.关闭数据库并做一次全库冷备份只发生归档重作日志丢失或损坏时:根据不同环境和情况,选择下述手段之一:a.马上backup全部datafiles〔如果系统采用一般热备份或RMAN热备份b.马上正常关闭数据库并进行冷备份〔如果系统采用冷备份c.冒险前进!不做备份而让数据库接着跑,直等到下一个备份周期再做备份。这是在赌数据库在下一个备份周期到来之前不会有需要恢复的错误发生。注意:冒险前进的选择:如果发生错误而需要数据库恢复,则最多只能恢复到出问题archivelog之前的操作现场。从另一个角度讲,archivelog<s>出现问题时,数据库若不需要恢复则其本身并没有任何问题。Oracle逻辑结构故障的处理方法逻辑结构的故障一般指由于人为的误操作而导致重要数据丢失的情况。在这种情况下数据库物理结构是完整的也是一致的。对于这种情况采取对原来数据库的全恢复是不合适的,我们一般采用三种方法来恢复用户数据。采用exp/imp工具来恢复用户数据:如果丢失的数据存在一个以前用exp命令的备份,则可以才用这种方式。1.在数据库内创建一个临时用户:>createusertest_useridentifiedbytest;>grantconnect,resourcetotest_user;2.从以前exp命令备份的文件中把丢失数据的表按照用户方式倒入测试用户:$impsystem/managerfile=export_file_nametables=<lost_data_table_name…>fromuser=lost_data_table_ownertouser=test_userconstraint=n;3.用相应的DML语句将丢失的数据从测试用户恢复到原用户。4.将测试用户删除:>dropusertest_usercascede;采用logminer来恢复用户数据:Logminer是oracle提供的一个日志分析工具。它可以根据数据字典对在线联机日志、归档日志进行分析,从而可以获得数据库的各种DML操作的历史记录以及各种DML操作的回退信息。根据这些用户就可以将由于误操作而丢失的数据重新加入数据库内。1.确认数据库的utl_file_dir参数已经设置,如果没有则需要把这个参数加入oracle的初始化参数文件,然后重新启动数据库。下面例子中假设utl_file_dir=’/opt/oracle/db01’;2.创建logminer所需要的数据字典信息,假设生成的数据字典文本文件为dict.ora:>executedbms_logmnr_d.build<dictionary_filename=>'dict.ora',dictionary_location=>'/opt/oracle/db01’>;3.

温馨提示

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

最新文档

评论

0/150

提交评论