手动创建数据库步骤

创建数据库前的规划:
1.预估表和索引所占空间大小
2.计划数据库文件在操作系统的分布(如:将REDO日志文件放在单独的磁盘或者磁带上)
3.选择一个全局数据库名(设置DB_NAME和DB_DOMAIN)
4.服务器参数文件配置
5.选择数据库字符集
6.选择支持的时区(缺省时区文件是timezlrg_11.dat)
7.选择标准的数据块大小
8.考虑是否手动指定在线重做日志的块大小
9.决定SYSAUX表空间的初始大小
10.给非SYSTEM用户创建(定义)一个缺省的表空间(不要使用系统表空间)
11.计划使用UNDO表空间来管理UNDO数据
12.规划一个备份和恢复的策略方案
13.熟悉开启/关闭实例、挂载数据库、打开数据库等原理

两种方式创建数据库:
一.使用DBCA工具创建
DBCA有两种运行模式,一种是图形化界面(交互模式);一种是命令界面(静默安装).
DBCA命令行模式安装:
例:

dbca -silent -createDatabase -templateName General_Purpose.dbc
  -gdbname ora11g -sid ora11g -responseFile NO_VALUE -characterSet AL32UTF8
  -memoryPercentage 30 -emConfiguration LOCAL
  
Enter SYSTEM user password:
password
Enter SYS user password:
password
Copying database files
1% complete
3% complete


...
具体命令操作,请看 dbca -help。

二.使用CREATE DATABASE命令创建
使用CREATE DATABASE建库的优点在于可以使用脚本,实现自动建库.
使用CREATE DATABASE建库需要手动建立基于数据字典表的视图以及手动安装PL/SQL系统包.
步骤:
1.指定SID
通常SID名和数据库名是一致的(数据库名最大只能为8个字符).
WIN平台: SET ORACLE_SID=mynewdb
LINUX:   ORACLE_SID=mynewdb
               export ORACLE_SID
2.环境变量设置
ORACLE_SID和ORACLE_HOME必须设置,PATH环境变量最好包含ORACLE_HOME/bin路径,这样SQL*PLUS,NETCA工具才方便运行.
3.选择数据库管理员验证方式
两种方式:密码文件验证、操作系统验证
密码文件验证需要创建密码文件.操作系统验证需要安装用户为Oracle DBA Group组的.
4.创建初始化参数文件
创建文本,编辑文本,输入各个参数,建议至少包含以下3个参数(最小化参数),没有的参数会自动取缺省值:
DB_NAME:最大8个字符,应当与CREATE DATABASE命令中的数据库名一致.
CONTROL_FILES:如果没有此参数,数据库会自动创建一个控制文件在参数文件的目录下.
MEMORY_TARGET:开启自动内存管理,并设置总的使用内存数量.你可以使用更多的内存使用控制参数来代替这个参数.
建议建立参数文件在数据库的缺省位置,使用指定的文件名,这样启动时就不用指定PFILE参数了.
5.(仅针对windows)创建实例
格式:

oradim -NEW -SID sid -STARTMODE MANUAL -PFILE pfile


这样会在windows的服务里产生一个OracleServicesid的服务.
这里请不要设置ORADIM -STARTMODE参数为AUTO,因为这样它会自动开启这个创建的实例,并尝试挂载数据库.
6.连接实例(注意不是数据库)
使用SQL*PLUS:
密码验证方式下:

$ sqlplus /nolog
SQL> CONNECT SYS AS SYSDBA


OS验证方式下:

$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA


成功连接后,SQL*PLUS返回 Connected to an idle instance.
7.创建服务器参数文件

CREATE SPFILE FROM PFILE;


可通过ALTER SYSTEM改变服务器参数文件(SPFILE)内容.
8.启动实例(没有挂载数据库)

STARTUP NOMOUNT;


到这里开始分配实例内存,并启动相关的进程.
9.执行CREATE DATABASE命令
注意DB_NAME要和参数文件中的一致
例:

CREATE DATABASE mynewdb
   USER SYS IDENTIFIED BY sys_password
   USER SYSTEM IDENTIFIED BY system_password
   LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/my/redo01b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 2 ('/u01/logs/my/redo02a.log','/u02/logs/my/redo02b.log') SIZE 100M BLOCKSIZE 512,
           GROUP 3 ('/u01/logs/my/redo03a.log','/u02/logs/my/redo03b.log') SIZE 100M BLOCKSIZE 512
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   EXTENT MANAGEMENT LOCAL
   DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
   SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE users
      DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;


