51CTO编辑-oracle傻瓜说明材料.doc

上传人:小** 文档编号:4471492 上传时间:2021-09-24 格式:DOC 页数:76 大小:550.03KB
返回 下载 相关 举报
51CTO编辑-oracle傻瓜说明材料.doc_第1页
第1页 / 共76页
51CTO编辑-oracle傻瓜说明材料.doc_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《51CTO编辑-oracle傻瓜说明材料.doc》由会员分享,可在线阅读,更多相关《51CTO编辑-oracle傻瓜说明材料.doc(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、,ORACLE傻 瓜 手 册To be DBA or not to be, that is NOT the question.- Arron作者允许自由散发此文档,但对其进行的任何修改应通知作者,以便于维护版本。作者email:zhou_arronOracle8以8.1.5为界分为普通版本和internet版本。普通版版本号8.0.x,接触较多的是8.0.5;internet版版本号包括8.1.5(Release 1),8.1.6(Release 2),8.1.7(Release 3)。普通版简称Oracle 8,internet版简称Oracle 8i。如果不作特别说明,文中凡出现Oracl

2、e 8i均指8.1.7版。Oracle9i目前出到第二版,版本号为9.2,简称Oracle 9i。如果不作特别说明,文中凡出现Oracle 9i均指9.2版。本手册介绍Oracle配置的基本方法,描述的是“所然”而不是“所以然”。全部操作以命令行方式出现,不涉及GUI(只有白刃战才是真正的战斗)。鉴于大家对Windows已经十分熟悉,同时为了避免Windows和Unix两种截然不同的使用和开发风格给描述带来的复杂性,所以本手册不介绍在Windows上的Oracle(上帝的归上帝,恺撒的归恺撒)。文中所有例子以oradb作为数据库实例名,数据库用户dbuser,口令oracle。如果不作特别说明

3、,关于Oracle 8i所有的例子都在Solaris 8 Intel Platform+Oracle 8iR3上通过,关于Oracle 9i所有的例子都在RedHat Linux 7.3+Oracle 9iR2上通过。附录文件sample.tar包含全部示例,简称附录。大量使用表emp作为例子(参见附录08_proc/proc/single/emp.sql):create table emp( nonumber(12) not null, namechar(20) not null, agenumber(6) not null, dutychar(1) not null, salarynumb

4、er(12) not null, upd_tsdate not null,primary key (no);开发中对应emp表结构,定义其宿主结构(参见附录08_proc/proc/single/db.h):typedef structdoubleno;charname21;intage;charduty2;doublesalary;charupd_ts15; emp_t;修改历史:2000/07版本1.02000/09版本1.1增加Linux安装,export,import使用,数据库监控及优化(utlbstat,utlestat,分析session),语言时间环境变量设置,Oracle8.

5、0.5手工建库脚本(wei_dick提供,稍加修改)2000/10版本1.2修改Linux安装中RedHat 6.x+Oracle 8.1.6、数据库优化中配置文件和session分析、常用技巧中下载上传文本数据和访问他机数据库;增加创建数据库实例中数据字典参考、常用技巧中删除冗余记录、应用开发,常见错误感谢liu_freeman,jiao_julian,huang_miles等人对开发工具所作的努力2001/03版本1.3修改安装部分、init.ora配置、常用技巧、应用开发;增加手工建库、MTS配置;重写开发工具感谢li_bo的大力帮助2001/09版本1.4修改数据库优化,使之较系统化;

6、增加应用开发中多线程下的数据库连接2002/04版本1.5修改数据库优化、多线程条件下数据库编程;分离附录的程序范例2002/12版本2.0重新安排内容,增加Oracle 9i安装配置、OCI开发、mysql安装配置开发,补充数据库优化、PROC开发ORACLE傻 瓜 手 册11安装61.1通用设置61.2UnixWare771.2.1Oracle 871.3HP-UX81.3.1Oracle 881.4Linux91.4.1kernel 2.0 & glibc 2.091.4.2kernel 2.2 & glibc 2.191.4.3kernel 2.4 & glibc 2.2101.5So

7、laris112创建132.1Oracle 8 & 8i132.1.1工具创建132.1.2手工创建132.1.3MTS(multi-threaded server)142.1.4调整临时表空间152.1.5调整回滚表空间152.1.6调整日志152.1.7调整用户表空间162.1.8创建用户172.1.9创建数据对象172.1.10创建只读用户182.1.11启动及关闭数据库实例192.1.12网络配置192.2Oracle 9i212.2.1手工创建212.2.2创建用户表空间223初始化文件配置233.1Oracle 8 & 8i233.2Oracle 9i254工具264.1sqlld

8、r264.2exp274.3imp284.4sqlplus294.4.1命令行参数294.4.2提示符命令294.4.3SET选项304.4.4例子305备份及恢复325.1export与import方式325.2冷备份325.3联机全备份+日志备份325.3.1设置325.3.2步骤335.3.3恢复335.4注意要点346数据库优化356.1通用设置356.1.1硬件配置356.1.2应用配置356.1.3日常性能监控366.2实战分析366.2.1总体分析376.2.2详细分析376.3专题分析396.3.1巨表查询396.3.2对比测试416.3.3上下载数据446.3.4回滚空间快照

9、陈旧(snapshot too old)467常用技巧487.1增加、更改和删除域487.2删除冗余记录497.3更改字符集497.4表数据迁移507.5成批生成数据507.6注意要点518嵌入式SQL(C)538.1编译538.2SQL语句548.2.1内部类型与宿主类型对应548.2.2连接和断开548.2.3事务558.2.4标准SQL语句558.2.5动态SQL语句558.2.6数组操作568.3编程框架588.3.1总体原则588.3.2单线程和多线程598.3.3开发工具609OCIOracle Call Interface619.1连接和断开619.1.1句柄层次619.1.2连

10、接流程619.1.3断开流程629.2SQL语句629.2.1事务629.2.2无结果集的sql语句639.2.3有结果集的sql语句639.2.4LOB659.3编程框架679.3.1总体原则679.3.2sql语句689.3.3函数6910附录MYSQL7210.1安装配置7210.2管理7210.2.1初始调整7210.2.2建立用户对象7310.3开发7310.3.1连接和断开7310.3.2无结果集的sql语句7410.3.3有结果集的sql7410.3.4错误处理751 安装所有参见内容都在附件01_install_02_create_03_init/下。1.1 通用设置文件系统s

11、wap创建文件系统时应考虑Oracle对swap的需要,大约每个oracle服务进程将占用10-20Mswap空间,通常操作系统建议2倍于内存的swap空间,数据库系统可能要求更多些。操作系统用户和环境变量Oracle文档要求为数据库系统的管理和使用建立3个或更多的组,但这个需求是可以忽略的,实践中并没有体现其必要性。为简化操作起见,只建立dba组,即拥有更新软件和管理最高权限(SYSDBA)的操作系统用户组,此组称为OSDBA,属于此组的用户可以SYSDBA身份登录进任何一个数据库实例,简单的,只建立一个用户,习惯上使用oracle的名称。$ groupadd dba$ useradd g

12、dba d /home/oracle m s /bin/bash oracle确定oracle 系统的根目录ORACLE_BASE,如/opt/oracle,所有的软件和配置都在这个目录下展开,虽然并非一定需要如此,但这是一个良好的习惯。同时确定软件安装的起始点ORACLE_HOME,通常在ORACLE_BASE下。修改oracle用户的.profile,加入以下各行,或者修改/etc/profile,使每一个用户都获得环境变量设置umask 022ORACLE_BASE=/opt/oracleORACLE_HOME=$ORACLE_BASE/product/版本号(如8.0.5,8.1.7,

13、9.2.0等)ORACLE_SID=oradbORACLE_TERM=ansi 仅与Oracle8字符界面安装有关ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data 字符集支持NLS_LANG=American_America.ZHS16CGB231280(Oracle8支持)|ZHS16GBK(Oracle8i支持)|ZHS16GB18030(Oracle9i支持)NLS_DATE_FORMAT=YYYYMMDDHH24MISSLD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 动态连接路径,Unixwa

14、re中要确保/usr/ucb/lib在/usr/ccs/lib之后出现TMPDIR=/tmp 安装中Oracle会在此目录下存储相当数量的文件,所以TMPDIR所在的磁盘分区要确保空闲空间的大小,至少在1G左右PATH=$PATH:$ORACLE_HOME/binexport ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM ORA_NLS33 NLS_LANG NLS_DATE_FORMAT LD_LIBRARY_PATH TMPDIR参见profile。注意:NLS_LANG=American_America.ZHS16CGB231280(ZHS

15、16GBK)“American”指显示信息时所用的语言,窃以为凭大家的英语水平足够应付,如改为SIMPLIFIED CHINESE,在不带中文支持的终端上就没人能看懂了。“America”指地区“ZHS16CGB231280”指Client工具使用的字符集,一般使用”ZHS16CGB231280”,Oracle8i已支持到”ZHS16GBK”NLS_DATE_FORMAT=YYYYMMDDHH24MISSOracle的date类型过于灵活,为统一时间格式,利于编程,应将时间的输入输出格式限定为14位字符串,如”20000101235959”据oracle文档,此参数可按照session,操作系

16、统用户环境,init.ora由高到低的优先级顺序设置,依次覆盖。相关系统表:v$nls_parameters v$nls_valid_valuesX-WindowOracle 8的安装程序是光盘mount点/bin/orainst,使用字符界面,不用考虑X-Window。Oracle 8i和9i使用光盘mount点/runInstaller进行安装,它是用Java编写的图形界面,对中文处理有问题,所以应在进入X-Window前确保语言(LANG)和地域(LC_ALL,LC_TYPE,)环境变量不是中文。LANG=CLC_ALL=C安装选项Oracle 8i的主要软件包在安装选项Enterpri

17、se中,但并不包括proc,必须进行第二次安装,可选择安装选项Client中的programmer。Oracle 9i的主要软件包在安装选项Enterprise安装选项中,但并不包括proc,必须进行第二次安装,一定要选择安装选项Client中的Administrator。runInstaller的稳定性欠佳,建议每次安装结束后,先退出,再进行下一次安装。1.2 UnixWare71.2.1 Oracle 8确认操作系统的交换分区swap不少于350M认为该打的补丁统统打上,宁滥毋缺。UnixWare7.0.1必须打的补丁为ptf7033,ptf7051,ptf7052,ptf7068,ptf

18、7096。将/etc/default/login中的ulimit设为大于2113674(稍大一点即可,太大会有问题)将/etc/conf/node.d/async中的600改为666修改以下核心参数核心参数必需值解释SHMMAX2147483647共享内存段最大尺寸SHMMNI100系统共享内存段标识最大数目SHMSEG15每个进程所能使用最大共享内存段数目SEMMNI100核心信号量标识最大数目SEMMSL150每个信号量标识包含的信号量个数SCORLIM0X7FFFFFFFCore文件最大尺寸HCORLIM0X7FFFFFFFSDATLIM0X7FFFFFFF进程堆最大尺寸HDATLIM0

19、X7FFFFFFFSVMMLIM0X7FFFFFFF进程最大映射地址HVMMLIM0X7FFFFFFFSFSZLIM0X7FFFFFFF进程文件最大偏移量HFSZLIM0X7FFFFFFFSFNOLIM128进程能打开的最大文件个数HFNOLIM2048NPROC20+(8*MAXUSERS)MAX:125000ARG_MAX1,048,576NPBUF100I/O缓冲区数目MAXUP1000用户同时使用的最大进程个数STRTHRESH0X500000流能使用的最大字节数为优化应用系统修改以下核心参数核心参数参考值解释MSGMAX8192消息最大尺寸MSGMNB81920消息队列尺寸MSGMN

20、I2048系统能并存的最大消息队列数目MSGSSZ16384MSGTQL4096系统能并用的消息头数目SEMMNI1024SEMMSL150也可通过编辑/etc/conf/cf.d/stune达到同样效果重新连接内核,重起或运行/etc/conf/bin/idbuild B修改核心参数SEMMAP时,注意要同时修改/etc/conf/mtune.d/ipc中相应的MAX值建立/var/opt/oracle,使oracle成为此目录属主mount oracle光盘,通常mount目录为/SD-CDROM_1root用户,ORACLE_OWNER=oracle,执行光盘上orainst中orata

21、b.sh,建立/var/opt/oracle/oratab安装时,选custom方式,安装时不建立数据库,字符集可选Simplified Chinese1.3 HP-UX1.3.1 Oracle 8流程大致与unixware相同,调整kernel参数可通过sam,选择/Kernel Configuration/Actions/Apply Tuned Parameter Set/OLTP Database Server System,另外为提高I/O能力,还需调整以下参数:核心参数参考值解释bufpages61992缓冲页dbc_max_pct10动态缓存占内存最大百分比dbc_min_pct1

22、0动态缓存占内存最小百分比nbuf设定共享库目录SHLIB_PATH,不是LD_LIBRARY_PATHSHLIB_PATH=$SHLIB_PATH:$ORACLE_HOME/lib;export SHLIB_PATH1.4 Linux1.4.1 kernel 2.0 & glibc 2.0代表产品为Red Hat Linux 5.1。Oracle 8在RedHat5.1上能成功安装,安装软件包为805ship.tgz一般不会在RedHat5.1上安装Oracle8i以上的版本修改共享内存最大尺寸限制:在系统初始化脚本/etc/rc.d/rc.sysinit中加入:echo 214748364

23、8 /proc/sys/kernel/shmmax重启计算机。这样做避免了Oracle分配的共享内存碎片化,对提高效率有好处。原$ORACLE_HOME/precomp/admin/pcscfg.cfg中sys_include有误,使proc预处理pc程序失败,安装结束后,应设为:sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-linux/egcs-2.91.66/include)(视gcc版本而定)1.4.2 kernel 2.2 & glibc 2.1代表产品为Red Hat Linux 6.2。修改共享内存最大尺寸限制:在系

24、统初始化脚本/etc/rc.d/rc.sysinit中加入:echo 2147483648 /proc/sys/kernel/shmmax重启计算机。这样做避免了Oracle分配的共享内存碎片化,对提高效率有好处。原$ORACLE_HOME/precomp/admin/pcscfg.cfg中sys_include有误,使proc预处理pc程序失败,安装结束后,应设为sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-linux/egcs-2.91.66/include) (视gcc版本而定)1.4.2.1 Oracle 8本来已经很少

