仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 676|回复: 9
打印 上一主题 下一主题

[学习教程] MYSQL编程:Install Oracle 9i/10g On RHEL AS 3

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:43:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
平台即服务PaaS、基础设施即服务IaaS、软件即服务SaaS都是我们比较熟悉的MySQL学习教程,现在又出现了数据库即服务DBaaS,以基于云的方式存储结构化数据。oracle
InstallOracle9i/10gOnRHELAS3

ern(yaoyongping@gmail.com)

本文形貌了在RedHatEnterpriseLinuxAdvancedServer3(RHELAS3)上安装Oracle9i/10g需要的步骤和相干常识。相干文章良多,本文次要侧重于收拾和总结了网友(出格是Fenng)的文档、RedHat公司的RHEL相干白皮书、Oracle公司的手艺文档和白皮书等,对照两个版本在AS3上的配合点和分歧点,尽量给出完全的安装申明。OS的安装将不再赘述。整体叙述以10g的流程为主,可是方框中将拔出9i的分歧点。

硬件请求:

反省内容最小值反省命令参考物理内存512M#grepMemTotal/proc/meminfo互换空间1.0GB或2倍内存#grepSwapTotal/proc/meminfo/tmp空间400MB#df-k/tmp软件所需空间2.5GB#df-k数据库文件1.2GB#df-k




软件请求与设置


操纵体系版本:RedHatEnterpriseLinuxASrelease3(Taroon)Update3
关于9i,必要内核2.4.21-4EL(一样平常AS3均已满意),关于10g必要内核2.4.21-15EL。

确认以下rpm包都已安装:

make-3.79.1gcc-3.2.3-34glibc-2.3.2-95.20
compat-db-4.0.14.5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128openmotif21-2.1.30-8setarch-1.3-1
能够经由过程以下指令观察本机以后的rpm包情形rpm-qa|grepcompat
rpm-qa|grepopenmotif
rpm-qa|grepsetarchgcc-v
rpm-qglibc
假如一般包没有安装,请在体系安装光盘中找到详细的软件包(年夜多半在第三张光盘上),然后使用以下的命令来安装响应的包:

rpm-ivhcompat.....rpm

注重:这些软件包之间是有依附性的,前后的按次要找好,不然会呈报不克不及安装的毛病。

以上对硬件和软件的反省是针对10g,一样平常AS3U3都可到达,9i的请求会更宽松,但在9i中请注重:

gcc应利用2.96版本,因而在安装前实行:

mv/usr/bin/gcc/usr/bin/gcc323
ln-s/usr/bin/gcc296/usr/bin/gcc
mv/usr/bin/g++/usr/bin/g++323
ln-s/usr/bin/g++296/usr/bin/g++

安装完成后:

rm/usr/bin/gcc
mv/usr/bin/gcc32/usr/bin/gcc

设定中心参数

vi/etc/sysctl.conf

在该文件开端到场以下内容:


#----------------------------------------
#ParametersforOracle10g
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
#----------------------------------------


编纂完以后,保留,实行/sbin/sysctl-p命令使变动失效。

注重:下面kernel.shmmax/kernel.sem等是典范的中心参数设置,大概必要依据实践情况举行得当的变化。可参考以下表格猎取以后设定值,若设定值较上例年夜,则保存设定值,而kernel.shmmax应设为体系内存的一半,该值即指定了内核同意的最年夜共享内存段(Segment)的巨细,一样平常安装Oracle后,Oracle将为SGA请求一个段。若体系内存凌驾8G时安装堕落,请参考附录年夜内存的处置。
参数命令semmsl,semmns,semom&semmni/sbin/sysctl-a|grepsemshmall,shmmax&shmmni/sbin/sysctl-a|grepshmfile-max/sbin/sysctl-a|grepfile-maxip_local_port_range/sbin/sysctl-a|grepip_local_port_range
9i中,还应该在文件开端增添:#Disablespacketforwarding
net.ipv4.ip_forward=0
#Enablessourcerouteverification
net.ipv4.conf.default.rp_filter=1
#Disablesthemagic-sysrqkey
kernel.sysrq=0