假定控制文件已经在参数文件中指定了.
从Release 11g开始,SYS或SYSTEM的密码是大小写敏感的.
上面的建库命令指定了3个REDO日志组,每个组2个文件,指定了最大日志文件数、成员数、数据文件数.REDO日志的块大小设置为512(可以设置为512,1024,4096).
数据存储字符集设置为US7ASCII,国家字符集设置为AL16UTF16,影响NCHAR, NCLOB,NVARCHAR2等列数据的存储.
创建了SYSTEM表空间、SYSAUX表空间,创建了USERS缺省表空间、临时表空间tempts1、UNDO表空间undotbs.

EXTENT MANAGEMENT LOCAL指定了采用本地管理表空间模式管理表空间,如果省略此子句,缺省则为字典管理表空间模式,此模式oracle不建议使用.

如果忽略UNDO表空间创建,系统会自动创建一个SYS_UNDOTBS的UNDO表空间.

如果忽略临时表空间创建,系统会使用SYSTEM表空间作为缺省的临时表空间(如果SYSTEM表空间为本地管理表空间模式,则SYSTEM表空间不能作为临时表空间,那么必须创建一个缺省的临时表空间).

 

使用OMF(Oracle Managed Files)建库:
需要设置DB_CREATE_FILE_DEST初始化参数,如:DB_CREATE_FILE_DEST='/u01/app/oracle/oradata'
例:

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;


10.创建其他表空间
例如:

CREATE TABLESPACE apps_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/apps01.dbf' 
     SIZE 500M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;
-- 给索引创建单独的表空间
CREATE TABLESPACE indx_tbs LOGGING 
     DATAFILE '/u01/app/oracle/oradata/mynewdb/indx01.dbf' 
     SIZE 100M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED 
     EXTENT MANAGEMENT LOCAL;


11.使用脚本建立数据字典
使用脚本建立数据字典视图、同义词、PL/SQL系统包等。
SQL*PLUS下执行:

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/sqlplus/admin/pupbld.sql
exit


其中catalog.sql脚本创建了数据字典表,动态性能视图,公共同义词
其中catproc.sql脚本包含了所有PL/SQL运行需要或使用的脚本
其中pupbld.sql脚本是SQL*PLUS使用所需要的.

12.安装其他脚本(可选的)
根据应用需要或者安装其他oracle产品,运行相应的脚本文件

13.备份数据库
在安装完成后,应当进行一次数据库全库备份以防止介质损坏发生.

 

 