25、有人在LinuxKernel2.2的系统中安装Oracle8.0.5,但笔者实在怀念8.0.5纯粹的文本界面和与之相处的无数不眠之夜,故收录如下:Oracle8在kernel为2.2.x的linux中是无法正常运行的,运行可执行文件如svrmgrl,sqlplus时会导致“Segmentation fault”,原因在于这些linux使用了默认的libc2.1,与Oracle8程序重连接所需的libc2.0不兼容。Oracle的补丁程序其实是将Oracle可执行程序的重连接脚本中libc位置重新定位到libc2.0上去,并用旧版的gcc,ld重新连接可执行文件。为此必须先在系统中安装兼容库和相

26、应工具。这是权宜之计,而且仅对RedHat有效。root用户rpm ivh tcl-8.0.3-20.i386.rpm Oracle的Intelligent Agent要使用rpm ivh compat-binutils-5.2-2.9.1.0.23.1.i386.rpmrpm ivh compat-glibc-5.2-2.0.7.1.i386.rpmrpm ivh compat-egcs-5.2-1.0.3a.1.i386.rpmrpm ivh compat-egcs-c+-5.2-1.0.3a.1.i386.rpmrpm ivh compat-libs-5.2-1.i386.rpm版本号可

27、略有差异oracle用户安装Oracle8.0.5但不创建instance,如选择安装文档,则会产生如下错误:A write error occurred while try to copy /home/oracle/setup_oracle/unixdoc/server.805/install/lnx_server.805.map to /oracle/product/8.0.5/doc/server.805/install/lnx_server.805(No such file or directory).这是安装程序的一个bug不能创建目录。可进入$ORACLE_HOME/doc,mkd

