十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
应该怎么样安装数据库,从安装软件到创建数据库?对于这个问题,或许有的人不屑一顾,因为他们觉得这没有丝毫问题;同时有另一部分人,觉得这是个大问题。
成都创新互联服务项目包括东昌网站建设、东昌网站制作、东昌网页制作以及东昌网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,东昌网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到东昌省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
在安装Oracle上,通常会有几种类型的人:
完全抓不着头脑,不知道怎么安装,这通常是初学者,连Linux/Unix都不太熟悉。
很少安装Oracle的人,但是知道对照文档一步一步操作,出了错也知道上google、baidu和metalink查找解决方案。
Oracle老手,安装数据库不需要任何文档,对每个步骤也很熟悉。
对Oracle的安装非常熟悉,但是在安装时仍然按文档一步一步操作。
对我个人来说,我是最后一种类型的人。我也自认为安装了不少的数据库,覆盖了大部分的平台和操作系统。但我安装的时候,仍然会不嫌麻烦的一步一步操作按文档操作。在安装数据库软件包括建库,基本上没有遇到过什么问题。因为我也见过
很多朋友,被安装这一问题折腾得焦头烂额,特别是在安装RAC的时候,这里只是写一写我自己的一些做法,仅供参考,毕竟每个人都有自己的习惯和做法。
本文主要描述Linux/Unix下的Oracle安装,不涉及Windows系统下的安装。
我的习惯做法:
平时注意收集安装文档,包括oracle online document(所谓的官方文档),metalink上的,还有IBM、HP这些公司与Oracle合作部门提供的文档。oracle online document中安装部分没事看一遍就可以了,但是metalink上很多文档详细地记录了版本的兼容性,安装时可能出现的问题以及解决办法等等,比如很实用的文档:《Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]》、《Linux OS Requirements Reference List for Database Server [ID 851598.1]》、《Status of Certification of Oracle Clusterware with HACMP [ID 404474.1]》。而其他厂商的文档包括:《CookBook_V3.2_Oracle_9i_RAC_AIX5L》、《COOKBOOK_Oracle CTC RAC10g R2 on HP-UX》、《COOKBOOK-V2.0-10gRAC R2 - ASM - AIX5L - SAN Storage》如此等等,还包括网上一些朋友自己撰写的安装文档。在参考这些文档时,需要注意的是,一定要明白每一个步骤其目的,有什么作用。
根据以上提到的文档,进行整理,形成自己的文档。我在前面说到,我安装时一步一步按文档操作,是指的按我自己的文档,而不是去参考前面提到的若干文档。在自己的文档中,甚至提供了详细的命令,这样在安装的时候对某些不熟悉的命令不至于现查资料。
深入理解文档中提到的各个参数、各个命令的作用。这不光是对安装,而对于Oracle数据库的更深入理解也是大有好处的。
安装Oracle数据库时,在安装软件之前,通常有下面的操作:
检查操作系统版本、相应组件是否安装,是否有安装好文档中指定的补丁,也包括c编译器或c语行环境,这些对Linux下的安装来说犹为重要。
检查文件系统空间,特别是/tmp临时文件系统
检查memory大小,特别是swap的大小。特别是在HP-UX下,swap的管理方式与其他系统有些不一样(此处不再细述),最
好能够达到物理内存大小,对于特别大的物理内存,至少也要达到一半。
检查主机时区,时间设置。这一步通常被很多人忽略。
检查主机名设置,有的安装系统相当不负责任,直接将主机取名localhost。
检查异步IO设置。
检查网络设置,包括/etc/hosts文件的设置,特别是对RAC数据库犹为重要。
检查内核参数,特别是共享内存、信号量、用户最多可运行进程数这些参数。
oracle用户创建后,注意编辑profile文件,设置相应的环境变量,注意不同的平台,相同意义的环境变量却有不同的名字,比如linux下的LD_LIBRARY_PATH和AIX下的LIBPATH。经常见到有的系统,oracle的PATH都没有设置,这样登录后操作相当不方便。
对Oracle用户设置limit,通常是直接编辑/etc/security/limits.conf文件。
给Oracle用户一些特定的权限,比如HP-UX下修改/etc/privgroup文件,10.2.0.4 for AIX下给用户CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, CAP_PROPAGATE 这样的权限等等。
对于RAC,还需要设置rsh或ssh
至于安装的其他步骤,不是本文所要讲的主要内容,在此略过。
还要提及一点,安装的时候对于目录的选择,可以按照OFA的标准做法,也可以按照使用部门的习惯,建议使用OFA。经常有见到一些乱七八糟的目录,让人好找,这种做法不太好。
说到安装,不能不提到打补丁。在安装完成后,最好是打上较新的补丁包以及metlink上提到的一些建议打的补丁。而等到系统正式使用,发现问题再打补丁,其代价就昂贵得多。
由于安装Oracle软件以及升级版本和打补丁,比较耗时,有的朋友就喜欢下面的做法:安装好软件,打上补丁,然后tar成一个包,保存在自己的存储介质上,下次在其他主机上安装时,直接用这个tar包解开。这种做法可以省一些安装软件的时间,但是需要tar包的环境是否一致。我曾遇到过下面的问题:
某套新装9208的库,报ORA-600[504]错误,通过在metalink上搜索发现其最符合的一个BUG对应的补丁已经打上。其他类似环境下,包括有同样的补丁,却没有这样的错误。我找了一台操作系统完全一样的测试主机,安装与有问题库的版本完全一样的版本和补丁,却也没有这样的错误;接下来我将出问题的Oracle home 复制到测试主机上,结果问题重现了,看起来问题在Oracle软件上。我尝试执行relink操作,居然失败。发现这份Oracle在relink包括有HA代码,实际上这是一个单机的环境,也没有安装HACMP。最后,使用rac_off选项,再重新relink,新生成的oracle,不再出现这样的问题。在有问题的生产主机上重新relink后,问题解决。
出现问题的Oracle,就是通过解tar文件来安装的,在主机上我们也发现了以前安装时保留的tar文件。因此通过这种方式安装的,建议进行relink。
下面再谈谈创建数据库的一些个人经验:
尽量使用new database(9i)或者custom database(10g)这样的选项来创建库,建库时只安装必须的组件,这种做法有3个主要好处:更安全、更稳定、以后升级时所花的时间更少。
创建数据库时注意选择正确的字符集。
如果是选用模板创建数据库,注意模板有可能不与Oracle软件软件版本相匹配。同时在建库完成后需要运行相应的脚本,比如在安装了PSU的情况下,那么使用模板建库,得需要运行PSU带的脚本(具体参考PSU的README)。
在打完补丁之后,在创建数据库,避免在升级软件之后还要升级数据库。
建完库后,建议设置一下大体上合理的数据库参数。
希望本文能够对Oracle数据库的安装不太熟悉的朋友一些帮助。
如果你系统是window的话,那么就按以下方面即可,(我每次都这样用,放心不会有问题)。
1.停止所有与ORACLE相关的服务。
2. 使用OUI(Oracle Universal Installer)卸载Oracle软件。
“开始”-“程序”-“Oracle-OraDb110g_home1|Oracle installation product|Universal installer.
3.删除注册表内容。
运行regedit命令,删除下面内容:HKEY_LOCAL_MACHINE|SOFTWARE|ORACLE注册表键,删除此键。
HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除Services键下所有以oracle为首的键。
HKEY_LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services|Eventlog|Application, 删除此键下所有以oracle为首的键。
HKEY_CLASSES_ROOT,删除此键下所有以Ora,Oracle,Orcl,EnumOra 为前缀的键。
HKEY_CURRENT_USER|Software| Microsoft|Windows|CurrentVersion|Explorer|MenuOrder|Start Menu|Programs, 删除此键下所有以oracle为首的键。
HKEY_LOCAL_MACHINE|SOFTWARE|ODBC|ODBCINST.INI注册表键,删除了Microsoft ODBC FOR ORACLE注册表键以外的所有有Oracle字样的键值。
HKEY_我的系统上没找到相关的项
LOCAL_MACHINE|SYSTEM|CurrentControlSet|Services,删除以Oracle或OraWeb为前缀的键。
4. 删除环境变量。
删除环境变量CLASSPATH,PATH中含有Oracle字样的值。
5.最后在文件系统内删除ORACLE相关的文件及目录:删除系统盘符:\Progrm Files\Oracle目录;删除ORACLE_BASE目录。
我无法删除D:\oracle目录,重新启动机器之后才删除。
一种方法是重装数据库后用IMP来导入原来的数据,但使用这种方法的前提是你有以前数据的备份,并且这种方法还有许多不足的地方,如备份过旧,可能会丢失许多数据、导入数据太长等。
一般情况下我们可以采用重用原来的数据库的方法来恢复。在讲步骤前先说说这种方法的原理。
数 据库与实例对应,当数据库服务启动后,我们可以用SQLPLUS "/AS SYSDBA"方法连接到一个空闲的例程,当执行startup启动数据库时,首先会在%ORACLE_HOME%/database下找当前SID对应 的参数文件(PFILE或者SPFILE)和密码文件,然后启动例程;接着根据参数文件记录的信息找到控制文件,读取控制文件的信息,这就是mount数 据库了;最终根据控制文件的信息打开数据库。这个过程相当于对数据库着了一次冷备份的恢复。
下面的具体步骤:(我们假设原库的所有相关文件都存在)1、安装数据库软件只需安装同版本的数据库软件即可,不需要创建数据库。最好安装在和原来数据库同样的%ORACLE_HOME%下,省得还要修改参数文件路径等。(直接覆盖原来的oracle即可)再次强调,只安装软件,不创建数据库,否则将数据库软件安装在同样的目录下旧的部分数据文件会被覆盖,这样数据库也不能被恢复了。
2、新建一个实例在cmd窗口执行oradim -new -sid xinhai注意,这个SID名称最好与你以前的SID一样,否则在启动的数据需要指明pfile,并且需要重建密码文件,比较麻烦。(当然,如果你就不想用原来的SID也可以,把参数文件、密码文件的名称都改成与新SID对应的名称)。
3、启动数据库做完以上两步,就可以启动数据库了。用net start 检查oracle服务是否已经启动,如果oracle服务没有启动,则在cmd下运行如下命令:net start oracleservicexinhai然后设定必要的环境变量,在cmd窗口运行set ORACLE_SID=xinhai
接着连接数据库sqlplus "/as sysdba"startup
如果正常的话,数据库应该就能起来了
4、启动监听lsnrctl start
5、后续工作经过以上几步后,基本上就可以使用oracle了,但是使用起来有点不方便,如每次在cmd中启动数据库都需要先SET ORACLE_SID、在本机连接数据库也都需要加上@TNSNAME等。我们可以修改注册表,添加ORACLE_SID的信息,避免这些麻烦。
在注册表的HKEY_LOCAL_MACHINESOFTWAREORACLE下新建字符串值,名称为ORACLE_SID,值为xinhai。也可以将以下内容保持成一个后缀名为reg的文件(文件名随便起),然后双击,即可将信息导入到注册表中。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREORACLE]"ORACLE_SID"="xinhai"
注意,以上步骤都是在%ORACLE_HOME%、%ORACLE_SID%都与原库一样的情况下讨论的,虽然%ORACLE_HOME%和%ORACLE_SID%可以与原库不一样,但为了减少麻烦和出错的几率,建议不要改变则两个值。
6、如果系统启动时 还不能启动oracle就增加以下
编辑一个oracle_startup.bat文档 内容为:
set sid=xinhailsnrctl starte:/oracle_startuplog.logsqlplus /nolog @e:oracle_startupsql.txte:/ oracle_startuplog.log
在e盘下增加文档oracle_startuplog.log,内容为:
connect / as sysdba;startup nomount;alter database mount;alter database open;quit
然后把oracle_startup.bat放到系统启动项里面,这样每次启动系统时oracle就自动启动了。
建设你先下个安装说明。
ORACLE 10g,现在介绍下自己的安装过程:
环境:OS: WIN 2000 Server
MEM:250M(哈哈是有点小,安装时还有警告呢~)
DB: ORACLE 10.2.0
2)。解压缩后就可以安装了。执行SETUP.EXE
3)。在DOS下运行片刻进入ORACLE 10G安装-安装方法界面在这里你要指定自己的安装方法,ORACLE提供了两种安装方法:基本安装(I)和高级安装(A)
基本安装(I):使用标准配置选项(需要输入的内容最少)执行完整的10g安装。注意:此选项使用文件系统进行存储,并将一个口令用于所有数据库帐户(SYS、SYSTEM、SYSMAN、DBSNMP)。要设置安装的主目录、安装类型和创建启动数据库。
高级安装(A):可提供高级选项,例如:为不同的帐户设置不同的口令,选择数据库语言,产品语言,自动备份,定制安装以及备用存储选项(自动存储管理)。
ORACLE默认的为基本安装。选择相应的安装方法后,下一步。我为高级安装。
4)。选择安装类型:(企业版、标准版、个人版、定制)。这里选择企业版。下一步。
5)。指定主目录详细信息:包括安装产品的名称及安装产品的完整路径。选择后下一步。
6)。进入产品特定先决条件的检查界面:在这里要检查安装ORACLE所需的操作系统需求、物理内存需求、网络配置需求等等。检查后的结果就在该界面下边的下拉框中。可能个别的检查结果会失败,但不会影响安装。
如果在第3)步选择了基本安装的话,就不用执行4)、5)步了。直接进入第6)步。
继续下一步,可能会有警告可以忽律。
7)。如果本机上还安装了其他版本的数据库的话,可能会询问是否升级现有的数据库。选择否。下一步。
8)。选择配置选项(创建数据库、配置自动存储管理(ASM)、仅安装数据库软件)。
9)。选择数据库配置即选择你要创建的数据库类型:(一般用途、事务处理、数据仓库、高级)。
10)。指定数据库配置选项(数据库命名:全局数据库名和系统标示符SID、数据库字符集、数据库示例是否创建带样本的数据库)。
11)。选择数据库管理选项:默认为使用database control管理数据库,是否启用电子邮件通知。
12)。指定数据库存储选项:选定要创建数据库的存储机制(文件系统即你创建的数据库的文件的位置、自动存储管理、裸设备。)
13)。指定备份和恢复选项:选择是否起用自动备份选项。
14)。指定数据库方案的口令。包括SYS、SYSTEM、SYSMAN、DBSNMP的口令。注意口令的首字符为字母。
15)。最后生成ORACLE UNIVERSAL INSTALL的概要文件。仔细检查概要文件确定自己的选项,如果没有什么更改的了,点安装就开始ORACLE 10g的安装了。具体的安装时间不同,根据硬件的配置有关。
可以在windows的服务管理器中关闭; 2.打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务! 3.打开注册表,找到路径: HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 删除该oracle目录,该目录下注册着Oracle数据库的软件安装信息。 4.删除注册的oracle事件日志,打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 删除注册表的以oracle开头的所有项目。 5.删除环境变量path中关于oracle的内容。 鼠标右键右单击“我的电脑--属性--高级--环境变量--PATH 变量。 删除Oracle在该值中的内容。注意:path中记录着一堆操作系统的目录,在windows中各个目录之间使用分号(;)隔开的,删除时注意。 建议:删除PATH环境变量中关于Oracle的值时,将该值全部拷贝到文本编辑器中,找到对应的Oracle的值,删除后,再拷贝修改的串,粘贴到PATH环境变量中,这样相对而言比较安全。 6.重新启动操作系统。 以上1~5个步骤操作完毕后,重新启动操作系统。 7.重启操作系统后各种Oracle相关的进程都不会加载了。这时删除Oracle_Home下的所有数据。(Oracle_Home指Oracle程序的安装目录) 8.删除C:\Program Files下oracle目录。 (该目录视Oracle安装所在路径而定) 9.删除开始菜单下oracle项,如: C:\Documents and Settings\All Users\「开始」菜单\程序\Oracle - Ora10g 不同的安装这个目录稍有不同。 如果不删除开始菜单下的Oracle相关菜单目录,没关系,这个不影响再次安装Oracle.当再次安装Oracle时,该菜单会被替换。 至此,Windows平台下Oracle就彻底卸载了。