花了一个下午的时间才搞定,呼~~~~~~~
参考了下面的文章,
安装之前首先弄清什么静默安装,说白了,就是命令行安装,无图,有真相!
OK,开始吧。
安装前的准备工作
1--创建oracle用户,oinstall,dba组
代码
groupadd oracle
groupadd dba
useradd -m -g oinstall -G dba oracle
password oracle
注:-m表示创建用户,并创建用户的主目录,-G表示新建用户所属的其他组
创建oracle安装目录:sudo mkdir -p /oracle/product/10.2.0/db_1
2--修改系统参数
vim /etc/sysctl,添加如下内容
###################################
# Use for install oracle #
###################################
kernel.shmall = 2097152
kernel.shmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
#net.core.rmem.default = 262144
#net.core.wmem.default = 262144
#net.core.rmem_max = 262144
#net.core.wmem_max = 262144
有关这个文件的具体参数作用,请看
这里3--修改oracle用户的登录环境
oracle$vi .bash_profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=cai
4--解压缩oracle10g for linux软件包
我把它放在oracle的home目录,新建一个名为enterprise01.rsp的文件,里面的具体内容如下(参考//response目录下面的enterprise.rsp文件,该目录下有三个文件enterprise.rsp(企业版静默安装文件),standard.rsp(标准版静默安装文件)和custom.rsp(客户版静默安装文件),另外还有其他三个静默安装文件)。
RESPONSEFILE_VERSION=2.2.1.0.0
FROM_LOCATION="../stage/products.xml"
ORACLE_HOME="/oracle/product/10.2.0/db_1/"
ORACLE_HOME_NAME="OraDb10g_home1"
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
SHOW_SPLASH_SCREEN=false
SHOW_WELCOME_PAGE=false
SHOW_COMPONENT_LOCATIONS_PAGE=false
SHOW_CUSTOM_TREE_PAGE=false
SHOW_SUMMARY_PAGE=false
SHOW_INSTALL_PROGRESS_PAGE=false
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
SHOW_CONFIG_TOOL_PAGE=false
SHOW_RELEASE_NOTES=false
SHOW_ROOTSH_CONFIRMATION=false
SHOW_END_SESSION_PAGE=false
SHOW_EXIT_CONFIRMATION=false
NEXT_SESSION=false
NEXT_SESSION_ON_FAIL=false
SHOW_DEINSTALL_CONFIRMATION=false
SHOW_DEINSTALL_PROGRESS=false
ACCEPT_LICENSE_AGREEMENT=true
COMPONENT_LANGUAGES={"en"}
CLUSTER_NODES=
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=dba
b_oneClick=false
SHOW_DATABASE_CONFIGURATION_PAGE=false
b_createStarterDB=false
///////////////////////////////////////////////////////////////////
5--开始安装
oracle$ cd /oracle/database
oracle$ ./runInstaller -silent -responseFile /home/oracle/enterprise01.rsp
...........等待1分钟
在执行提示给出的2个文件,注意:必须要用root用户执行!
root# sh /oracle/oraInventory/orainstRoot.sh
root# sh /oracle/product/10.2.0/db_1/root.sh
6--手工创建数据库。上面只是安装软件,还没数据库。
此时可查看/oracle/oradata下面有个文件夹orcl
下面我们将用到它来作数据库的模板(注,为方便数据库名和数据库采用实例同一个名字mydb)
#存放警告文件,跟踪文件的目录
-cd /oracle/admin
-mkdir -p mydb/{a,b,c,u}dump
#存放数据库文件的目录
-mkdir -p /oranew/mydb
注意赋予上面目录权限:chown -R oracle:oinstall /oranew
复制参数文件至$ORACLE_HOME/dbs目录
cp /oracle/admin/orcl/pfile/* $ORACLE_HOME/dbs/initmydb.ora
修改的地方有:数据库名,控制文件目录路径,警告文件等目录的路径
创建口令文件:orapwd file=$ORACLE_HOME/dbs/orapwmydb password=*****
创建建库脚本,此处省略500字
执行建库脚本
sqlplus / as sysdba
sql>startup nomount
sql>start /脚本路径
执行catalog.sql,catproc.sql,前者创建数据字典,后者创建数据库中的包
start $ORACLE_HOME/rdbms/admin/catalog.sql
start $ORACLE_HOME/rdbms/sdmin/catproc.sql
以system用户登录,执行pupbld.sql
sql>conn system/*****
sql>start ?/sqlplus/admin/pupbld.sql
创建users表空间和scott测试模式
sql>create tablespace users
datafile '/oranew/mydb/users01,dbf' size 10m
/
sql>start $ORACLE_HOME/rdbms/admin/utlsampl.sql
the END!
可能出现的问题:
1)由于gentoo不在oracle支持的系统之内,因此耍点小伎俩可以骗过oracle^.^
2)缺少软件包,请查看gentoo wiki
3)权限问题,oracle安装目录缺少权限,导致sql脚本执行失败
4)创库的时候数据库必须是未挂起状态 nomount
还有一个小小的错误,建库的时候报错
ORA-30014: operation only supported in Automatic Undo Management mode
仔细查看脚本,原来是创建undo表空间的代码那里"undotas1(数字)"写成了'l(L)'
= =~