以oracle10g为例,不管linux/unix还是windows操作系统,创建数据库基本上相同,手动或者自动的配置环境变量,调用图形界面的安装程序创建数据库。
在安装的过程中,可以选择安装软件的同时直接创建数据库,也可以选择只安装数据库软件,然后调用DBCA(也是一个图形化的创库工具),或者脚本创建数据库。
调用dbca实际上调用的是oracle主目录下bin下的dbca.bat脚本
C:\Documents and Settings\Administrator>type C:\oracle\product\10.2.0\db_1\bin\d
bca.bat
@echo off
@set H=C:\oracle\product\10.2.0\db_1
@set JRE_CLASSPATH=C:\oracle\product\10.2.0\db_1\jdk\jre\lib\rt.jar
@set I18N_CLASSPATH=C:\oracle\product\10.2.0\db_1\jdk\jre\lib\i18n.jar
...............................................................
"C:\oracle\product\10.2.0\db_1\jdk\jre\BIN\JAVA" -DORACLE_HOME="%OH%" -DJDBC_PRO
TOCOL=thin -mx128m oracle.sysman.assistants.dbca.Dbca %*
exit /B %ERRORLEVEL%
在设置一系列的JAVA环境变量后,启动dbca
在DBCA的最后一步,可以生成创建数据库的脚本,为了进一步了解数据库创建过程中做了哪些事情,以下作为一次脚本创建数据库的实践记录:
创建数据库的脚本默认生成在ORACLE_BASE\admin\oracle_sid\scripts下(哦oracle_base为环境变量,windows下存在于注册表中,linux/unix由变量$ORACLE_BASE指定),没有会自动创建这个文件夹,也可以自己指定生成目录。
打开.bat
数据库创建过程:
1.建立一系列目录
adump:用于存放审计信息
bdump:oracle的alert日志存放地点,缺省名称是alert_.log,以及一些后台进程的跟踪文件
cdump:内核信息跟踪文件的存放地点
udump:用户生成的跟踪文件的存放地点,常用于跟踪SQL错误,研究体系结构
pfile:启动的参数文件模版存放地点
oradata:默认数据文件存放地点
cfgtoollogs:创建数据库过程中,主要的日志文件或输出信息存放地点,通过检查这些文件可以诊断在创建过程中出现的一些问题。
2.设置环境变量oracle_sid
3.通过oradim创建服务(仅在WINDOWS下需要)
4.通过sql脚本创建数据库
打开test.sql
set verify(或ver) on/off可以设置是否显示替代变量被替代前后的语句。
如:
select * from dual where 1=&v_test;
输入 v_test 的值: 1
原值 1: select *from dual where 1=&v_test
新值 1: select *from dual where 1=1
DU
--
X
如果设置set verify off
select * from dual where 1=&v_test;
输入 v_test 的值: 1
DU
--
X
define:定义host变量,是主机环境可以和oracle进行交互的一个媒介
通过define定义host变量的时候必须指定变量名和变量的值,如果变量名已经存在于host变量中,则自动覆盖,这个值不可以指定类型,一律按char存储。定义的格式是:define variable_name = value(必须定义的时候就赋值,否则define variable_name是显示已经存在的host变量值,不存在会报告未定义。) 另外可以使用define命令显示单个(define variable_name,不能显示多个)或全部(define)的host变量的值和类型(类型都是char)。定义的变量当前session有效。
开头定义2个重要用户sys和system的密码
set verify off
PROMPT specify a password for sys as parameter 1;
DEFINE sysPassword = &1
PROMPT specify a password for system as parameter 2;
DEFINE systemPassword = &2
使用以&和&&开头的替代变量的前提是set define on;(默认设置)
调用orapwd.exe创建口令文件
orapwd.exe file=C:\oracle\product\10.2.0\db_1\database\PWDtest.ora password=&&sysPassword force=y
口令文件: