科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在Solaris 10 ZFS上安装Oracle 9i

在Solaris 10 ZFS上安装Oracle 9i

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ZFS是SUN Solaris 10的下一代文件存储解决方案,ZFS即Zettabyte File System,也叫动态文件系统Dynamic File System, 是第一个128位文件系统,无限容量、自优化、数据永远保持一致,并且管理简单.

作者:chinaunix 来源:blog.chinaunix.net 2007年9月5日

关键字: ORACLE 安装 Sun Solaris

  • 评论
  • 分享微博
  • 分享邮件

ZFS是SUN Solaris 10的下一代文件存储解决方案,ZFS即Zettabyte File System,也叫动态文件系统Dynamic File System, 是第一个128位文件系统,无限容量、自优化、数据永远保持一致,并且管理简单.

  ZFS不仅支持基于文件系统方式的访问,也支持基于卷(裸设备)方式的访问,加上ZFS的不断完善和成熟,基本上可以取代传统的磁盘管理软件,如Solairs Volume Manager和Veritas Volume Manager.本文将介绍如何在Solaris 10 ZFS上安装Oracle 9i.

  基本需求:

  - 将Oracle程序文件安装在zfs文件系统上.

  - 将数据库data file安装在zfs裸卷上.

  step1. 创建pool和zfs文件系统及祼卷.

# zpool create ora_pool c0t4d0

# zfs create -V 210m ora_pool/controlfile01_200m

# zfs create -V 210m ora_pool/controlfile02_200m

# zfs create -V 210m ora_pool/controlfile03_200m

# zfs create -V 4010m ora_pool/index01_4000m

# zfs create -V 410m ora_pool/redo1_01_400m

# zfs create -V 410m ora_pool/redo2_01_400m

# zfs create -V 410m ora_pool/redo3_01_400m

# zfs create -V 810m ora_pool/system_800m

# zfs create -V 1010m ora_pool/tools_1000m

# zfs create -V 4010m ora_pool/undotbs1_01_4000m

# zfs create -V 4010m ora_pool/users01_4000m

ZFS卷提供了类似于VxVM卷的路径名供引用:

/dev/zvol/[r]dsk//

# zfs create ora_pool/oracle

# zfs set mountpoint=/opt/oracle ora_pool/oracle

  step2. 创建oracle用户及dba组,设置基本的环境变量.

# groupadd dba

# useradd -d /opt/oracle -g dba -s /bin/sh -m oracle

# passwd oracle

# ORACLE_BASE=/opt/oracle; export ORACLE_BASE

# ORACLE_HOME=$ORACLE_BASE/product/9.2; export ORACLE_HOME

# ORACLE_SID=ora9; export ORACLE_SID

# chown oracle:dba /dev/zvol/rdsk/ora_pool/*

# chmod 600 /dev/zvol/rdsk/ora_pool/*

  step3. 基于项目管理方式,为oracle分配系统资源如最大共享内存、信号灯等.

# projadd -U oracle -p 1233 -c "oracle parameters setting" user.oracle

# projmod -a -K "project.max-shm-memory=(priv,17179869184,deny)" user.oracle (为物理内存的1/2,单位为字节)

# projmod -a -K "project.max-sem-ids=(priv,2000,deny)" user.oracle

# projmod -a -K "process.max-sem-nsems=(priv,2048,deny)" user.oracle

# projmod -a -K "project.max-shm-ids=(priv,256,deny)" user.oracle

  step4. 安装Oracle程序(过程略).

  step5. 利用脚本方式创建新数据库.

oracle> cat $ORACLE_BASE/admin/ora9/scripts/ora9.sh

#!/bin/sh

mkdir /opt/oracle/admin/ora9/bdump

mkdir /opt/oracle/admin/ora9/cdump

mkdir /opt/oracle/admin/ora9/create

mkdir /opt/oracle/admin/ora9/pfile

mkdir /opt/oracle/admin/ora9/udump

mkdir /opt/oracle/oradata/ora9

mkdir /opt/oracle/product/9.2/dbs

export ORACLE_SID ora9

export PATH=$PATH:/opt/oracle/product/9.2/bin/

echo Add this entry in the oratab: ora9:/opt/oracle/product/9.2:Y

orapwd file=/opt/oracle/product/9.2/dbs/orapwora9 password=change_on_install

sqlplus /nolog @/opt/oracle/admin/ora9/scripts/CreateDB.sql