创立用户和相干的组

/usr/sbin/groupadddba
/usr/sbin/groupaddoper
/usr/sbin/groupaddoinstall
/usr/sbin/useradd-goinstall-Gdba,operoracle
/usr/sbin/passwdoracle

设定Shell限定

出于功能上的思索,还必要增年夜oracle用户的限定,即增添nofile(可翻开的文件形貌符的最年夜数)和nproc(单个用户可用的最猛进程数目)。

vi/etc/security/limits.conf
增加以下的行:

oraclesoftnproc2047oraclehardnproc16384oraclesoftnofile1024oraclehardnofile65536
增加以下的行到/etc/pam.d/login文件:
sessionrequired/lib/security/pam_limits.so



编纂/etc/profile文件,增加以下部分:
if[$USER="oracle"];thenif[$SHELL="/bin/ksh"];thenulimit-p16384ulimit-n65536elseulimit-u16384-n65536fifi
以后,实行$unlimit考证一下.

反省并调剂情况变量

登录为oracle用户
su–oracle
cd
vi.bash_profile

增加以下参数,详细值和实际情况有关。

exportORACLE_BASE=/u/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
exportORACLE_SID=TEST
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
exportLC_CTYPE=en_US.UTF-8

然后实行
source.bash_profile
使情况变量失效。/u/app/oracle等相干目次应当创建好并做符合的受权。


入手下手安装

mount安装盘,一样平常网高低载是紧缩文件,实行

cp/mnt/cdrom/ship.db.cpio.gz/u/install

gunzipship.db.cpio.gz
cpio-idmv<ship.db.cpio
sh/u/install/Disk1/unInstaller

假如不克不及呈现安装画面,检察本文前面的FAQ。

10g的安装比拟之前的多了一个Checkingoperatingsystemcertification的步骤。安装文件会主动检测所需的前提。假如有不切合的中央,安装程序会呈报给你,并会给出详细缘故原由,年夜年夜削减了堕落的大概。
上面是反省乐成输入的内容:

Checkingoperatingsystemcertification
Expectedresult:Oneofredhat-2.1,redhat-3,UnitedLinux-1.0
ActualResult:redhat-3
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingkernelparameters
CheckingforVERSION=2.4.9.25;foundVERSION=2.4.21.Passed
Checkingforshmall=2097152;foundshmall=2097152.Passed
Checkingforshmseg=10;foundshmseg=4096.Passed
Checkingforsemmsl=250;foundsemmsl=250.Passed
Checkingforsemmni=128;foundsemmni=128.Passed
Checkingforfilemax=65536;foundfilemax=65536.Passed
Checkingforshmmni=4096;foundshmmni=4096.Passed
Checkingforsemmns=32000;foundsemmns=32000.Passed
Checkingforsemopm=100;foundsemopm=100.Passed
Checkingforshmmin=1;foundshmmin=1.Passed
Checkingforshmmax=2147483648;foundshmmax=2147483648.Passed
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingrecommendedoperatingsystempackages
Checkingformake-3.79;foundmake-3.79.1-17.Passed
Checkingforbinutils-2.11.90.0.8-12;foundbinutils-2.14.90.0.4-26.Passed
Checkingforgcc-2.96;foundgcc-3.2.3-20.Passed
Checkingforopenmotif-2.1.30-11;foundopenmotif-2.2.2-16.Passed
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingrecommendedglibcversion
Expectedresult:2.2.4.31.7
ActualResult:2.3.2.95.3
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

ValidatingORACLE_BASElocation(ifset)
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

其他的步骤对照明晰,不再赘述。

