1.2.10 数据文件及字典的创建
再来看CreateDBFiles.sql文件:
C:\Oracle\admin\eygle\scripts>type CreateDBFiles.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool C:\oracle\admin\eygle\scripts\CreateDBFiles.log CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE SIZE 5M AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ALTER DATABASE DEFAULT TABLESPACE "USERS"; spool off |
这个文件向数据库中追加了USERS表空间,并将该表空间设置为系统缺省的数据表空间,注意最后一句:
ALTER DATABASE DEFAULT TABLESPACE "USERS";
这是Oracle 10g增加的新特性,在Oracle 10g之前,如果创建用户不指定缺省的数据表空间,那么用户的缺省表空间会被指向系统表空间,增加了数据库缺省数据表空间后,如果不指定,那么创建用户的缺省数据表空间会被指向这里:
SQL> create user julia identified by eygle; |
用户已创建。
SQL> select username,default_tablespace from dba_users 2 where username='JULIA'; USERNAME DEFAULT_TABLESPACE ------------------------------ ------------------------------ JULIA USERS |
作为一个数据库属性,这个信息也可以从字典表props$中查询得到:
SQL> select name,value$ from props$ 2 where name='DEFAULT_PERMANENT_TABLESPACE'; NAME VALUE$ ------------------------------ ------------------ DEFAULT_PERMANENT_TABLESPACE USERS |
继续前面的讨论,接下来Oracle通过CreateDBCatalog.sql创建数据字典:
C:\Oracle\admin\eygle\scripts>cat CreateDBCatalog.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool C:\oracle\admin\eygle\scripts\CreateDBCatalog.log @C:\oracle\10.2.0\rdbms\admin\catalog.sql; @C:\oracle\10.2.0\rdbms\admin\catblock.sql; @C:\oracle\10.2.0\rdbms\admin\catproc.sql; @C:\oracle\10.2.0\rdbms\admin\catoctk.sql; @C:\oracle\10.2.0\rdbms\admin\owminst.plb; connect "SYSTEM"/"&&systemPassword" @C:\oracle\10.2.0\sqlplus\admin\pupbld.sql; connect "SYSTEM"/"&&systemPassword" set echo on spool C:\oracle\admin\eygle\scripts\sqlPlusHelp.log @C:\oracle\10.2.0\sqlplus\admin\help\hlpbld.sql helpus.sql; spool off spool off |
这个文件依次调用Oracle的字典创建文件等。emRepository.sql文件是用于创建EM档案库的:
C:\Oracle\admin\eygle\scripts>type emRepository.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo off spool C:\oracle\admin\eygle\scripts\emRepository.log @C:\oracle\10.2.0\sysman\admin\emdrep\sql\emreposcre C:\oracle\10.2.0 SYSMAN &&sysmanPassword TEMP ON; WHENEVER SQLERROR CONTINUE; spool off |
最后一个执行的文件是postDBCreation.sql:
C:\Oracle\admin\eygle\scripts>cat postDBCreation.sql connect "SYS"/"&&sysPassword" as SYSDBA set echo on spool C:\oracle\admin\eygle\scripts\postDBCreation.log connect "SYS"/"&&sysPassword" as SYSDBA set echo on create spfile='C:\oracle\10.2.0\database\spfileeygle.ora' FROM pfile='C:\oracle\admin\eygle\scripts\init.ora'; shutdown immediate; connect "SYS"/"&&sysPassword" as SYSDBA startup ; alter user SYSMAN identified by "&&sysmanPassword" account unlock; alter user DBSNMP identified by "&&dbsnmpPassword" account unlock; select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual; execute utl_recomp.recomp_serial(); select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual; host C:\oracle\10.2.0\bin\emca.bat -config dbcontrol db -silent -DB_UNIQUE_NAME eygle -PORT 1521 -EM_HOME C:\oracle\10.2.0 -LISTENER LISTENER -SERVICE_NAME eygle -SYS_PWD &&sysPassword -SID eygle -ORACLE_HOME C:\oracle\10.2.0 -DBSNMP_PWD &&dbsnmpPassword -HOST gqgai -LISTENER_OH C:\oracle\10.2.0 -LOG_FILE C:\oracle\admin\eygle\scripts\emConfig.log -SYSMAN_PWD &&sysmanPassword; spool C:\oracle\admin\eygle\scripts\postDBCreation.log exit;
|
在创建过程中,需要经历以下几个步骤后,数据库的创建才算正式完成:
(1) Oracle首先通过参数文件创建了spfile文件;
(2) 解锁两个账号;
(3) 编译;
(4) 配置EM。
【责任编辑:
雪花 TEL:(010)68476606-8007】