28、ir p server.805/install,再选择Retry从cd /patchglibcpatch.sh经过一段时间后,看到“Applied glibc patch for Oracle 8.0.5.x successfully”,表明补丁成功。此时就能成功创建instance。1.4.2.2 Oracle 8i推荐使用典型安装,否则会产生难以预料的错误。1.4.3 kernel 2.4 & glibc 2.2代表产品为Red Hat Linux 7.3,SuSE Linux 7.3。1.4.3.1 Oracle 8i与Oracle8在RedHat Linux 6.2上安装所遇到的问题一

29、样,Oracle 8i使用的glibc 2.1与操作系统自带的glibc 2.2不能兼容,解决的方法也一样,要安装glibc 2.1的兼容库,并重新连接Oracle各组件。除非万不得已,不建议使用兼容方式,因此省略安装步骤,可参阅网上有关文档。1.4.3.2 Oracle 9iRedHat 7.3修改共享内存最大尺寸限制:在系统初始化脚本/etc/rc.d/rc.sysinit中加入:echo 2147483648 /proc/sys/kernel/shmmax。修改信号量参数:在系统初始化脚本/etc/rc.d/rc.sysinit中加入:echo 250 32000 100 128 /pr

30、oc/sys/kernel/sem。这4个参数依次为SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量),事实上只有SEMOP是需要调整的。重启计算机。在连接可执行文件过程中,会发生中断,打开$ORACLE_HOME/ctx/lib/env_ctx.mk,找到INSO_LINK,在-L$(CTXLIB) -L$(LDLIBFLAG)m后加入-L$(LDLIBFLAG)dl,重试。SuSE 7.3与RedHat类似,但SuSE没有/etc/rc.d/rc.sysinit,笔者选择/etc