最初体系会提醒你运转root.sh文件,依照提醒做便可。
9i的安装历程与10g基础分歧,除短少反省OS请求的步骤外,还要注重处置以下毛病。1.启动OUI时libcwait.so毛病用oracle用户登录,并在其家目次下创建文件libcwait.c以下/*
gcc-O2-shared-o$HOME/libcwait.so-fpic
$HOME/libcwait.c
*/
#include
#include
#include
#include
pid_t
__libc_wait(int*status)
{
intres;asmvolatile("pushl%%ebx
        "
"movl%2,%%ebx
        "
"movl%1,%%eax
        "
"int$0x80
        "
"popl%%ebx"
:"=a"(res)
:"i"(__NR_wait4),"0"(WAIT_ANY),"c"(status),"d"(0),"S"
(0));
returnres;
}利用gcc-02-shared-o$HOME/libcwait.so-fpic$HOME/libwait.c编译。设置相干情况变量:exportLD_ASSUME_KERNEL=2.4.19
exportLD_PRELOAD=$HOME/libcwait.so另外一个办理计划是到metalink.oracle.com下载p3006854_9204_LINUX.zip。2.安装时链接毛病第一个与$ORACLE_HOME/network/lib/ins_oemagent.mk有关,只需将该文件以下行正文便可:#LDFLAGS=$(STDMODE)-L$(LIBHOME)-L$(ORACLE_HOME)/rdbms/lib-L$(ORACLE_HOME)/network/lib随后便可点击“重试”持续安装。第二个毛病为$ORACLE_HOME/ctx/lib/ins_ctx.mkbecause/usr/bin/ld:ctxhx:hiddensymbol`statin/usr/lib/libc_nonshared.a(stat.oS),能够间接疏忽。以上链接毛病也可经由过程在OracleMetalink网站下载binutils-2.11.90.8.8-13.i386.rpm办理,但倡议在用该包交换并完成数据库安装后交换回原RHEL的版本。
附录:

A.FAQ

1.不克不及启动安装界面

运转runInstaller提醒信息相似以下:

xlib:connectionto"localhost:0.0"refusedbyserver
xlib:clientisnotauthorizedtoconnecttoserver

Exceptioninthread"main"java.lang.InternalError:cantconnecttox11windowserverusing"localhost:0.0"
at.......

办理举措:设定你的DISPLAY情况参数。

exportDISPLAY=your_IPaddress:0.0

大概用root复杂的实行一下#xhost+(要注重如许会有平安上的隐患)。


2.安装界面显现良多"口口"模样的乱码

办理举措:检察locale输入
#locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


实行#exportLC_CTYPE=en_US.UTF-8然后从头挪用安装程序.


3.用IE登录Linux服务器上的em呈现乱码

 在Linux(Unix)情况下乐成安装了Oracle10g,从windows下用IE扫瞄器登录10g的em,按钮是"口口"如许的方框.

办理举措:参考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm大概是参考这个http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591后者对照完全,前者对照"Quick&Dirty".


4.创立数据库的时分呈现ORA-03113的毛病

办理举措:检察中心参数是不是调剂准确.参考http://www.dbanotes.net/Oracle/ORA-03113.htm


5.RedHat9/FC1等体系10g不撑持怎样安装?

办理举措:在10g不撑持的Linux刊行版上安装10g的办理办法

1)运转runInstaller-ignoreSysPrereqs,如许会跳过反省

2)摘自www.puschitz.com修正/etc/redhat-release文件:

#su-root
#cp/etc/redhat-release/etc/redhat-release.backup
#cat>/etc/redhat-release<<EOF
RedHatEnterpriseLinuxASrelease3(Taroon)
EOF

安装终了,实行以下操纵:
#su-root
#cp/etc/redhat-release.backup/etc/redhat-release

3).http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

一样的思绪,我们能够修正Oracle的install/oraparam.ini文件到达目标


6怎样关失落那些oCSSd.bin历程?

办理举措:编纂/etc/inittab文件(做好备份)

正文失落这一行:

