欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    ORACLE傻瓜手册.docx

    • 资源ID:44028797       资源大小:41.90KB        全文页数:29页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ORACLE傻瓜手册.docx

    ORACLE傻瓜手册To be DBA or not to be, that is NOT the question.- Arron 作者允许自由散发此文档,但对其进行的任何修改应通知作者,以便于维护版本。 Oracle是一头恐龙,而且随着版本号的不断上升,体系越来越庞大,功能越来越复 杂,以至于变成了一座偶像,使许多IT技术人员心存畏惧。然而偶像终究是要打碎的, 技术的生命力只有在人民心中才能延续成长。笔者从事过一段时间的Oracle数据库管理 和开发,深感Oracle文档虽全,但过于琐碎芜杂,实用的精华淹没于细节罗列的大海之 中,不能迅速有效地投入应用,而且缺少实践经验的总结。高手牛人疏于为文,知识由 于没有共享流传而不能起到倍增的效果,令我等后辈不得不重起炉灶,惨淡经营,期间 的经验教训虽可宝贵,却实出无奈。笔者虽愚,愿尽力而为,集思广益,累积成文。希 望能借助大家的合力,将有关Oracle的知识化繁为简,化神秘为普及,从而提高软件应 用项目的水平。 作者:周云飞 email:zhou_arron Oracle8以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。如果不作特别说明,文中凡出现Oracle 8i均指8.1.7版。 Oracle9i目前出到第二版,版本号为9.2,简称Oracle 9i。如果不作特别说明,文中凡出现Oracle 9i均指9.2版。 本手册介绍Oracle配置的基本方法,描述的是"所然"而不是"所以然"。全部操作以命令行方式出现,不涉及GUI(只有白刃战才是真正的战斗)。鉴于大家对Windows已经十分熟悉,同时为了避免Windows和Unix两种截然不同的使用和开发风格给描述带来的复杂性,所以本手册不介绍在Windows上的Oracle(上帝的归上帝,恺撒的归恺撒)。 文中所有例子以oradb作为数据库实例名,数据库用户dbuser,口令oracle。如果不作特别说明,关于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 ( no number(12) not null, name char(20) not null, age number(6) not null, duty char(1) not null, salary number(12) not null, upd_ts date not null, primary key (no) ); 开发中对应emp表结构,定义其宿主结构(参见附录08_proc/proc/single/db.h): typedef struct double no; char name21; int age; char duty2; double salary; char upd_ts15; emp_t; 修改历史: 2000/07 版本1.0 2000/09 版本1.1 增加Linux安装,export,import使用,数据库监控及优化(utlbstat,utlestat,分析session),语言时间环境变量设置,Oracle8.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 修改数据库优化,使之较系统化;增加应用开发中多线程下的数据库连接 2002/04 版本1.5 修改数据库优化、多线程条件下数据库编程;分离附录的程序范例 2002/12 版本2.0 重新安排内容,增加Oracle 9i安装配置、OCI开发、mysql安装配置开发,补充数据库优化、PROC开发 ORACLE傻瓜手册 1 1 安装 6 1.1 通用设置 6 1.2 UnixWare7 7 1.2.1 Oracle 8 7 1.3 HP-UX 8 1.3.1 Oracle8 8 1.4 Linux 9 1.4.1 kernel 2.0 & glibc 2.0 9 1.4.2 kernel 2.2 & glibc 2.1 9 1.4.3 kernel 2.4 & glibc 2.2 10 1.5 Solaris 11 2 创建 13 2.1 Oracle 8 & 8i 13 2.1.1 工具创建 13 2.1.2 手工创建 13 2.1.3 MTS(multi-threaded server) 14 2.1.4 调整临时表空间 15 2.1.5 调整回滚表空间 15 2.1.6 调整日志 15 2.1.7 调整用户表空间 16 2.1.8 创建用户 17 2.1.9 创建数据对象 17 2.1.10 创建只读用户 18 2.1.11 启动及关闭数据库实例 19 2.1.12 网络配置 19 2.2 Oracle 9i 21 2.2.1 手工创建 21 2.2.2 创建用户表空间 22 3 初始化文件配置 23 3.1 Oracle 8 & 8i 23 3.2 Oracle 9i 25 4 工具 26 4.1 sqlldr 26 4.2 exp 27 4.3 imp 28 4.4 sqlplus 29 4.4.1 命令行参数 29 4.4.2 提示符命令 29 4.4.3 SET选项 30 4.4.4 例子 30 5 备份及恢复 32 5.1 export与import方式 32 5.2 冷备份 32 5.3 联机全备份+日志备份 32 5.3.1 设置 32 5.3.2 步骤 33 5.3.3 恢复 33 5.4 注意要点 34 6 数据库优化 35 6.1 通用设置 35 6.1.1 硬件配置 35 6.1.2 应用配置 35 6.1.3 日常性能监控 36 6.2 实战分析 36 6.2.1 总体分析 37 6.2.2 详细分析 37 6.3 专题分析 39 6.3.1 巨表查询 39 6.3.2 对比测试 41 6.3.3 上下载数据 44 6.3.4 回滚空间快照陈旧(snapshot too old) 46 7 常用技巧 48 7.1 增加、更改和删除域 48 7.2 删除冗余记录 49 7.3 更改字符集 49 7.4 表数据迁移 50 7.5 成批生成数据 50 7.6 注意要点 51 8 嵌入式SQL(C) 53 8.1 编译 53 8.2 SQL语句 54 8.2.1 内部类型与宿主类型对应 54 8.2.2 连接和断开 54 8.2.3 事务 55 8.2.4 标准SQL语句 55 8.2.5 动态SQL语句 55 8.2.6 数组操作 56 8.3 编程框架 58 8.3.1 总体原则 58 8.3.2 单线程和多线程 59 8.3.3 开发工具 60 9 OCI-Oracle Call Interface 61 9.1 连接和断开 61 9.1.1 句柄层次 61 9.1.2 连接流程 61 9.1.3 断开流程 62 9.2 SQL语句 62 9.2.1 事务 62 9.2.2 无结果集的sql语句 63 9.2.3 有结果集的sql语句 63 9.2.4 LOB 65 9.3 编程框架 67 9.3.1 总体原则 67 9.3.2 sql语句 68 9.3.3 函数 69 10 附录-MYSQL 72 10.1 安装配置 72 10.2 管理 72 10.2.1 初始调整 72 10.2.2 建立用户对象 73 10.3 开发 73 10.3.1 连接和断开 73 10.3.2 无结果集的sql语句 74 10.3.3 有结果集的sql 74 10.3.4 错误处理 75 1 安装 所有参见内容都在附件01_install_02_create_03_init/下。 1.1 通用设置 文件系统swap 创建文件系统时应考虑Oracle对swap的需要,大约每个oracle服务进程将占用10-20Mswap空间,通常操作系统建议2倍于内存的swap空间,数据库系统可能要求更多些。 操作系统用户和环境变量 Oracle文档要求为数据库系统的管理和使用建立3个或更多的组,但这个需求是可以忽略的,实践中并没有体现其必要性。为简化操作起见,只建立dba组,即拥有更新软件和管理最高权限(SYSDBA)的操作系统用户组,此组称为OSDBA,属于此组的用户可以SYSDBA身份登录进任何一个数据库实例,简单的,只建立一个用户,习惯上使用oracle的名称。 $ groupadd dba $ useradd -g dba -d /home/oracle -m -s /bin/bash oracle 确定oracle 系统的根目录ORACLE_BASE,如/opt/oracle,所有的软件和配置都在这个目录下展开,虽然并非一定需要如此,但这是一个良好的习惯。同时确定软件安装的起始点ORACLE_HOME,通常在ORACLE_BASE下。 修改oracle用户的.profile,加入以下各行,或者修改/etc/profile,使每一个用户都获得环境变量设置 umask 022 ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/product/版本号(如8.0.5,8.1.7,9.2.0等) ORACLE_SID=oradb ORACLE_TERM=ansi 仅与Oracle8字符界面安装有关 ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data 字符集支持 NLS_LANG=American_America.ZHS16CGB231280(Oracle8支持)|ZHS16GBK(Oracle8i支持)|ZHS16GB18030(Oracle9i支持) NLS_DATE_FORMAT=YYYYMMDDHH24MISS LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH 动态连接路径,Unixware中要确保/usr/ucb/lib在/usr/ccs/lib之后出现 TMPDIR=/tmp 安装中Oracle会在此目录下存储相当数量的文件,所以TMPDIR所在的磁盘分区要确保空闲空间的大小,至少在1G左右 PATH=$PATH:$ORACLE_HOME/bin export 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(ZHS16GBK) "American"指显示信息时所用的语言,窃以为凭大家的英语水平足够应付,如改为SIMPLIFIED CHINESE,在不带中文支持的终端上就没人能看懂了。 "America"指地区 "ZHS16CGB231280"指Client工具使用的字符集,一般使用"ZHS16CGB231280",Oracle8i已支持到"ZHS16GBK" NLS_DATE_FORMAT=YYYYMMDDHH24MISS Oracle的date类型过于灵活,为统一时间格式,利于编程,应将时间的输入输出格式限定为14位字符串,如"20000101235959" 据oracle文档,此参数可按照session,操作系统用户环境,init.ora由高到低的优先级顺序设置,依次覆盖。 相关系统表: v$nls_parameters v$nls_valid_values X-Window Oracle 8的安装程序是光盘mount点/bin/orainst,使用字符界面,不用考虑X-Window。 Oracle 8i和9i使用光盘mount点/runInstaller进行安装,它是用Java编写的图形界面,对中文处理有问题,所以应在进入X-Window前确保语言(LANG)和地域(LC_ALL,LC_TYPE,)环境变量不是中文。 LANG=C LC_ALL=C 安装选项 Oracle 8i的主要软件包在安装选项Enterprise中,但并不包括proc,必须进行第二次安装,可选择安装选项Client中的programmer。 Oracle 9i的主要软件包在安装选项Enterprise安装选项中,但并不包括proc,必须进行第二次安装,一定要选择安装选项Client中的Administrator。runInstaller的稳定性欠佳,建议每次安装结束后,先退出,再进行下一次安装。 1.2 UnixWare7 1.2.1 Oracle 8 确认操作系统的交换分区swap不少于350M 认为该打的补丁统统打上,宁滥毋缺。UnixWare7.0.1必须打的补丁为ptf7033,ptf7051,ptf7052,ptf7068,ptf7096。 将/etc/default/login中的ulimit设为大于2113674(稍大一点即可,太大会有问题) 将/etc/conf/node.d/async中的600改为666 修改以下核心参数 核心参数 必需值 解释 SHMMAX 2147483647 共享内存段最大尺寸 SHMMNI 100 系统共享内存段标识最大数目 SHMSEG 15 每个进程所能使用最大共享内存段数目 SEMMNI 100 核心信号量标识最大数目 SEMMSL 150 每个信号量标识包含的信号量个数 SCORLIM 0X7FFFFFFF Core文件最大尺寸 HCORLIM 0X7FFFFFFF SDATLIM 0X7FFFFFFF 进程堆最大尺寸 HDATLIM 0X7FFFFFFF SVMMLIM 0X7FFFFFFF 进程最大映射地址 HVMMLIM 0X7FFFFFFF SFSZLIM 0X7FFFFFFF 进程文件最大偏移量 HFSZLIM 0X7FFFFFFF SFNOLIM 128 进程能打开的最大文件个数 HFNOLIM 2048 NPROC 20+(8*MAXUSERS) MAX:125000 ARG_MAX 1,048,576 NPBUF 100 I/O缓冲区数目 MAXUP 1000 用户同时使用的最大进程个数 STRTHRESH 0X500000 流能使用的最大字节数 为优化应用系统修改以下核心参数 核心参数 参考值 解释 MSGMAX 8192 消息最大尺寸 MSGMNB 81920 消息队列尺寸 MSGMNI 2048 系统能并存的最大消息队列数目 MSGSSZ 16384 MSGTQL 4096 系统能并用的消息头数目 SEMMNI 1024 SEMMSL 150 也可通过编辑/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_1 root用户,ORACLE_OWNER=oracle,执行光盘上orainst中oratab.sh,建立/var/opt/oracle/oratab 安装时,选custom方式,安装时不建立数据库,字符集可选Simplified Chinese 1.3 HP-UX 1.3.1 Oracle 8 流程大致与unixware相同,调整kernel参数可通过sam,选择/Kernel Configuration/Actions/Apply Tuned Parameter Set/OLTP Database Server System,另外为提高I/O能力,还需调整以下参数: 核心参数 参考值 解释 bufpages 61992 缓冲页 dbc_max_pct 10 动态缓存占内存最大百分比 dbc_min_pct 10 动态缓存占内存最小百分比 nbuf 设定共享库目录SHLIB_PATH,不是LD_LIBRARY_PATH SHLIB_PATH=$SHLIB_PATH:$ORACLE_HOME/lib;export SHLIB_PATH 1.4 Linux 1.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 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 kernel 2.2 & glibc 2.1 代表产品为Red Hat Linux 6.2。 修改共享内存最大尺寸限制: 在系统初始化脚本/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 本来已经很少有人在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重新连接可执行文件。为此必须先在系统中安装兼容库和相应工具。这是权宜之计,而且仅对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.rpm rpm -ivh compat-glibc-5.2-2.0.7.1.i386.rpm rpm -ivh compat-egcs-5.2-1.0.3a.1.i386.rpm rpm -ivh compat-egcs-c+-5.2-1.0.3a.1.i386.rpm rpm -ivh compat-libs-5.2-1.i386.rpm 版本号可略有差异 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,mkdir -p server.805/install,再选择Retry 从 cd /patch glibcpatch.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上安装所遇到的问题一样,Oracle 8i使用的glibc 2.1与操作系统自带的glibc 2.2不能兼容,解决的方法也一样,要安装glibc 2.1的兼容库,并重新连接Oracle各组件。 除非万不得已,不建议使用兼容方式,因此省略安装步骤,可参阅网上有关文档。 1.4.3.2 Oracle 9i RedHat 7.3 修改共享内存最大尺寸限制: 在系统初始化脚本/etc/rc.d/rc.sysinit中加入: echo 2147483648 >/proc/sys/kernel/shmmax。 修改信号量参数: 在系统初始化脚本/etc/rc.d/rc.sysinit中加入: echo 250 32000 100 128 >/proc/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/rc.d/rc,将核心参数修改添加到最后exit语句之前。 安装过程中没有发生任何问题。 1.5 Solaris Oracle 8i在Solaris 7,8 Intel Platform上均能顺利安装,未测试Solaris Sparc Platform。 Oracle 9i目前无Solaris Intel Platform上的版本,由于条件所限,未测试在Solaris Sparc Platform上的Oracle 9i。 修改下列核心参数: 核心参数 参考值 解释 shmmax 物理内存/2 共享内存段最大尺寸 shmmin 1 共享内存段最小尺寸 shmmni 100 系统共享内存段标识最大数目 shmseg 10 每个进程所能使用最大共享内存段数目 semmni 100 系统信号量标识最大数目 semmsl init.ora.processes+10 每个信号量标识包含的信号量数目 semmns sum(init.ora.processes)*10+max(init.ora.processes)+count(init.ora)*10 系统信号量最大数目 semopm 100 每个semop调用最大操作数目 rlim_fd_max 4096 系统文件句柄最大数目 rlim_fd_cur 1024 每个进程文件句柄最大数目 修改/etc/system,并重启使核心参数生效 例: set shmsys:shminfo_shmmax=2147483648 set shmsys:shminfo_shmmin=1 set shmsys:shminfo_shmmni=100 set shmsys:shminfo_shmseg=10 set semsys:seminfo_semmni=200 set semsys:seminfo_semmsl=200 set semsys:seminfo_semmns=1000 set semsys:seminfo_semopm=100 set semsys:seminfo_semmap=200 set semsys:seminfo_semmnu=250 set semsys:seminfo_semvmx=32767 set msgsys:msginfo_msgmni=200 set msgsys:msginfo_msgmap=200 set msgsys:msginfo_msgmax=65536 set msgsys:msginfo_msgmnb=655360 set msgsys:msginfo_msgssz=64 set msgsys:msginfo_msgtql=1000 set msgsys:msginfo_msgseg=16384 set rlim_fd_max=4096 set rlim_fd_cur=1024 参见solaris_7_8/system 注意: 一定要先重建好kernel后再安装,因为oracle安装时根据kernel动态连接程序,如果先安装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个字符)。 2.1 Oracle 8 & 8i 2.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表明此组的成员享有角色sysdba或sysoper的权限,从而用connect / as sysdba替换掉connect internal Oracle 8i 进入X WINDOW,运行dbassist 2.1.2 手工创建 任何工具都有其局限性,熟练的数据库管理员可采用手工方法创建数据库,以增加对系统的灵活控制。 对于手工建库Oracle 8与Oracle 8i的区别主要是建立的数据字典和存储过程有些不同,Oracle8i的dbassistant可以生成建库脚本供以后使用。 取得/8i/initoradb.ora,编辑如db_name,control_file,dump_dest等参数,以符合实际情况。如不需要生成remote_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 $ORACLE_BASE/admin/oradb/pfile/initoradb.ora $ORACLE_HOME/dbs/initoradb.ora 取得8i/createdb.sh,编辑如pfile,数据文件目录等参数,以符合实际情况,并转移到$ORACLE_BASE/admin/oradb/create/下,执行。 相关系统表: v$database v$datafile(file#,ts#,name) v$tablespace(ts#,name) v$parameter(SQL>show parameter) v$sga(SQL>show sga) 2.1.3 MTS(multi-threaded server) Oracle8使用两种配置模式:dedicated server(专用模式)和shared server(即multi-threaded server共享模式),缺省使用专用模式。在连接数不很大且保持长期连接的情况下,专用模式为每个连接设立一个专用oracle服务进程,以保持较高的性能和稳定性。而当连接数上升到非常高的数目且不保持长期连接时,数据库管理开销增大,并且占用大量系统资源,给操作系统形成带来极大的压力。在这种情况下,共享模式更为有利,它通过缓冲池和预先设定数目的server提供服务,每个连接不再有专用的oracle服务进程,每次SQL操作由分配器(dispatcher)确定oracle服务进程。 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服务,不意味着取消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连接 client MTS在client端配置颇为怪诞,在tnsnames.ora中的host一定要写数据库server的名字,而且必须作全名解析,似乎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/hosts 10.0.0.1 dbserver 启动:先起LISTENER,后起instance 以下步骤均在数据库open状态下,由system用户完成 2.1.4 调整临时表空间 alter tablespace temp temporary; #Oracle8的orains

    注意事项

    本文(ORACLE傻瓜手册.docx)为本站会员(飞****)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开