31、/rc.d/rc,将核心参数修改添加到最后exit语句之前。安装过程中没有发生任何问题。1.5 SolarisOracle 8i在Solaris 7,8 Intel Platform上均能顺利安装,未测试Solaris Sparc Platform。Oracle 9i目前无Solaris Intel Platform上的版本,由于条件所限,未测试在Solaris Sparc Platform上的Oracle 9i。修改下列核心参数:核心参数参考值解释Shmmax物理内存/2共享内存段最大尺寸Shmmin1共享内存段最小尺寸Shmmni100系统共享内存段标识最大数目Shmseg10每个进程所能

32、使用最大共享内存段数目Semmni100系统信号量标识最大数目Semmslinit.ora.processes+10每个信号量标识包含的信号量数目Semmnssum(init.ora.processes)*10+max(init.ora.processes)+count(init.ora)*10系统信号量最大数目Semopm100每个semop调用最大操作数目rlim_fd_max4096系统文件句柄最大数目rlim_fd_cur1024每个进程文件句柄最大数目修改/etc/system,并重启使核心参数生效例:set shmsys:shminfo_shmmax=2147483648set s

33、hmsys:shminfo_shmmin=1set shmsys:shminfo_shmmni=100set shmsys:shminfo_shmseg=10set semsys:seminfo_semmni=200set semsys:seminfo_semmsl=200set semsys:seminfo_semmns=1000set semsys:seminfo_semopm=100set semsys:seminfo_semmap=200set semsys:seminfo_semmnu=250set semsys:seminfo_semvmx=32767set msgsys:msgi