建立环境实验和数据库/表 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生熟悉SQL Server 2014的集成环境,帮助学生掌握数据库、表的建立方法以及SQL Server的数据导入方法 二、实验内容    (一)、SQL Server 2014的安装 SQL Server2014的安装过程与 SQL Server 2008、SQL Server2012的安装过程类似,都提供了一个功能树以用来安装所有 SQL Server 组件,包括计划、安装、维护、工具、资源、高级、选项等功能。下面是各功能选项中所包含的内容,如图3-1所示。 图3-1 安装计划中的内容 (1)选择“安装”功能,因为要创建SQL Server 2014的全新安装,单击“全新SQL Server 2014独立安装或向现有安装添加功能”选项,如图3-2所示。 图3-2 “安装”功能中的内容 (2)在“产品密匙”页上,选择相应的单选按钮,这些按钮指示是安装免费版本的SQL Server还是具有产品密匙的产品版本,如果使指免费的评估版,只有180天的试用期限,如图3-3所示。 图3-3 “产品密钥”界面 (3)在“许可条款”页上阅读许可协议,然后选中相应的复选框以接受许可条款和条件。如图3-4所示。 图3-4 “许可条款”界面 (4)系统进行安装程序支持规则检查,以确定安装SQL Server安装程序支持文件时可能发生的问题。必须更正所有的失败,安装程序才能继续。如图3-5所示。 图3-5 “安装规则”界面 (5)在“设置角色”页上选择SQL Server功能安装,如图3-6所示。 图3-6 “设置”角色界面 (6)在“功能选择”页上选择要安装的组件。选择功能名称后,右侧窗体中会显示每个组件的说明。可以根据实际需要,选中一些功能,如图3-7所示。一般应用可选择“数据库引擎服务”、“客户端工具连接”、“SQL客户端连接”和“管理工具”等选项。 图3-7“功能选择”界面 (7)在“实例配置”页上制定是安装默认实例还是命名实例,对于默认实例,实例的名称和ID都是MSSQLSERVER,也可以自己“命名实例”安装实例,如图3-8所示。SQL Server支持多个实例,即支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其它计算机上运行的SQL Server数据库引擎的方式基本相同。 图3-8 “实例配置”界面 (8)在“服务器配置”页上指定SQL Server服务的登录帐户。SQL Server提供了多种服务,可以为所有SQL Server服务分配相同的登录账户,也可以分别配置每个服务账户。还可以指定服务是自动启动、手动启动还是禁用。Microsoft建议对各服务账户进行单独配置,以便为每项服务提供最低特权,即向SQL Server服务授予它们完成各自任务所需的最低权限,如图3-9所示。SQL Server中的每个服务代表一个进程或一组进程,每个进程需要有访问SQL Server相关文件和系统注册表的权限,为了能让SQL Server服务在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,所以服务帐户指的是Windows操作系统中的帐户。 图3-9 “服务器配置”界面 (9)在“数据库引擎配置”的“服务器配置”页上指定身份验证模式、用户名、密码,如图3-10所示。这里的用户身份验证指的是登录到服务器使用的身份验证模式及用户名和密码。身份验证模式分为“Windows身份验证模式”和“混合模式(SQL Server身份验证和Windows身份验证)”。如果选择“Windows身份验证模式”表示则只能使用Windows的帐号登录,即使用当前登录到操作系统的帐号进行登录,通过这种方式用户登录到SQL Server中时不再需要输入帐号和密码。如选择“混合模式(SQL Server身份验证和Windows身份验证)”表示除了可以用使用登录到Windows的帐号作为登录的依据外,还可以使用SQL Server系统的帐号登录,这里必须为内置SQL Server系统管理员账户(SA)提供一个强密码。必须至少为SQL Server实例指定一个系统管理员。若要添加用以运行SQL Server安装程序账户,则要单击“添加当前用户”按钮。若要向系统管理员列表中添加账户或从中删除账户,则单击“添加…”或“删除…”按钮,然后编辑将拥有SQL Server实例的管理员特权的用户、组或计算机列表。 图3-10 设置身份验证模式和管理员 (10)在“准备安装”页显示安装过程中的安装选项的树视图,如图3-11所示。若要继续,单击“安装”按钮。在安装过程中,“安装进度”页会提供相应的状态,因此可以在安装过程中监视安装进度。 图3-121“准备安装”界面 (11)安装完成后,“完成”页提供指向安装日志文件摘要以及其他重要说明的链接。如图3-12所示。 图3-12 “安装完成”界面 (二)、建库建表练习      1、利用语句建库和建表: 创建学生数据库StuDB,文件名和位置自定,在此数据库中创建如下三张表: 学生表(student) (   学号(sno) 普通编码定长字符类型,长度9,主码,   姓名(sname) 普通编码定长字符类型,长度10,非空,   性别(ssex) 统一编码定长字符类型,长度2,   年龄(sage) 微整型,   所在系(sdept) 统一编码可变长字符类型,长度20 ) 课程表(course) (   课程号(cno) ,通编码定长字符类型,长度4,主码,   课程名(cname) 统一编码定长字符类型,长度,40,非空,   开课学期(Semester) 短整数, 学分(credit) 短整数 ) 修课表(sc)(   学号(sno) 普通编码定长字符类型,长度7,主码,外码   课程号(cno) 普通编码定长字符类型,长度6,主码,外码   成绩(grade) 小整型,   修课类别(ctype)普通编码定长字符类型,长度4 ) 2、建立“汽车”数据库,文件名和位置自定,在此数据库中创建如下三张表: 汽车表(CarT),结构如下:   汽车序号(CId) 整型 主关键字,   汽车名称(CName) 普通编码定长字符类型 长度为10  非空,   型号(CType)普通编码变长字符类型 长度为60  非空,   价格(CPrice) 整型,   车身眼色(Ccolor)普通编码变长字符类型 长度为20。 部门表(DepartT),结构如下:   部门序号(DId)整型 主关键字,   部门名(DName)普通编码定长字符类型 长度为20   非空,   负责人名(DLead)普通编码定长字符类型 长度为10  非空,   人数(DAmount) 整型。 汽车出厂表(FacT),结构如下:   汽车序号(CID) 整型 非空,   部门序号(DId) 整型 非空,   出厂日期(FDate)小日期时间型 非空,   出厂数量(FAmount) 整型,   出厂价格(FPrice) 整型。   其中:主关键字为(汽车序号,部门序号,出厂日期)   “汽车序号”为引用汽车表的“汽车序号”的外部关键字; “部门序号”为引用部门表的“部门序号”的外部关键字。 3、使用数据库的可视化工具建库建表 建立银行贷款表,具体要求同课堂教学的建库建表一致。 银行表(BankT)( 银行代码(Bno) 主键 银行名称(Bname) 非空 电话(Tel) ) 法人表(LET)( 法人代码(Eno)主键 法人名称(Ename)取值唯一 经济性质(Enature) 注册资金(Ecapital) 法定代表人(Erep) ) 贷款表(LoanT)( 法人代码(Eno) 银行代码(Bno) 贷款日期(Ldata) 贷款金额(Lamount) 贷款期限(Lterm) )        (三)、数据导入练习 将“学生数据库数据.xls”中的数据导入到学生数据库的三张表中。 将“银行贷款数据.xls”中的数据导入到银行贷款数据库的三张表中。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值