h1:3:respawn:/etc/init.d/init.cssdrun>/dev/null2>&1</dev/null

B.年夜内存的设置

起首申明,以下质料来自InstallOracleonRHELAS2.1的白皮书,大概AS3对年夜内存的撑持已很好了,可是笔者此文次要来自查阅和编纂多篇文档,详细的安装限于硬件也没能测试。以是,假如在AS3上呈现了毛病,无妨参考下文。

shmmax最年夜值为4GB-1。为了创立年夜于1.7GB的SGA,必需利用共享内存文件体系(shmfs)。指令以下,并可增加到/etc/rc.local中,也能够利用/etc/fstab来创立shmfs,在增添/dev/shm前先正文失落已有的/dev/shm条目。

mount-tshmshmfs-osize=32g/dev/shm



mount-tshmshmfs-onr_blocks=8388608/dev/shm

在8GB体系上利用shmfs,SGA能够最年夜调剂到7GB。必要调剂init.ora,增添:

use_indirect_data_buffers=true

另外一种利用年夜SGA的办法是利用LowerMappedBase,能够从1.7GB增加到2.7GB。详细办法可参考Oracle白皮书。

C.年夜页面的设置

AS撑持4MB的年夜页面(而不是一样平常的4KB),如许能够削减页表中的条目,将SGA锁定在内存中,多用于年夜SGA或多用户时。这一特征存在于EnterpriseKernel中。

年夜页面的数目可用cat/proc/meminfo检察。

设置步骤以下:

1.在/etc/rc.local中

echo2>/proc/sys/kernel/shm-use-bigpages(shmfs中利用年夜页面)

echo1>/proc/sys/kernel/shm-use-bigpages(SYSV中利用年夜页面)

echo0>/proc/sys/kernel/shm-use-bigpages(不利用年夜页面)

2.在/etc/lilo.conf的boot段中增添以下参数,从头设置LILO偏重启体系

append="bigpages=xxxxMB"

对4GB的SGA,能够设为4100MB;对2GB的,能够设为2100MB。

在8GB的呆板上SGA最年夜为5.4GB。


参考信息


InstallingOracle10gonRHELAS3Step-by-StepbyFenng
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

Tips&Techniques-Install&ConfigureOracle9i&RHELAS

DeployingOracle9iDatabaseonRedHatEnterpriseLinuxv.3

以上两篇可在http://www.redhat.com/solutions/info/whitepapers/#rhel找到

OracleDatabaseQuickInstallationGuide10gRelease1(10.1)forLinuxx86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm

OracleDatabaseInstallationGuide10gRelease1(10.1)forUNIXSystems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm




如IBM公司最近宣布让渠道合作伙伴分销其SaaS应用程序的新计划。微软认为MySQL学习教程是销售其云计算服务的重要组成部分。然而即使有这种趋势,DBaaS仍然不同于内部数据库,解决方案提供商必须认识到这一点;否则,他们不仅仅是丢失几个客户,而是要失去的更多。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-19 09:18:28 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
金色的骷髅 该用户已被删除
板凳
发表于 2015-1-24 11:50:56 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
再现理想 该用户已被删除
地板
发表于 2015-2-1 09:51:02 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
莫相离 该用户已被删除
5#
发表于 2015-2-7 02:21:08 | 只看该作者
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
小妖女 该用户已被删除
6#
发表于 2015-2-19 20:54:43 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
海妖 该用户已被删除
7#
发表于 2015-3-6 15:22:17 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
精灵巫婆 该用户已被删除
8#
 楼主| 发表于 2015-3-13 03:09:53 | 只看该作者
但是随着数据量的增大,这种成本差距会逐渐减小,趋于相等。(500万数量级只相差10%左右)
若天明 该用户已被删除
9#
发表于 2015-3-13 03:09:53 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
admin 该用户已被删除
10#
发表于 2015-3-20 11:22:43 | 只看该作者
这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表