34、nfo_msgmni=200set msgsys:msginfo_msgmap=200set msgsys:msginfo_msgmax=65536set msgsys:msginfo_msgmnb=655360set msgsys:msginfo_msgssz=64set msgsys:msginfo_msgtql=1000set msgsys:msginfo_msgseg=16384set rlim_fd_max=4096set rlim_fd_cur=1024参见solaris_7_8/system注意:一定要先重建好kernel后再安装,因为oracle安装时根据kernel动态连接程

35、序,如果先安装oracle,即使随后正确调整kernel,也会带来许多问题,如oracle进程不能拉起,instance创建失败等。在kernel参数中,对数据库运行影响最大的主要是SHMMAX,SEMMNS,SEMMNI,SEMMSL,SHMMAX取内存一半即可,SEMMNS理论上应等于SEMMNI*SEMMSL,实际取一个较大值即可。SEMMNS: 信号量最大个数,有些系统可忽略,因为他与SEMMNI,SEMMSL有关。2 创建所有参见内容都在附件01_install_02_create_03_init/下。以oracle用户进行操作,设定数据库实例名为oradb(长度建议不要超过8个字符

36、)。2.1 Oracle 8 & 8i2.1.1 工具创建Oracle 8运行$ORACLE_HOME/bin/orainst(安装数据库时必须选中oracle installer),选择create database object,安装界面中选Oracle Enterprise Server(RDBMS) mount point暂为$ORACLE_BASE,字符集为ZHS16CGB231280或ZHS16GBK,调整system,tools,users,rbs,temp,redolog等尺寸。创建过程中会提示输入osdba,osoper的UNIX组,这是向instance表明此组的成员享有角

