Dear All, I made another testing(the last time:-)) but successful,so happy ?! and belows are the detail.
*) Requirements: Create oracle 9i data file over Solaris 10 zfs volume *) Failure History: With "dbca" GUI,db creation always failure due to '/device' space not enough,it complains: You don't have enough free disk space to create the database,You need at leat 409600KB on /devices,You have only 0KB available." First I suspected the oracle couldn't recognize the zfs device file as it's link file,not a particular character deivce file,as: # zfs create -V 210m ora_pool/controlfile01_200m # ls -l /dev/zvol/rdsk/ora_pool/controlfile01_200m lrwxrwxrwx 1 root root 39 Apr 17 14:58 /dev/zvol/rdsk/ora_pool/controlfile01_200m -> ../../../../devices/pseudo/[EMAIL PROTECTED]:1c,raw (a link file pointing to /device) And I made many attempts but got same errors when dbca launched,then I try to use "script" to create db,successful. *) Procedure of succeeding in creating oracle data file over zfs volumes: - Create zfs volumes # 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 ora_pool/oracle # zfs set mountpoint=/opt/oracle ora_pool/oracle # groupadd dba # useradd -d /opt/oracle -g dba -s /bin/csh -m oracle # chown oracle:dba /dev/zvol/rdsk/ora_pool/* # chmod 600 /dev/zvol/rdsk/ora_pool/* # projadd -U oracle -p 1233 -c "oracle parameters setting" user.oracle # projmod -a -K "project.max-shm-memory=(priv,17179869184,deny)" user.oracle # 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 - After oralce software installation,create database by *scripts*,not by GUI tool "dbca": # cat CreateDBFiles 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; # cat CeateDB 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; It's OK,no errors reported during datafile creation,validate it: SQL> startup pfile='/opt/oracle/admin/ora9/scripts/init.ora'; ORACLE instance started. Total System Global Area 2402258952 bytes Fixed Size 733192 bytes Variable Size 251658240 bytes Database Buffers 2147483648 bytes Redo Buffers 2383872 bytes Database mounted. Database opened. 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 SQL> create table aa ( a1 varchar(10)); Table created. SQL> insert into aa values ('aa'); 1 row created. SQL> commit; Commit complete. SQL> select * from aa; A1 -------------------- aa It seems that only with the "script",no "dbca" GUI tool,the oracle data file can be kept on the zfs volumes. Any comments on this. Thanks Regards, Simon On 4/17/07, Richard Elling <[EMAIL PROTECTED]> wrote:
Simon, what error messages did you get? -- richard Simon wrote: > Brothers, > > I made many times attempts to deploy the oracle data file on zfs > volumes,but not successful at all,more and more failure assured me > it's impossible to use zfs volume to hold the oralce data file,So I > gave up.nervertheless I still hope you can share the story when > succeed in this. > > Thanks the repliers. > > Best Regards, > Simon > > On 4/17/07, Richard Elling <[EMAIL PROTECTED]> wrote: >> Manoj Joseph wrote: >> > Simon wrote: >> >> So,does mean this is oracle bug ? Or it's impossible(or inappropriate) >> >> to use ZFS/SVM volumes to create oracle data file,instead,should use >> >> zfs or ufs filesystem to do this. >> > >> > Oracle can use SVM volumes to hold its data. Unless I am mistaken, it >> > should be able to use zvols as well. >> >> Yes. Though I believe most people will prefer regular file systems or >> ASM. We discuss performance implications on the ZFS wiki at >> http://solarisinternals.com >> >> > However, googling for 'zvol + Oracle' did not get me anything useful. >> > Perhaps it is not a configuration that is very popular. ;) >> >> Sounds like an opportunity... please share your experiences. >> -- richard >>
_______________________________________________ zfs-discuss mailing list zfs-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/zfs-discuss