Chinaunix首页 | 论坛 | 博客
  • 博客访问: 20195
  • 博文数量: 11
  • 博客积分: 425
  • 博客等级: 下士
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-20 11:12
文章分类
文章存档

2011年(1)

2010年(10)

我的朋友
最近访客

分类: 数据库开发技术

2010-03-05 08:28:56

1.硬件需求:
内存要求至少512MB;交换分区至少1G或者是内存的两倍;/tmp目录至少有400M; 硬盘空间至少1.5G,但是最好大于3.5G。
    
2.软件需求
1)Oracle官方推荐的RPM包,其实并不一定都需要达到,以下是我的F10中官方推荐包的安装情况。(我在安装好ATI之前,相同的软件环境却并不能够运行。而在安装好ATI显卡之后,一切才有了基础。万恶的ATI。)
make-3.81-14.fc10.i386
gcc-4.3.2-7.i386
    glibc-2.9-3.i686
    glibc-devel-2.9-3.i386
    compat-db45-4.5.20-5.fc10.i386
    compat-gcc-34-3.4.6-9.i386
    compat-gcc-34-c++-3.4.6-9.i386
    compat-libstdc++-33-3.2.3-64.i386
    gnome-libs-1.4.2-10.fc10.i386
    libaio-devel-0.3.107-4.fc10.i386
    libaio-0.3.107-4.fc10.i386
    libXp-1.0.0-11.fc9.i386

2)提示:
    你可以通过 rpm -qa | grep XXX 或者 rpm -q XXX 来查询主机上是否有指定的RPM包
    或者你可以通过yum extender图形工具来查找,安装如下:#yum install yumex
   
3)伪装成RHEL 3.0,修改/etc/redhat-release文件写入:Red Hat Enterprise Linux AS release 3(Taroon)
   
3.网上很多资料上都写要配置内核参数来优化系统性能,不过我发觉更多的资料上写的都不是针对本机的实际数据,于是就没有弄呵呵。最后证明这步对结果并没有什么影响。

4.创建Oracle用户及组
$su - root
#groupadd dba //数据库系统管理理组
#groupadd oinstall //Oracle文件所有者的组
#useradd -g oinstall -G dba -m -s /bin/bash oracle
#passwd oracle

5.创建Oracle应用程序的目录
$su - root
#mkdir -p /opt/oracle/product/10.1.0/
#chown -R oracle.oinstall /opt/oracle

6.为用户oracle设置环境变量,我是照着很多参考资料上写的脚本来修改的,我增加到在~/.bash_profile的开头部分:
--------------------------------------
# 设置oracle数据库相关环境变量
# 作者:huang.bin.cn@live.cn
# 日期:2008/12/20

export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10/db_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH
# 设置结束
--------------------------------------

7.安装Oracle10g
我使用的是跟官网发布的 ship.db.lnx32.cpio.gz,把它放在oracle用户能够合法访问的位置,我是放在了/home/oracle/oracle10g/ship.db.lnx32.cpio.gz。
首先切换到oracle用户:$su - oracle
$cd ~/oracle10g
$gzip zxvf ship.db.lnx32.cpio.gz //解压该文件,生成ship_db_lnx32_10103.cpio
$cpio -idmv < ship_db_lnx32_10103.cpio //生成Disk1,即Oracle安装目录。
$cd Disk1/install
$./runInstaller

注意:./runInstaller很有可能会有一些错误,我碰到过一些异常,其中有一种是
    No protocol specified
    Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
    这种异常可以通过这种方法解决,在运行./runInstaller之前,用root用户运行#xhost + ,然后再使用oracle用户$./runInstaller,注意这种情况在安装完成之后,使用#xhost - 改变设置,否则会带来安全隐患。

提示:如果安装向导界面乱码,可以在$./runInstaller之前$unset LANG;unset LANGUAGE 把语言环境取消这样会使用英语为默认环境安装Oracle10g。
推荐使用$export LANG=en_US.UTF-8显式地赋予英语环境。两种方法我都试过,都是可用的。

在安装过程中,注意自定义好安装的时候的值和环境变量中的值保持一致。其中特别注意安装目录:ORACLE_HOME;全局数据库 名:ORACLE_SID。同时最好让Global Database Name(全局数据库名)和SID保持一致都为ORACLE_SID的值。
我把字符集设成:Unicode standard UTF-8 AL32UTF8,同时也把Create database with sample schemas复选框选上了让它生成一个初始的Sample。

根据界面提示,安装过程会提示用户两次以root权限执行一些文件,第一个是/opt/oracle/oraInventory/orainstRoot.sh,~~第二个是/opt/oracle/product/10.1.0/root.sh,这个家伙害我重装了两回。郁闷。 以下是我在F10中执行root.sh的一些经验:注意屏幕输出,在执行到:
Adding daemons to inittab
Expecting the CRS daemons to be up within 600 seconds.
时,请开一终端以root执行#/etc/init.d/init.cssd run &
这样就可以很快通过这个测试然后完成安装。