37、色sysdba或sysoper的权限,从而用connect / as sysdba替换掉connect internalOracle 8i进入X WINDOW,运行dbassist2.1.2 手工创建任何工具都有其局限性,熟练的数据库管理员可采用手工方法创建数据库,以增加对系统的灵活控制。对于手工建库Oracle 8与Oracle 8i的区别主要是建立的数据字典和存储过程有些不同,Oracle8i的dbassistant可以生成建库脚本供以后使用。取得/8i/initoradb.ora,编辑如db_name,control_file,dump_dest等参数,以符合实际情况。如不需要生成rem

38、ote_login_passwordfile,可在initoradb.ora中设remote_login_passwordfile=none;如需要,在initoradb.ora中设remote_login_passwordfile=exclusive,运行orapwd file= password=必须创建新生成文件所要用到的目录,如在配置文件中指定的bdump,cdump,udump等目录,以及数据文件存储目录。将initoradb.ora转移到$ORACLE_BASE/admin/oradb/pfile/,并连接到$ORACLE_HOME/dbs/initoradb.ora。ln s $

39、ORACLE_BASE/admin/oradb/pfile/initoradb.ora $ORACLE_HOME/dbs/initoradb.ora取得8i/createdb.sh,编辑如pfile,数据文件目录等参数,以符合实际情况,并转移到$ORACLE_BASE/admin/oradb/create/下,执行。相关系统表:v$databasev$datafile(file#,ts#,name)v$tablespace(ts#,name)v$parameter(SQLshow parameter)v$sga(SQLshow sga)2.1.3 MTS(multi-threaded serv

40、er)Oracle8使用两种配置模式:dedicated server(专用模式)和shared server(即multi-threaded server共享模式),缺省使用专用模式。在连接数不很大且保持长期连接的情况下,专用模式为每个连接设立一个专用oracle服务进程,以保持较高的性能和稳定性。而当连接数上升到非常高的数目且不保持长期连接时,数据库管理开销增大,并且占用大量系统资源,给操作系统形成带来极大的压力。在这种情况下,共享模式更为有利,它通过缓冲池和预先设定数目的server提供服务,每个连接不再有专用的oracle服务进程,每次SQL操作由分配器(dispatcher)确定or

41、acle服务进程。multi-thread仅表示分配器展开的多个服务流程,并非操作系统意义上的多线程配置: initoradb.ora加入mts_dispatchers = “(address=(protocol=TCP)(dispatchers=10)” #初始分配器数量mts_max_dispatchers = 15 #最大分配器数量mts_servers = 50 #初始服务进程数量mts_max_servers = 80 #最大服务进程数量mts_service = oradb3#MTS方式下对外提供的数据库服务,非service_name表明instance能够提供MTS服务,不意味

42、着取消dedicated方式 listener.ora应删除所有SID_LIST,SID_LIST的存在决定LISTENER以dedicated还是shared方式启动oracle连接。如SID_LIST存在,LISTENER不再接受instance的登记,以dedicated方式启动oracle连接; 如SID_LIST不存在,LISTENER启动时不为任何instance服务,由instance来登记MTS service,以shared方式启动oracle连接 clientMTS在client端配置颇为怪诞,在tnsnames.ora中的host一定要写数据库server的名字,而且必须

43、作全名解析,似乎server端接收到client端请求后会将主机字符串返回,应此client端必须能够解析,否则会报出诸如“database service not exist”的错误tnsnames.ora =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST= dbserver)(PORT = 1521) )(CONNECT_DATA =(SERVICE_NAME = oradb)/etc/hosts10.0.0.1dbserver启动:先起LISTENER,后起instance以下步骤均在数据库open状态下,由system

44、用户完成2.1.4 调整临时表空间alter tablespace temp temporary;#Oracle8的orainst没有将temp的缺省值permanent改为temporary,这样用户在temp上暂存的数据均为永久对象,很快将temp空间耗完。Oracle8i已修正。SQLalter tablespace temp default storage (initial 128k next 128k maxextents 5000 pctincrease 0);SQL查询操作如group by,order by,distinct,join等需要在临时段上展开数据,须充分考虑临时段的大小。如果实例启动参数指定hash_join_enabled=true(缺省为true),当oracle选择以hash join方式进行表与表的联接,oracle根据查询操作的实际情况计算出hash_multiblock_io_count,此参数从属于session,平时显示为0,即hash join一次I/O读写需要的连续数据空间。这样当此参数大于临时段的next扩展块时,hash join操作会中断。如果预知联接表的规模比较巨大,可使用alter tablespace temp default storage(next )将next值设为较

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