oracle 学习总结篇一: 数据库的创建
上一篇 / 下一篇 2008-03-06 09:19:56 / 个人分类:学习
在安装完oracle软件后,我们所做的第一件事情就是创建数据库,一般有两种方法来创建
1.用图形化工具dbca 全称即 Database Configure Assistant
2.用脚本
对于初学者来说,建议用第一种,图形化创建时有个良好的向导,可以由浅入深,下面就两种方法来介绍了
首先介绍第一种: dbca 图形化工具
在windows下 点开始 运行 输入dbca 命令, 就出现图形化界面了可以按照向导操作了,这个用的比较多
在unix/linux下也只需要启动xmanager ,然后输入dbca命令 也一样完成操作
在创建数据库时有四个选项,主要看哪个比较适合你
| Environment | Description of Environment |
|---|---|
DSS (Data Warehousing) | Users perform. numerous, complex queries that process large volumes of data. Response time, accuracy, and availability are key issues. These queries (typically read-only) range from a simple fetch of a few records to numerous complex queries that sort thousands of records from many different tables. |
OLTP (Online Transaction Processing) | Many concurrent users performing numerous transactions requiring rapid access to data. Availability, speed, concurrence, and recoverability are key issues. Transactions consist of reading ( |
General Purpose | This template creates a database designed for general purpose usage. It combines features of both the DSS and OLTP database templates. |
New Database | This template allows you maximum flexibility in defining a database. |
第二种方法:手工写脚本 有助于理解数据库的创建过程 以windows为例子:
目录下有这些文件
2008-03-06 10:11 955 CreateDB.sql
A:PG$rBw2[f02008-03-06 10:11 631 CreateDBCatalog.sql
3Z8M)f7~5r02008-03-06 10:11 722 CreateDBFiles.sql
:i'U j9o`S02008-03-06 10:11 814 dbca.bat
Z4pca2}*Ew02008-03-06 10:11 2,689 init.ora
+~V)F[4~'{&\`P02008-03-06 10:11 414 postDBCreation.sql
打开 dbca.bat 文件内容 里面内容如下:
mkdir D:\oracle\admin\dbca\bdumpITPUB个人空间g b*nS+mk!wF
mkdir D:\oracle\admin\dbca\cdumpITPUB个人空间;F6Q
F^$N-V
mkdir D:\oracle\admin\dbca\create
d4}bW2R0mkdir D:\oracle\admin\dbca\pfile
&LHC1zhLxqs0mkdir D:\oracle\admin\dbca\udump
f1OV)w!j7edDB0mkdir D:\oracle\ora92\database
^)lx+uP&|!c;G0mkdir D:\oracle\oradata\dbca --红色部分创建相关存放trace日志文件的目录
(G [\yDa0set ORACLE_SID=dbca --绿色部分设置oracle 实例名为 为dbcaITPUB个人空间 K$FY
d8Ax+xW+Y
D:\oracle\ora92\bin\oradim.exe -new -sid DBCA -startmode m ITPUB个人空间,n#V|4~hG!f
D:\oracle\ora92\bin\oradim.exe -edit -sid DBCA -startmode a --蓝色部分用oracle自带的 oradim
创建一个实例名为dbca 并且有手动启动方式改为自动启动ITPUB个人空间e Iw|,nv?:N
D:\oracle\ora92\bin\orapwd.exe file=D:\oracle\ora92\database\PWDdbca.ora password=change_on_install
--粉红色部分为用oracle自带的orapwd 为sys用户创建一个默认的密码为 change_on_installITPUB个人空间,jG J&m`i8I1[ _
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDB.sql
{Cmt(]e0]4Zz;Y0D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBFiles.sql
{?.|'kk{n+gd^0D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\CreateDBCatalog.sqlITPUB个人空间4f%\'|1T)IY
D:\oracle\ora92\bin\sqlplus /nolog @D:\oracle\admin\dbca\scripts\postDBCreation.sql
--黑体部分就是创建数据库要调用的脚本
第一 CreateDB.sql
connect SYS/change_on_install as SYSDBA --这是刚刚我们设置的密码以sysdba身份连接到数据库ITPUB个人空间2V7w7[l Aj3gG P
set echo onITPUB个人空间A+ui)g Yb?-E
spool D:\oracle\ora92\assistants\dbca\logs\CreateDB.log 写日志ITPUB个人空间&rx$s}4~|
startup nomount pfile="D:\oracle\admin\dbca\scripts\init.ora"; 调用参数文件 启动数据库到只装载实例阶段
M6qn_5j0CREATE DATABASE dbca
k\ p%i-L0MAXINSTANCES 1
Hu"x'`d`/R ml3_0MAXLOGHISTORY 1
/PJm m {DF0MAXLOGFILES 5ITPUB个人空间(qmz#CRwu`\.Z
MAXLOGMEMBERS 3
`,P#qV[k3Gi0MAXDATAFILES 100 --控制文件记录的相关最大日志数,日志组,最大数据文件数等限制ITPUB个人空间\R+v*J*Ihhi
DATAFILE 'D:\oracle\oradata\dbca\system01.dbf' SIZE 250M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
;eBPu;V%U0EXTENT MANAGEMENT LOCAL
'Zox#F"jr8w;L8F0DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'D:\oracle\oradata\dbca\temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
l1oN0JTu4L{6c0UNDO TABLESPACE "UNDOTBS1" DATAFILE 'D:\oracle\oradata\dbca\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED --创建系统,临时,回滚 表空间ITPUB个人空间4n*F+B8tb
uN
CHARACTER SET ZHS16GBK
SO4`$zR6L&R0NATIONAL CHARACTER SET AL16UTF16 --字符集
1^,oO6Y:U,W0LOGFILE GROUP 1 ('D:\oracle\oradata\dbca\redo01.log') SIZE 102400K,
TB2ts'TQ}0GROUP 2 ('D:\oracle\oradata\dbca\redo02.log') SIZE 102400K,ITPUB个人空间+O|q d@ ^g0Fw5pER
GROUP 3 ('D:\oracle\oradata\dbca\redo03.log') SIZE 102400K; --创建日志文件租和成员
1kuH&pQT8w0spool offITPUB个人空间L'[!aag\0F\ e
exit;ITPUB个人空间#sb+rM ~,I)^K e
第二.CreateDBFiles.sql
connect SYS/change_on_install as SYSDBAITPUB个人空间,^|6qXAGxzN d
set echo on
}gao/jgW0spool D:\oracle\ora92\assistants\dbca\logs\CreateDBFiles.log
t1ZRu/O|Z0CREATE TABLESPACE "INDX" LOGGING DATAFILE 'D:\oracle\oradata\dbca\indx01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;
x d\(P[,Ov8Cd0CREATE TABLESPACE "TOOLS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT 320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ;ITPUB个人空间_cK2j:_$Ik;|
CREATE TABLESPACE "USERS" LOGGING DATAFILE 'D:\oracle\oradata\dbca\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ; --创建相关用户要用到的表空间ITPUB个人空间R
q0vK5iw5npj
spool offITPUB个人空间6Dxq*E@h1Vq
exit;
第三:CreateDBCatalog.sql --创建system数据字典,存放到system表空间,相关表,视图等ITPUB个人空间!U o
OAG
connect SYS/change_on_install as SYSDBAITPUB个人空间r%zEs2yw
set echo onITPUB个人空间S3G+v
ON*iss
spool D:\oracle\ora92\assistants\dbca\logs\CreateDBCatalog.log
:G"iR9HIr$i0@D:\oracle\ora92\rdbms\admin\catalog.sql;
@6@^(T2r0@D:\oracle\ora92\rdbms\admin\catexp7.sql;ITPUB个人空间$~v
y7s6J p$J,i5Z
@D:\oracle\ora92\rdbms\admin\catblock.sql;ITPUB个人空间v&D xq$n O"y
@D:\oracle\ora92\rdbms\admin\catproc.sql;ITPUB个人空间@EQ;o b;?}7e0m
@D:\oracle\ora92\rdbms\admin\catoctk.sql;
KW `$F0|-K:`0@D:\oracle\ora92\rdbms\admin\owminst.plb;
*\;X
\Ta*W0connect SYSTEM/managerITPUB个人空间8dn^ap#h
@D:\oracle\ora92\sqlplus\admin\pupbld.sql;
#s#Gq&FD:]%Q}0connect SYSTEM/managerITPUB个人空间f#d+g;Um
set echo on
6@R Xa$u7v#q0spool D:\oracle\ora92\assistants\dbca\logs\sqlPlusHelp.logITPUB个人空间)e&f$HB#WGGxx
@D:\oracle\ora92\sqlplus\admin\help\hlpbld.sql helpus.sql;
VhaW9Yp+^0spool off
["w-e8Hs{'wV0spool off
(Q4C\"df_
G0exit;
第四: postDBCreation.sql
connect SYS/change_on_install as SYSDBAITPUB个人空间)I^eqSX6Lq
set echo onITPUB个人空间
^r^ns
spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
hC2Y-lrBR t0@D:\oracle\ora92\rdbms\admin\utlrp.sql; --编译相关视图,包对象等ITPUB个人空间.S8u+@1B,kE.[
shutdown ; --关闭数据库
Wdx
h(_&T.b0connect SYS/change_on_install as SYSDBA
n-L
GykZp*~S,Y5OZ0set echo onITPUB个人空间[8K(u0iA0]
|h$I
spool D:\oracle\ora92\assistants\dbca\logs\postDBCreation.log
R0le$cEqH0create spfile='D:\oracle\ora92\database\spfiledbca.ora' FROM pfile='D:\oracle\admin\dbca\scripts\init.ora';
--创建服务器参数文件代替文件初始化参数文件,方便有时在不重启数据库的情况下可以使参数生效
从上面可以看到spfile文件的存放位置
Zcs!E,an0startup ; --启动数据库 ,创建数据库完成
[2O;c&^/EAd0exit;ITPUB个人空间u"D(VG d6h,T^fL
.lzY;T CR.U0
从上面可以看出,创建数据库有以下10个步骤
Step 1: 创建相关trace目录文件夹
Step 2:创建实例,密码 启动方式
Step 3:创建初始化参数文件 init.ora
Step 4: 连接到实例
Step 5: 启动实例到nomount状态
Step 6:创建数据库
Step 7:创建表空间
Step 9: 创建服务器参数文件(这步不是必须的,但oracle建议做这步) 好处会在以后的总结中列出
下面也贴出linux下脚本,和windows下几乎差不多
#!/bin/sh
mkdir /oradata/ora9iITPUB个人空间5y4K*K5DZO#z
RHp
mkdir /oradata/ora9i/controlfile
X d-X0aYu4`0mkdir /oradata/ora9i/redofileITPUB个人空间xG!efM1u%o
mkdir /orasys/oracle/adminITPUB个人空间
UWo/z)v)RoKiR
mkdir /orasys/oracle/admin/ora9i
`*}4s.Z
Mrz,s0mkdir /orasys/oracle/admin/ora9i/bdump
+?d ^:p-Jyky0mkdir /orasys/oracle/admin/ora9i/cdumpITPUB个人空间&j/Sa5Sg8h
R
mkdir /orasys/oracle/admin/ora9i/createITPUB个人空间~siz1h J
mkdir /orasys/oracle/admin/ora9i/udump
FQnXl.u)a5ge0mkdir /orasys/oracle/admin/ora9i/pfile
1kg7P(P6m+i0cp init.ora /orasys/oracle/product/9.2.0/dbs/.
export ORACLE_BASE=/orasys/oracleITPUB个人空间,Za#[/k/M'sQ;S4h
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
.t.y/P&N3K&h.x