8.手工创建如下目录
mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/cdump
mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/bdump
mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/udump
mkdir -p $ORACLE_HOME/admin/$ORACLE_SID/pfile
mkdir -p $ORACLE_HOME/oradata/$ORACLE_SID
mkdir -p $ORACLE_HOME/oradata/$ORACLE_SID/flash_recovery_area

9.创建密码文件
$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=$passwd

10.修改参数文件
cat $ORACLE_HOME/dbs/init$ORACLE_SID.ora
large_pool_size=4194304
shared_pool_size=48265318
core_dump_dest='$ORACLE_HOME/admin/$ORACLE_SID/cdump'
db_block_size=8192
db_domain='com'
db_file_multiblock_read_count=16
db_name='$ORACLE_SID'
db_recovery_file_dest='$ORACLE_HOME/oradata/$ORACLE_SID/flash_recovery_area'
db_recovery_file_dest_size=2147483648
dispatchers='(PROTOCOL=TCP) (SERVICE=$ORACLE_SIDXDB)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=12777216
processes=150
undo_management='auto'
undo_tablespace='undotbs'
user_dump_dest='$ORACLE_HOME/admin/$ORACLE_SID/udump'
NLS_DATE_FORMAT="Mon DD YYYY HH24:MI:SS"
NLS_DATE_LANGUAGE=AMERICAN
background_dump_dest='$ORACLE_HOME/admin/$ORACLE_SID/bdump'
control_files='$ORACLE_HOME/oradata/$ORACLE_SID/control01.ctl','$ORACLE_HOME/oradata/$ORACLE_SID/control02.ctl','$ORACLE_HOME/oradata/$ORACLE_SID/control03.ctl'

11.登陆oracle
sqlplus "/as sysdba"

12.启动实例
SQL>startup nomount;

13.建立数据库
create database $ORACLE_SID
datafile '$ORACLE_HOME/oradata/$ORACLE_SID/system1.dbf' size 100m  autoextend on next 100m maxsize unlimited
sysaux datafile '$ORACLE_HOME/oradata/$ORACLE_SID/sysaux1.dbf' size 100m reuse autoextend on next 100m maxsize unlimited
default temporary tablespace temp1
tempfile '$ORACLE_HOME/oradata/$ORACLE_SID/temp1.dbf' size 100m reuse  autoextend on next 100m  maxsize unlimited          
undo tablespace undotbs
datafile '$ORACLE_HOME/oradata/$ORACLE_SID/undo1.dbf' size 100m reuse  autoextend on next 100m  maxsize unlimited
default tablespace user1
datafile '$ORACLE_HOME/oradata/$ORACLE_SID/user1.dbf' size 100m reuse  autoextend on next 100m  maxsize unlimited
extent management local autoallocate
logfile group 1 '$ORACLE_HOME/oradata/$ORACLE_SID/redo1.log' size 100m reuse,
        group 2 '$ORACLE_HOME/oradata/$ORACLE_SID/redo2.log' size 100m reuse,
        group 3 '$ORACLE_HOME/oradata/$ORACLE_SID/redo3.log' size 100m reuse
character set al32utf8
user sys identified by oracle
user system identified by oracle;



/***---------------------------------------------------------------------------------
create temporary tablespace
temp tempfile '$ORACLE_HOME/oradata/$ORACLE_SID/temp01.dbf' size 100m
autoextend on next 10m maxsize unlimited;

create tablespace users datafile '$ORACLE_HOME/oradata/$ORACLE_SID/users01.dbf' size 500m
autoextend on next 10m maxsize unlimited;
---------------------------------------------------------------------------------***/

create user test identified by test default tablespace user1;                ----创建test用户(密码为test,默认使用user1表空间)

grant connect,resource to test;                ----给test用户设置权限。

create tablespace rbs
datafile '$ORACLE_HOME/oradata/$ORACLE_SID/rbs01.dbf' size 200m
reuse autoextend on next 5m;

create tablespace tools datafile '$ORACLE_HOME/oradata/$ORACLE_SID/tools01.dbf' size
64m reuse autoextend on next 320k;

create tablespace indx datafile '$ORACLE_HOME/oradata/$ORACLE_SID/indx01.dbf' size
32m reuse autoextend on next 1280k;

create public rollback segment rbs0 tablespace rbs storage (optimal 4096k);

create public rollback segment rbs1 tablespace rbs storage (optimal 4096k);

create public rollback segment rbs2 tablespace rbs storage (optimal 4096k);

create public rollback segment rbs3 tablespace rbs storage (optimal 4096k);

alter rollback segment "rbs0" online;

alter rollback segment "rbs1" online;

alter rollback segment "rbs2" online;

alter rollback segment "rbs3" online;

14.建立数据库字典等。
$ORACLE_HOME/rdbms/admin/catalog.sql    Conn /as sysdba
$ORACLE_HOME/rdbms/admin/catproc.sql    Conn /as sysdba
$ORACLE_HOME/sqlplus/admin/pupbld.sql    Conn system/$passwd

 
阅读(789) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~