跳至主要内容

Solaris 安装 oracle 10g in VirtualBox

1. Solaris上无论cde还是jds来说都是可以装的,少了个参数设置,DISPLAY这个。
解决方法:安装时不要在oracle用户的.profile里面加入DISPLAY的环境变量
现在root用户目录下执行#xhost +
然后#su - oracle
$DISPLAY=:0.0;export DISPLAY
$cd /Disk1
$./runInstaller
2.VirtualBox在跑Solaris的时候有点奇怪,他的JDS界面会起不来。重装了几次还不成功,用CDE界面就可以,但似乎没装上ORACLE
3. 按照提示如下例做
安装准备:

首先以root用户登录

打开一个终端:

1.编辑几个跟内存分配有关的系统参数参数

vi /etc/system
set shmsys:shminfo_shmmax=4294967295 (给oracle最大内存设为2G)
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=10
set semsys:seminfo_semmni=110
set semsys:seminfo_semmns=310

//附注说明:
----------------------------------------------
ORACLE安装时缺省的设置: 建议修改的设置:
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=15
set semsys:seminfo_semmns=200
set semsys:seminfo_semmni=70
set ulimit=3000000
set semsys:seminfo_semmni=315
set semsys:seminfo_semmsl=300
set semsys:seminfo_semmns=630
set semsys:seminfo_semopm=315
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=315
set shmsys:shminfo_shmseg=10
set shmsys:shminfo_shmmin=1

其中这些参数的含义

shmmax - 共享内存段的最大字节数,建议设大点,甚至可以大过物理内存的字节数
shmmin - 共享内存段的最小尺寸.
shmmni - 共享内存段的最大数目.
shmseg - 每个进程可分配的最大共享内存段数目.
shmall - 最大的并发共享内存段数目,比SGA还要大.
semmns - 信号灯的最大数量,跟ORACLE的PROCESS数有关.
semmsl - 每个信号灯集合中最多的信号灯数目.
-------------------------------------------------------
2. 创建用户和组
# groupadd dba
# groupadd oinstall
#useradd –g dba -G oinstall –d /export/home/oracle –m oracle
#passwd oracle (改oracle用户密码)

3.创建必要的目录然后给Oracle用户授权!
我习惯实在安装系统的时候单独划分盘区 3 -- /Oracle 作为ORACLE_BASE
机构必要的目录需要给oracle用户和dba,oinstall组授予访问权限,我这里是直接
# chmod -R 777 /oracle

4.设定oracle用户的环境参数
//其他人到这步是su到oracle用户, 用vi编辑oracle 用户主目录下的 .profile
我不太喜欢vi ,习惯用gedit ,但是在oracle用户下 gedit 不能打开 .profile
所以现在root下编辑完!
# gedit /export/home0/oracle/.profile

我的oracle用户 .profile 内容如下:

##############################################################
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.0.2
ORACLE_SID=ora10g
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:/usr/local/lib:/usr/lib

TMPDIR=/var/tmp
export ORALCE_BASE ORACLE_HOME ORACLE_SID NLS_LANG PATH LD_LIBRARY_PATH


umask 022
##############################################################

5.准备安装介质

从oracle网站下载得到以下文件:solarisx86_DB_10_1_0_3_Disk1.cpio
先用ftp 以oracle用户登录到我的Solaris 机器上
复制此文件到oracle 主目录下

$ gunzip -d solarisx86_DB_10_1_0_3_Disk1.cpio.gz
$ cpio -ivmd < solarisx86_DB_10_1_0_3_Disk1.cpio
Disk1/stage/Components/oracle.assistants.acf/10.1.0.3.0/1/DataFiles/lib.jar
Disk1/stage/Components/oracle.assistants.acf/10.1.0.3.0/1/DataFiles/class.jar
Disk1/stage/Components/oracle.assistants.acf/10.1.0.3.0/1/DataFiles
Disk1/stage/Components/oracle.assistants.acf/10.1.0.3.0/1
Disk1/stage/Components/oracle.assistants.acf/10.1.0.3.0
Disk1/stage/Components/oracle.assistants.acf
......
Disk1/install/oneclick.properties.ORIG
Disk1/install
Disk1/response/custom.rsp
Disk1/response/dbca.rsp
Disk1/response/emca.rsp
Disk1/response/enterprise.rsp
Disk1/response/netca.rsp
Disk1/response/standard.rsp
Disk1/response
Disk1/runInstaller
Disk1/welcome.htm
Disk1
1310640 块

$ cd Disk1
$ ls
doc response stage
install runInstaller welcome.htm

6.修改两个安装配置文件,增加版本5.10,以便顺利通过系统版本检查

$ gedit oraparam.ini
#You can customise error message shown for failure through CERTIFIED_VERSION_FAI
LURE_MESSAGE
Solaris=5.6,5.7,5.8,5.9,5.10 (就是添加5.10)

$ gedit oraparam.var

#You can customise error message shown for failure through CERTIFIED_VERSION_FAI
LURE_MESSAGE
Solaris=5.8,5.9,5.10 (就是添加5.10)

OK下面就可以开始安装oracle database 了!

5.VirtualBox有很多不一样的特性,待观察

6.Ultra Search URL:
http://ora10.tst:1158/ultrasearch

Ultra Search 管理工具-A URL:
http://ora10.tst:1158/ultrasearch/admin

iSQL*Plus URL:
http://ora10.tst:1158/isqlplus

iSQL*Plus DBA URL:
http://ora10.tst:1158/isqlplus/dba

Enteprise Manager 10g Database Control URL:
http://ora10.tst:1158/em

sys oracle

评论

此博客中的热门博文

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types ...

Python学习笔记20100128

methodList = [method for method in dir(object) if callable(getattr(object, method))] ###插一句, ifconfig pcn0 unplumb 去禁solaris的网卡plumb起网卡   and, or  已经and-or一起用。 and 两者为真,print第二个数,一个为假一个为真返回假,三者为真返回最后一个真。 or 两个为真,返回第一个, 一个为假一个为真返回真,三者为假返回最后一个假   lambda可快速定义最小值函数   g = lambda x:x*2 g(3) 6 (lambda x:x*2)(3)   doc string print getattr(object,mothod).__doc__   ljust ljust 用空格填充字符串以符合指定的长度。info 函数使用它生成了两列输出并将所有在第二列的 doc string 纵向对齐。 如果小于的话不会从中截断   -----面向对象 首先导入,你可以选择import module or from module import module 如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import。 如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import。 如果模块包含的属性和方法与你的某个模块同名,你必须使用 import module 来避免名字冲突   -----类的定义 class Lofs    pass   这个类的名字是 Loaf,它没有从其它类继承。 类名通常是第一个字母大写,如:EachWordLikeThis,但这只是一个习惯,不是一个必要条件。   这个类没有定义任何方法或属性,但是从语法上,需要在定义中有些东西,所以你使用 pass。这是一个 Python 保留字,仅仅表示 “向前走,不要往这看”。它是一条什么都不做的语句,当你删空函数或类时,它是一个很好的占位符。   你可能猜...

Back to Blog again

     My last blog was almost 6 years again.  lots of things happening those years. like marriage, and move to another country, simply relocation, something is very big in my life.      Back to now,  I guess it is a very good time to start with the blog again. no matter daily life or the tech parts.      These blog may or will contains various languages, Chinese, English or Few Japanese. The first thing, I change the profile to Kamata life, Kamata is Japanese words. "鎌田"  as Kanji. why this change happened, due to we will move from Tamagawa "玉川" to Kamata very soon. I hope I can start to write this not daily, but I hope I can do this continuously.