2168575 发表于 2015-11-9 12:53:49

<> 第二课 手工建库 实验

  手工创建一个数据库,截图给出关键步骤。
  设置环境变量

  $ cat PROD.env
export ORACLE_SID=PROD
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
$
  

  设置初始化参数
  $ cat init.ora | egrep -v '(^#|^$)' > init$ORACLE_SID.ora
$ vim init$ORACLE_SID.ora
$ cat init$ORACLE_SID.ora
db_name=PROD
control_files = (/home/oracle/oracle/oradata/PROD/cntrl01.dbf, /home/oracle/oracle/oradata/PROD/cntrl02.dbf)
sga_target = 300M
undo_management = auto
undo_tablespace = undotbs

$
  

  建立相关目录
  $ mkdir -poracle/oradata/PROD/{a,b,c,u}dump
$ ls -l oracle/oradata/PROD/{a,b,c,u}dump
oracle/oradata/PROD/adump:
total 0

oracle/oradata/PROD/bdump:
total 0

oracle/oradata/PROD/cdump:
total 0

oracle/oradata/PROD/udump:
total 0
$
  

  建立建库脚本
  $ cat createdb.sql
CREATE DATABASE PROD
   user sys identified by oracle
   user system identified by oracle
   LOGFILE
      GROUP 1 ('/home/oracle/oracle/oradata/PROD/log1.log') size 100M,
      GROUP 2 ('/home/oracle/oracle/oradata/PROD/log2.log') size 100M,
      GROUP 3 ('/home/oracle/oracle/oradata/PROD/log3.log') size 100M
   MAXLOGFILES 5
   MAXLOGmembers 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET AL32UTF8
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/home/oracle/oracle/oradata/PROD/system01.dbf' size 325M reuse extent management local
   SYSAUX DATAFILE '/home/oracle/oracle/oradata/PROD/sysaux01.dbf' size 325M reuse
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/home/oracle/oracle/oradata/PROD/temp01.dbf' size 20M reuse
   UNDO TABLESPACE undotbs DATAFILE '/home/oracle/oracle/oradata/PROD/undotbs01.dbf' size 200M reuse autoextend on maxsize unlimited;
$
  

  建立spfile并建库
  SQL> startup nomount
ORACLE instance started.

Total System Global Area314572800 bytes
Fixed Size            1219160 bytes
Variable Size         96470440 bytes
Database Buffers      213909504 bytes
Redo Buffers            2973696 bytes
SQL> create spfile from pfile;

File created.

SQL> @createdb.sql

Database created.

SQL>

编译数据字典和系统存储过程
  SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> desc dba_objects;
ERROR:
ORA-04043: object dba_objects does not exist


SQL>
  

  

  SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql;
DOC>######################################################################
DOC>######################################################################
DOC>    The following statement will cause an &quot;ORA-01722: invalid number&quot;
DOC>    error and terminate the SQLPLUS session if the user is not SYS.
DOC>    Disconnect and reconnect with AS SYSDBA.
DOC>######################################################################
DOC>######################################################################
DOC>#

no rows selected


Package created.
...
Grant succeeded.


PL/SQL procedure successfully completed.

SQL> desc dba_objects
Name                     Null?    Type
----------------------------------------- -------- ----------------------------
OWNER                            VARCHAR2(30)
OBJECT_NAME                        VARCHAR2(128)
SUBOBJECT_NAME                     VARCHAR2(30)
OBJECT_ID                        NUMBER
DATA_OBJECT_ID                     NUMBER
OBJECT_TYPE                        VARCHAR2(19)
CREATED                        DATE
LAST_DDL_TIME                        DATE
TIMESTAMP                        VARCHAR2(19)
STATUS                         VARCHAR2(7)
TEMPORARY                        VARCHAR2(1)
GENERATED                        VARCHAR2(1)
SECONDARY                        VARCHAR2(1)

SQL> desc dbms_output
ERROR:
ORA-04043: object dbms_output does not exist


SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
...
  Package body created.


PL/SQL procedure successfully completed.

SQL> desc dbms_output
PROCEDURE DISABLE
PROCEDURE ENABLE
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
BUFFER_SIZE                  NUMBER(38)            IN   DEFAULT
PROCEDURE GET_LINE
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
LINE                           VARCHAR2                OUT
STATUS                         NUMBER(38)            OUT
PROCEDURE GET_LINES
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
LINES                        TABLE OF VARCHAR2(32767) OUT
NUMLINES                     NUMBER(38)            IN/OUT
PROCEDURE GET_LINES
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
LINES                        DBMSOUTPUT_LINESARRAY   OUT
NUMLINES                     NUMBER(38)            IN/OUT
PROCEDURE NEW_LINE
PROCEDURE PUT
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
A                              VARCHAR2                IN
PROCEDURE PUT_LINE
Argument Name                  Type                  In/Out Default?
------------------------------ ----------------------- ------ --------
A                              VARCHAR2                IN

SQL>
  
至此一个基本的数据库就建立好了
$ ps -ef | grep ora_
oracle   17701   10 00:54 ?      00:00:00 ora_pmon_PROD
oracle   17703   10 00:54 ?      00:00:00 ora_psp0_PROD
oracle   17705   10 00:54 ?      00:00:00 ora_mman_PROD
oracle   17707   10 00:54 ?      00:00:01 ora_dbw0_PROD
oracle   17709   12 00:54 ?      00:00:26 ora_lgwr_PROD
oracle   17711   10 00:54 ?      00:00:00 ora_ckpt_PROD
oracle   17713   10 00:54 ?      00:00:00 ora_smon_PROD
oracle   17715   10 00:54 ?      00:00:00 ora_reco_PROD
oracle   17717   10 00:54 ?      00:00:00 ora_mmon_PROD
oracle   17719   10 00:54 ?      00:00:00 ora_mmnl_PROD
oracle   17725   10 00:54 ?      00:00:00 ora_qmnc_PROD
oracle   17729   10 00:54 ?      00:00:00 ora_q000_PROD
oracle   17827   10 01:01 ?      00:00:00 ora_q001_PROD
oracle   17993 179660 01:11 pts/3    00:00:00 grep ora_
$
  

  参考文档:

  Oracle&reg; Database Administrator's Guide
10g Release 2 (10.2)
B14231-02
2 Creating an Oracle Database
file:///home/liao/win/wind/ocm/B19306_01/server.102/b14231/create.htm#sthref220

  

--EOF--             版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: <> 第二课 手工建库 实验