oracle实用大全.doc_第1页
oracle实用大全.doc_第2页
oracle实用大全.doc_第3页
oracle实用大全.doc_第4页
oracle实用大全.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

ORACLE日常实用手册黄荣强整理huangrq_目录1文档说明12安装篇12.1windows安装12.2Linux安装132.2.1安装前提条件:132.2.2配置安装环境:132.3AIX安装182.3.1准备oracle 10g安装包182.3.2安装aix补丁182.3.3Oracle 10g安装223日常管理篇293.1创建ORACLE实例293.2创建表空间353.3修改归档模式353.4修改非归档模式363.5添加控制文件373.6扩大表空间383.7数据库导出383.8数据导入394Dataguard配置篇40 1 文档说明为了让很多热爱oracle管理的IT青年,能有一本很方便学习和查询的手册,我虽然对oracle认识尚浅,但凭着对oracle的热情,平时工作中收集了很多数据库大牛的一些文档,整理成册,希望对大家有所帮助,不足之处,请大家指正。2 安装篇Oracle安装是每一个学习ORACLE的同学必修课,当今主流的操作系统有三大平台,windows,linux和unix。linux我们以Redhat linux为例,unix我们以AIX为例。好了,开始我们的安装之旅。2.1 windows安装一、预备步骤取得 Oracle 10g 安装程序,或从 Oracle 技术网(OTN)下载 光盘映像。在评估阶段您可以免费下载和使用无技术限制的全功能 Oracle,但在正式的商业场合应用时需要购买法律授权。您需要约 1.2GB 磁盘空间用于下载及解压缩,并需要 2GB 以上的磁盘空间用于安装。二、Oracle 10g 安装步骤运行解压缩出的 Oracle 10g 安装程序。打开oracle10g的安装目录,找到setup.exe,双击即可进入安装状态。出现安装初始界面。选择高级安装,并按下一步按钮根据你的需求进行选择安装。指定主目录的目标名称与目标路径(一般无需更改),并按下一步按钮。选择创建数据库,并按下一步按钮选择一般用途,并按下一步按钮填写全局数据库名: 对于未使用目录服务(如 Active Directory)的独立服务器,全局数据库名不必包含域名后缀(默认为 orcl) 对于使用了目录服务(如 Active Directory)的域服务器,全局数据库名需要包含域名后缀( 如 )上述要求设置妥当后,按下一步按钮指定数据库存储选项(使用默认选项文件系统即可),按下一步按钮指定备份和恢复选项(使用默认选项不启用自动备份即可),按下一步按钮为简化评估用数据库的密码设定,选择所有的帐户都使用同一个口令,输入 SYSTEM 等用户的口令(口令不要以数字开头),并按下一步按钮这是安装配置后的摘要信息,按安装按钮开始安装过十几分钟的文件安装过程之后,开始执行数据库配置助手数据库创建完毕,按确定按钮配置助手运行完毕安装结束,按退出按钮完成!按是按钮,退出安装程序三、测试安装是否成功要测试数据安装是否成功,可按顺序执行以下两个步骤:测试步骤 1: 请执行操作系统级的命令:tnsping orcl上述命令假定全局数据库名是 orcl。以下是命令执行后的示例:C:tnsping orclTNS Ping Utility for 32-bit Windows: Version .0 - Production on 10-11月-2005 10:09:58Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:C:oracleproduct10.2.0db_1networkadminsqlnet.ora已使用 TNSNAMES 适配器来解析别名Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)OK (50 毫秒)其中,结果 OK 至关重要。上述结果如果正确,则说明监听器配置无误。如果没有看到此结果,不要继续进行下一步。请检查: 使用 Oracle Net Configuration Assistant 检查网络配置(netca 命令) 使用 Database Configuration Assistant 检查数据库配置(dbca 命令) 测试步骤 2: 请执行操作系统级的命令:sqlplus system/passwordorcl上述命令假定 SYSTEM 用户对应的口令是 password,假定全局数据库名是 orcl。以下是命令执行后的示例(请手工输入红色部分文字):C:sqlplus system/passwordorclSQL*Plus: Release .0 - Production on 星期四 11月 10 10:15:25 2005Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Release .0 - ProductionSQL SELECT 1+2+3+4 FROM DUAL; 测试结果-10上述结果如果正确,表明数据库例程安装和启动正常。2.2 Linux安装linux 的版本为redhat linux 5.4,oracle版本为2.2.1 安装前提条件:内存:至少 1GB Swap :一般为可用物理内存的 2 倍,比如设定为 2GB/Temp 分区:至少 400MBOracle 安装目录所在的分区:至少 4GB2.2.2 配置安装环境:1. 安装补丁包关于确认补丁包的是否已安装,可以使用下述方式来查看rpm -q gcc make binutils openmotif setarch compat-db compat-gcc /compat-gcc-c compat-libstdc compat-libstdc -devel关于rpm工具的使用,请参照:RPM使用简介 我提供的下载地址中 RHEL 5.4 为 ISO 文件,我们可以将其挂载到某一个目录来安装补丁。使用 root 帐户创建一个挂载目录mkdir /mnt/cdrommount /dev/cdrom /mnt/cdrom 安装以下所需的包cd /mnt/cdrom/Serverrpm -Uvh setarch-2*rpm -Uvh make-3*rpm -Uvh glibc-2*rpm -Uvh libaio-0*rpm -Uvh compat-libstdc+-33-3*rpm -Uvh compat-gcc-34-3*rpm -Uvh compat-gcc-34-c+-3*rpm -Uvh gcc-4*rpm -Uvh libXp-1*rpm -Uvh openmotif-2*rpm -Uvh compat-db-4*2. 主机及网络设置如果将该机作为服务器,建议使用固定的 IP ,测试环境可以使用动态 IPvim /etc/sysconfig/network NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=vim /etc/sysconfig/network-scripts/ifcfg-eth0 以下内容使用动态 IP ,则不需要更改# Advanced Micro Devices AMD 79c970 PCnet32 LANCEDEVICE=eth0BOOTPROTO=dhcpHWADDR=00:0C:29:59:52:BBONBOOT=yesvim /etc/hosts # Do not remove the following line, or various programs# that require network functionality will fail. localhost.localdomain localhost:1 localhost6.localdomain6 localhost601 robinson3. 设置内核参数在 sysctl.conf 文件末尾添加如下行vim /etc/sysctl.conf kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096# semaphores: semmsl, semmns, semopm, semmnikernel.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 在 limit.conf 文件末尾添加如下行vim /etc/security/limits.conf * soft nproc 2047* hard nproc 16384* soft nofile 1024* hard nofile 65536在 login 文件末尾添加如下行vim /etc/pam.d/login session required pam_limits.so修改 config 文件,使得 SELINUX =disabledvim /etc/selinux/config SELINUX =disabled4. 创建帐户及安装目录groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba oraclepasswd oracleid oracle创建成功后如下 :rootlocalhost # id oracle uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)mkdir -p /u01/app/oracle/chown -R oracle:oinstall /u01/app/oraclechmod -R 775 /u01/app/oracle 5. 为 oracle 帐户创建环境变量su oraclevim /.bash_profile export ORACLE_BASE=/u01/app/oracle;export ORACLE_HOME=$ORACLE_BASE/10gexport ORACLE_SID=orclPATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport PATHexport LANG=en6. 修改 linux 的版本号(因该版本为 5.4 ,为避免检查无法通过,修改版本号)rootrobinson # cat /etc/issue Red Hat Enterprise Linux Server release 5.4 (Tikanga)Kernel /r on an /m使用 vim 修改版本号vim /etc/issue rootrobinson # cat /etc/issue Red Hat Enterprise Linux Server release 4.4 (Tikanga)Kernel /r on an /m7. 执行完上述步骤后建议重新启动 Linux8. 使用 root 执行 hostx +rootrobinson # xhost + access control disabled,clients can connect from any host9. 如果 oracle 10g 安装文件已下载到 linux 系统中,则使用 unzip 10201_database_linux32.zip 解压到指定文件夹。本人的安装文件在 windows 系统中,故将其转换成了 ISO 文件,并将其加载到光驱。rootrobinson #mount /dev/cdrom /mnt/cdromoraclerobinson /mnt/cdrom/runInstaller 五、执行安装安装结束前执行两个脚本:rootrobinson # /u01/app/oracle/oraInventory/orainstRoot.sh Changing permissions of /u01/app/oracle/oraInventory to 770.Changing groupname of /u01/app/oracle/oraInventory to oinstall.The execution of the script is completerootrobinson # /u01/app/oracle/10g/root.sh Running Oracle10 root.sh script.The following environment variables are set as:ORACLE_OWNER= oracleORACLE_HOME= /u01/app/oracle/10gEnter the full pathname of the local bin directory: /usr/local/bin:Copying dbhome to /usr/local/bin .Copying oraenv to /usr/local/bin .Copying coraenv to /usr/local/bin .Creating /etc/oratab file.Entries will be added to the /etc/oratab file as needed byDatabase Configuration Assistant when a database is createdFinished running generic part of root.sh script.Now product-specific root actions will be performed.六、其它1有些操作没有注明,比如创建用户或组,是在root用户提示符下完成2可以将linux的版本号改回到5.4版2.3 AIX安装2.3.1 准备oracle 10g安装包1)从oracle官方网站下载aix环境下的oracle 10g,下载地址:/otn/aix/oracle10g/10201/10gr2_aix5l64_database.cpio.gz2)通过ftp上传至安装目录下,安装目录为:/study/2.3.2 安装aix补丁对小型机安装oracle 10g必须的补丁,安装方法如下:通过下载补丁包进行安装1)进入IBM官网下载相应补丁包,进入地址:/support/fixcentral/输入缺少的补丁包名称(我这边安装oracle时提示缺失“IY58143”包),进行查找,如下图:在查找结果中,选择连接,并选择对应操作系统版本号的包,版本号可以通过如下命令得出:# oslevel -r5300-03下载完成之后,把下载好的所有文件都上传到小机的/usr/sys/inst.images目录下2)安装补丁包始终运行 inutoc 命令,以确保安装子系统能够识别下载的新补丁包。此命令会为补丁包创建一个新的 .toc 文件。在软件包文件集下载目录中运行 inutoc 命令。例如,如果已将文件集下载到 /usr/sys/inst.images,那么运行以下命令:inutoc /usr/sys/inst.images 运行smit update_by_fix,在弹出对话框中选择【list】按钮,如下:在选择列表中选择“/usr/sys/inst.images(Installation Directory)”,确定之后,会弹出补丁包安装选择的界面,如下图:选择“*FIXES to install”列的【list】按钮,会弹出安装列表,如下图:可以通过Find进行查找需要安装的补丁包,也可以通过拉动右边的滚动条来找到要安装的补丁包,选择之后点【OK】按钮确定安装。注:a)对于已选更新要安装本软件包中的已选更新,请使用以下命令:smit update_by_fix b)对于所有更新要安装本软件包中适用于您系统上所安装文件集的所有更新,请使用以下命令:smit update_all 使用光盘安装补丁包光盘安装方法,前面步骤跟下砸补丁包安装相同,在选择设备时选择光驱设备,如下图:确定之后,接下来的安装方法也是相同的。2.3.3 Oracle 10g安装2.1创建dba组通过#smit group来创建,经检查目标aix94机子上已经创建了dba组2.2创建安装oracle的用户输入命令:#smit user弹出如下对话框: 点【Add a User】,弹出如下对话框 设置内容:User NAME:lswUser ID(Num.):10001Primary GROUP:dbaGroup SET:dbaHOME directory:/study/lsw/oracle点【OK】即可完成lsw用户的创建。2.3修改用户环境变量进入/home/lsw目录下,把.profile文件增加如下内容:ORACLE_BASE=/study/lsw/oracle;export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/db_1;export ORACLE_HOMEORACLE_SID=jdlsprod;export ORACLE_SIDPATH=$ORACLE_HOME/bin:$PATH要使用.profile用户变量文件,把.dtprofile文件中的最后“DTSOURCEPROFILE=true”的注释去掉,如下:完成环境变量设置后,退出xmanger会话窗口,并重新登录。2.4安装软件使用上面创建的“lsw”用户登录aix,对10gr2_aix5l64_database.cpio.gz安装包进行解压缩:$gunzip 10gr2_aix5l64_database.cpio.gz$cpio -idcmv alter system set log_archive_dest_1=location=/oracle/oracle10g/log/archive_log; 该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测 例如再添加一个日志位置可使用以下语句 SQLalter system set log_archive_dest_2=location=/oracle/oracle10g/log2/archive_log; 2.关闭数据库 SQL shutdown immediate 3.启动数据mount状态: SQL startup mount; 4、修改数据库为归档模式: SQL alter database archivelog; 5、打开数据库,查询: SQL alter database open; 修改日志文件命名格式: SQL alter system set log_archive_max_processes = 5; SQL alter system set log_archive_format = archive_%t_%s_%r.log scope=spfile; 修改完成后可以查看日志模式是否修改成功! 3.4 修改非归档模式1 sql archive log list; #查看是否是归档方式 2 sql alter system set log_archive_start=false scope=spfile; #禁用自动归档 3 sql shutdown immediate; 4 sql startup mount; #打开控制文件,不打开数据文件 5 sql alter database noarchivelog; #将数据库切换为非归档模式 6 sql alter database open; #将数据文件打开 7 sql archive log list; #查看此时便处于非归档模式 3.5 添加控制文件示例显示数据库现有两个控制文件,需要再添加第三个控制文件,以下是步骤:oracledb2_master:/oracle11g export ORACLE_SID=abcoracledb2_master:/oracle11g sqlplus /nologSQL*Plus: Release .0 Production on 星期四 7月 5 06:16:38 2012Copyright (c) 1982, 2011, Oracle. All rights reserved.SQL connect /as sysdba;已连接。SQL alter system set control_files=/oradata/view_composer/view_composer/control01.ctl,/oradata/view_composer/view_composer/control02.ctl,/arch/view_composer/control03.ctl scope=spfile;系统已更改。SQL shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。拷贝控制文件到新的目录,并重新命名,然后启动oracle即可。3.6 扩大表空间数据库运行一段时间后,发现表空间不够了(假设创建没有使用自动扩展),如何扩大表空间?ALTER TABLESPACE erp_index ADD DATAFILE /oracledata/abc/db2.dbf SIZE 4096m;该语句为向erp_index表空间添加一个db2.dbf数据文件,大小为4096m。如果需要自动增长空间,可以这样写:ALTER TABLESPACE erp_index ADD DATAFILE /oracledata/abc/db2.dbf SIZE 4096m AUTOEXTEND ON NEXT 1024K;3.7 数据库导出数据导出:1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中exp system/managerTEST file=d:daochu.dmp full=y2 将数据库中system用户与sys用户的表导出exp system/managerTEST file=d:daochu.dmp owner=(system,sys)3 将数据库中的表inner_notify、notify_staff_relat导出exp aichannel/aichannelTESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 将数据库中的表table1中的字段filed1以00打头的数据导出exp system/managerTEST file=d:daochu.dmp tables=(table1) query= where filed1 like 00%上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。也可以在上面命令后面 加上 compress=y 来实现。3.8 数据导入数据的导入1 将D:daochu.dmp 中的数据导入 TEST数据库中。imp system/managerTEST file=d:daochu.dmpimp aichannel/aichannelTEST full=y file=d:datanewsmgnt.dmp ignore=y上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。2 将d:daochu.dmp中的表table1 导入imp system/managerTEST file=d:daochu.dmp tables=(table1)基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。4 Dataguard配置篇一、测试环境:Primaryserver:0SID=orclstandbyserverB:1oracleversion:10.2.0OSplatform.windowsserver2003二、Primary设置:1.设置主数据库为forcelogging模式SQLsqlplus/assysdbaSQLalterdatabaseforcelogging;2.设置主数据库为归档模式SQLarchiveloglist;SQLshutdownimmediate;SQLstartupmount;SQLalterdatabasearchivelog;SQLarchiveloglist;3.添加备用联机日志文件先查看日志文件位置:SQLselect*fromv$logfile;再添加:SQLalterdatabaseaddstandbylogfilegroup4(D:ORACLEPRODUCT10.2.0ORADATAORCLredo04.log)size50m;SQLalterdatabaseaddstandbylogfilegroup5(D:ORACLEPRODUCT10.2.0ORADATAORCLredo05.log)size50m;SQLalterdatabaseaddstandbylogfilegroup6(D:ORACLEPRODUCT10.2.0ORADATAORCLredo06.log)size50m;SQLalterdatabaseaddstandbylogfilegroup7(D:ORACLEPRODUCT10.2.0ORADATAORCLredo07.log)size50m;4.创建主库的初始化参数给备库用SQLCreatepfilefromspfile;产生的文件名为initorcl.ora存放目录默认放在$ORACLE_HOME/database下5.在主库创建备库的控制文件和密码文件SQLAlterdatabasecreatestandbycontrolfileasD:oracleproduct10.2.0control01.ctl;D:orapwdfile=D:PWDorcl.orapassword=adminentries=5;缺省情况下,win下口令文件的格式是pwdsid.ora,unix下的格式是orapwSID(大小写敏感)6.在主库创建监听和配置tnsnams.oralistener.ora配置如下:#listener.oraNetworkConfigurationFile:D:oracleproduct10.2.0db_1networkadminlistener.ora#GeneratedbyOracleconfigurationtools.SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=D:oracleproduct10.2.0db_1)(PROGRAM=extproc)(SID_DESC=(GLOBAL_DBNAME=orcl)(ORACLE_HOME=D:oracleproduct10.2.0db_1)(SID_NAME=orcl)LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)(ADDRESS=(PROTOCOL=TCP)(HOST=0)(PORT=1521)tnsnames.ora配置如下:#tnsnames.oraNetworkConfigurationFile:D:oracleproduct10.2.0db_1networkadmintnsnames.ora#GeneratedbyOracleconfigurationtools.primary=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=0)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)standby=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=1)(PORT=1521)(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)EXTPROC_CONNECTION_DATA=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)(CONNECT_DATA=(SID=PLSExtProc)(PRESENTATION=RO)7.在initorcl.ora添加以下内容:*.log_archive_format=%T%S%r.ARC*.DB_UNIQUE_NAME=primary*.log_archive_config=DG_CONFIG=(primary,standby)*.log_archive_dest_1=location=D:oracleproduct10.2.0oradataarchVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=primary*.log_archive_dest_2=SERVICE=standbyarchASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=standby*.STANDBY_FILE_MANAGEMENT=AUTO*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER=standby*.FAL_CLIENT=primary关闭数据库,在用initorcl.ora重启,并创建spfile文件SQLstartuppfile=$ORACLE_HOME/database/initorcl.oraSQLcreatespfilefrompfile=$ORACLE_HOME/database/initorcl.ora8.参数文件拷贝A.拷贝数据文件,参数文件,控制文件,密码文件到备库上initorcl.ora参数文件,PWDorcl.ora密码文件考到$ORACLE_HOME/database下的,controlbak.ctl考到$ORACLE_base/oradata/orcl/下,并分别重命名为control01.ctl,control01.ctl,control01.ctl数据文件考到$ORACLE_base/oradata/orcl/下B.用Rman拷贝,不用停机$rmantarget/RMANbackupfullformatD:/FULL_%d_%T_%s.bakdatabaseincludecurrentcontrolfileforstandby;RMANsqlaltersystemarchivelogcurrent;RMANBackupArchiveLogallformat=D:/arch_%d_%T_%s.bak;备份完后将备份文件拷到standby上同样的目录,强调:同样的目录,在standby进行rman恢复即可9.启动主数据库SQLshutdownimmediate;SQLstartup三、Standby操作:1.用oradim工具创建备库orcl实例oradim.exenewsidorclstartmodemoradim.exeeditsidorclstartmodea2.创建备库存放数据文件和后台跟踪目录$ORACLE_BASEORADATAORCL$ORACLE_BASEadminorcl$ORACLE_BASEadminorcladump$ORACLE_BASEadminorclbdump$ORACLE_BASEadminorclcdump$ORACLE_BASEadminorcldpdump$ORACLE_BASEadminorclpfile$ORACLE_BASEadminorcludump$ORACLE_BASEadminorcl3.添加备用联机日志文件SQLstartupmount先查看日志文件位置:SQLselect*fromv$logfile;在添加:SQLalterdatabaseaddstandbylogfilegroup4(D:ORACLEPRODUCT10.2.0ORADATAORCLredo04.log)size50m;SQLalterdatabaseaddstandbylogfilegroup5(D:ORACLEPRODUCT10.2.0ORADATAORCLredo05.log)size50m;SQLalterdatabaseaddstandbylogfilegroup6(D:ORACLEPRODUCT1

温馨提示

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

最新文档

评论

0/150

提交评论