sqlplus /nolog @/opt/oracle/admin/ora9/scripts/CreateDBFiles.sql

sqlplus /nolog @/opt/oracle/admin/ora9/scripts/CreateDBCatalog.sql

sqlplus /nolog @/opt/oracle/admin/ora9/scripts/postDBCreation.sql

oracle> cat $ORACLE_BASE/admin/ora9/scripts/CreateDB.sql

connect SYS/change_on_install as SYSDBA

set echo on

spool /opt/oracle/product/9.2/assistants/dbca/logs/CreateDB.log

startup nomount pfile="/opt/oracle/admin/ora9/scripts/init.ora";

CREATE DATABASE ora9

MAXINSTANCES 1

MAXLOGHISTORY 1

MAXLOGFILES 5

MAXLOGMEMBERS 3

MAXDATAFILES 100

DATAFILE '/dev/zvol/rdsk/ora_pool/system_800m' SIZE 800M REUSE

EXTENT MANAGEMENT LOCAL

DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/zvol/rdsk/ora_pool/temp01_4000m' SIZE 4000M REUSE

UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/zvol/rdsk/ora_pool/undotbs1_01_4000m' SIZE 4000M REUSE

CHARACTER SET UTF8

NATIONAL CHARACTER SET AL16UTF16

LOGFILE GROUP 1 ('/dev/zvol/rdsk/ora_pool/redo1_01_400m') SIZE 400M,

GROUP 2 ('/dev/zvol/rdsk/ora_pool/redo2_01_400m') SIZE 400M,

GROUP 3 ('/dev/zvol/rdsk/ora_pool/redo3_01_400m') SIZE 400M;

spool off

exit;

oracle> cat $ORACLE_BASE/admin/ora9/scripts/CreateDBFiles.sql

connect SYS/change_on_install as SYSDBA

set echo on

spool /opt/oracle/product/9.2/assistants/dbca/logs/CreateDBFiles.log

CREATE TABLESPACE "INDX" LOGGING DATAFILE '/dev/zvol/rdsk/ora_pool/index01_4000m' SIZE 4000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

CREATE TABLESPACE "TOOLS" LOGGING DATAFILE '/dev/zvol/rdsk/ora_pool/tools_1000m' SIZE 1000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

CREATE TABLESPACE "USERS" LOGGING DATAFILE '/dev/zvol/rdsk/ora_pool/users01_4000m' SIZE 4000M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;

spool off

exit;

oracle> cat $ORACLE_BASE/admin/ora9/scripts/postDBCreation.sql

connect SYS/change_on_install as SYSDBA

set echo on

spool /opt/oracle/product/9.2/assistants/dbca/logs/postDBCreation.log

@/opt/oracle/product/9.2/rdbms/admin/utlrp.sql;

shutdown ;

connect SYS/change_on_install as SYSDBA

set echo on

spool /opt/oracle/product/9.2/assistants/dbca/logs/postDBCreation.log

create spfile='/dev/zvol/rdsk/ora_pool/spfile_30m' FROM pfile='/opt/oracle/admin/ora9/scripts/init.ora';

startup ;

  step6. 启动数据库.

oracle> cat /opt/oracle/product/9.2/dbs/initora9.ora

spfile='/dev/zvol/rdsk/ora_pool/spfile_30m'

oracle> echo "ora9:/opt/oracle/product/9.2:Y" >>/var/opt/oracle/oratab

oracle> sqlplus "/as sysdba"

sql> startup pfile='/opt/oracle/admin/ora9/scripts/init.ora

sql> create spfile='/dev/zvol/rdsk/ora_pool/spfile_30m' FROM pfile='/opt/oracle/admin/ora9/scripts/init.ora';

sql> shutdown immediate;

sql> startup pfile='/opt/oracle/product/9.2/dbs/initora9.ora'

sql> show parameters spfile;

NAME TYPE VALUE

-------- ----- ---------

spfile string /dev/zvol/rdsk/ora_pool/spfile_30m

SQL> select name from v$datafile;

NAME

--------------------------------------------------

/dev/zvol/rdsk/ora_pool/system_800m

/dev/zvol/rdsk/ora_pool/undotbs1_01_4000m

/dev/zvol/rdsk/ora_pool/index01_4000m

/dev/zvol/rdsk/ora_pool/tools_1000m

/dev/zvol/rdsk/ora_pool/users01_4000m

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章