广场舞梦回草原教学:Oracle学习笔记(3)创建数据库

来源:百度文库 编辑:中财网 时间:2024/04/30 13:55:38

Oracle之创建数据库

 

1、创建数据库的准备:有一个特权账号(通过操作系统、使用一个口令文件)、有足够的内存、有足够的磁盘空间。

 

2、计划数据库文件的位置:最少保持2个活动的数据库控制文件副本放在不同的物理设备上;多工重做日志文件并放组成员在不同的物理硬盘上;只读和读写文件分开,备份只对经常改变的数据进行备份,考虑不同的生存周期,考虑资源征用以均衡负载:表数据和索引数据分开,临时数据和永久数据分开,回滚数据和用户数据分开。

 

3、创建数据库两种方式:DBCA(DATABASE Configuartion Assistant)配置帮手、CREATE DATABASE命令(手工)

(1)首先设置系统环境变量

(unix)平台:

ORACLE_BASE(Oracle安装所在的第一级目录:D:\Oracle)

ORACLE_HOME(Oracle管理文件所在路径:D:\Oracle\ora90)

ORACLE_SID(Oracle实例)

ORALCE_NLS33(使用不同字符集所需考虑的选择)

PATH(实例所在路径)

LD_LIBRARY_PATH(文件库所在路径)

setenv oracle_home=...,oracle_base=...

(windows)平台:

cmd> set oracle_sid=连接名称

(2)使用DBCM工具创建database(删除或配置选项)建立database创建模板

手工创建数据库:

a.确认唯一实例和database name

b.选择database 字符集(set)

c.设置操作系统环境变量(Oracle_base,Oracle_home,Oracle_SID)

d.编辑/创建初始化参数文件

e.启动实例(nomount状态)

f.执行create database命令(系统表空间、在线日志、内部系统表,但并未创建数据库视图、package数据字典等)

g.运行script脚本产生数据字典和完成后期database创建过程。

 

windows平台:

cmd> oradim 先创建例程(口令文件database对应的service)

例如:手工创建一个database:foxconn的实例

set oracle_sid=foxcnn

oradim -NEW -sid FOXCONN -INTPWD admin -pfile d:\oracle\ora90\database\initfoxconn.ora

通过oradim创建例程,有如下变化:

控制面板>管理工具>本地服务:OracleServiceFOXCONN已启动

注册表:Oracle\Home0\多了FOXCONN的内容。

在D:\oracle\ora90\database\PWDFOXCONN.ora 口令文件也多出来了。

 

准备初始参数文件:initSID.ora

$ cp init.ora $ORACLE_HOME/dbs/initdb01.ora

D:\oracle\ora90\admin\sample 复制到 D:\oracle\admin\下然后将复制后的sample文件夹名重命名为实例名称foxconn,在 D:\oracle\admin\foxconn\pfile下有一个initsmpl.ora文件。

对这个文件initsmple.ora进行编辑:initsmple.ora重命名为init.ora,以记事本打开后找到:db_name=%AVAILABLE_SID%,%seed_control%,db_block_size=9048。修改为“db_name=foxconn”,control_files=('d:\oracle\oradata\foxconn\control01.ctl','e:\oracle\oradata\foxconn\control02.ctl'),db_block_size=8192

 

建立SPFILE系统参数文件:CREATE SPFILE FROM PFILE;

复制D:\oracle\ora90\database\initfox.ora(已有的)复制并粘贴在当前目录下,并将initfox.ora重命名为initfoxconn.ora,将其中的内容:IFILE='D:\oracle\admin\fox\pfile\init.ora '修改为IFILE='D:\oracle\admin\foxconn\pfile\init.ora' //指定初始参数文件位置

打开实例所在的初始化参数文件init位置“D:\oracle\admin\foxconn\pfile\init.ora”

将其中的内容改为:text_enable=true;

 

启动例程:

connect as sysdba 以系统管理员身份登录

在nomount状态启动例程:startup nomount

 

创建数据库脚本:

(D:\oracle\ora90\rdbms\admin\build_db.sql)

sql> create database foxconn

2 maxlogfiles 10

3 maxdatafiles 1024

4 maxinstances 2

5 datafile 'd:\oracle\oradata\foxconn\system01.dbf' size 50m

6 logfile

7 group 1 'd:\oracle\oradata\foxconn\redo01.ora' size 10m,

8 group 2 'd:\oracle\oradata\foxconn\redo02.ora' size 10m;

9 /

 

然后指定数据库实例路径(在oradata下新建文件夹foxconn):D:\oracle\oradata\foxconn

sql> run 即可。

 

如果发现错误或问题,则可以立即关闭例程:

sql> shutdown immediate

重启例程(数据库初始参数文件):

sql> startup pfile=d:\oracle\ora90\database\initfoxconn.ora nomount

 

=======================================

一个完整创建数据库的实例:

Windows>cmd
set oracle_sid=foxconn
sqlplusw /nolog 

 

sql>conn sys/admin as sysdba
sql>select * from dba_instances;
sql>set wrapp off
sql>set linesize 200
sql>run    //存储包

sql>alter session set nls_language=american;
sql>select * from dba_users;
sql>select * from v$database;
sql>select * from dba_objects; //table or views does not exist;
sql>execute dbms_output.put_line('test string1'); //package STANDARD not accessible

sql> @D:\oracle\ora90\RDBMS\admin\catalog.sql //(buildall)创建dbms数据包的所有脚本


sql> set wrap off
sql> set linesize 1000
sql> run

sql> select * from dba_tables;
sql> @D:\oracle\ora90\RDBMS\admin\catproc.sql  //建立标准程序包和所需要的数据类型。

sql> execute dbms_output.put_line('test string1')  //PL/SQL 过程已成功完成
sql> set serveroutput on
sql> execute dbms_output.put_line('test string1');


sql> conn system/manager
sql> @D:\oracle\ora90\SQLPLUS\admin\pupbld.sql

sql>help show  //help 不可访问   (D:\oracle\ora90\sqlplus\admin\help\hlpbld.sql)
sql>start D:\oracle\ora90\sqlplus\admin\help\hlpbld.sql
   输入1的值:D:\oracle\ora90\sqlplus\admin\help\helpus.ql

sql>help show