/*** 关系数据库 ***/
E-R模型(E-R图表示的逻辑模型)包括:
实体/关系/属性
/*** Oracle安装 ***/
ORACLE_HOME: 'I:/oracle/ora90'
ORACLE_HOME_NAME: OraHome90
DB_NAME: 数据库名
DB_NAME+DB_DOMAIN: 全局数据库名
①Data WareHouse:应用于数据仓库环境,即决策支持系统(DSS),要处理大量的复杂查询
②General Purpose:应用于同时具有DSS和OLTP的数据库
③New Database:自定义方式创建数据库
④Transaction Processing:应用于联机事务处理(OLTP),主要是处理并发的事务
创建完数据库后修改DBA口令:
c:/>sqlplus /nolog
SQL>connect / as sysdba
SQL>alter user username identified by password;
创建完数据库后默认的表空间:
SYSTEM
TOOLS
TEMP
UNDOTBS
USERS
INDX
EXAMPLE
创建完数据库后默认的服务器端/普通初始化参数:
SPFILE<SID>.ora ORACLE_BASE/database/
initSID.ora ORACLE_BASE/admin/DB_NAME/pfile/
/* 手工创建数据库 */
1.确认新数据库的实例名
2.确认DBA认证方式
3.创建初始化参数文件
4.连接并启动实例
5.使用CREATE DATABASE创建数据库
6.创建附加的表空间
7.运行脚本创建数据字典视图
8.运行脚本安装附加功能
9.备份数据库
创建初始化参数文件:
(ORACLE_HOME/admin/sample/pfile/有个initsmpl.ora,是个初始化参数样本文件)
下面是一个SID为ORA01的数据库在创建时所使用的初始化参数文件
# 缓存区与数据库块的大小
DB_BLOCK_SIZE = 4096
DB_CACHE_SIZE = 10971520
# 游标位置
CURSOR_SHARING = SIMILAR
OPEN_CURSORS = 300
# 诊断和跟踪信息设置
background_dump_dest=i:/oracle/admin/ora01/bdump
user_dump_dest=i:/oracle/admin/ora01/udump
# 控制文件设置
control_files = ("D:/oracle/oradata/ora817/control01.ctl",
"D:/oracle/oradata/ora817/control02.ctl",
"D:/oracle/oradata/ora817/control03.ctl")
# 归档模式设置
log_archive_start = true
log_archive_dest_1 = 'location=f:/oracle/oradata/backup/arc1'
log_archive_dest_2 = 'location=f:/oracle/oradata/backup/arc2'
log_archive_format = arch_%t_%s.arc
# 版本兼容性和数据库SID设置
compatible = 8.1.5.0.0
db_name = ora01
# 网络域与认证方式设置
db_domain = us.oracle.com
remote_login_passwordfile = exclusive
# 网络标识
instance_name = ora01
# 共享池设置
java_pool_size = 31457280
large_pool_size = 1048576
shared_pool_size = 52428800
# 用户进程设置
processes = 150
# 排序区设置
sort_area_size = 524288
# 回退段和撤销表空间设置
undo_management = auto
undo_tablespace = undotbs
连接并启动实例:
C:/>SQLPLUS /NOLOG
SQL>CONNECT / AS SYSDBA
SQL>STARTUP NOMOUNT
使用CREATE DATABASE创建数据库:
SQL>CREATE DATABASE ORA01
CONTROLFILE REUSE
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE 'I:/ORACLE/ORADATA/ORA01/SYSTEM01.DBF' SIZE 325M REUSE
UNDO TABLESPACE undotbs
DATAFILE 'I:/ORACLE/ORADATA/ORA01/UNDOTBS01.DBF' SIZE 200M REUSE
AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE temptbs1
CHARACTER SET ZHS16GBK
NOARCHIVELOG
LOGFILE GROUP 1
('I:/ORACLE/ORADATA/ORA01/REDO01.LOG') SIZE 100M,
GROUP 2
('I:/ORACLE/ORADATA/ORA01/REDO02.LOG') SIZE 100M,
GROUP 3
('I:/ORACLE/ORADATA/ORA01/REDO03.LOG') SIZE 100M;
创建附加的表空间:
CREATE TABLESPACE USERS LOGGGING
DATAFILE 'I:/ORACLE/ORADATA/ORA01/USERS01.DBF'
SIZE 25M REUSE
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE INDEX LOGGGING
DATAFILE 'I:/ORACLE/ORADATA/ORA01/INDEX01.DBF'
SIZE 25M REUSE
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
运行脚本创建数据字典视图:
使用CREATE DATABASE创建的数据库,只有在创建了附加表空间和数据字典后才能正常工作.
执行下面的脚本来创建数据字典视图:
SQL>CONNECT SYS/SYS PASSWORD AS SYSDBA
SQL>@$ORACLE_home/rdbms/admin/catalog.sql;(创建数据字典视图,包括V$动态性能视图)
SQL>@$ORACLE_home/rdbms/admin/catproc.sql;(建立对PL/SQL的支持)
创建服务器端参数文件
SQL>CREATE SPFILE='I:/oracle/ora90/database/SPFILEora01.ora' FROM
PFILE='I:/oracle/admin/ora90/pfile/INITora01.ora';
创建的服务器端初始化参数位于默认的位置,所以启动数据库时不用指定SPFILE
/*** ***/
在启动数据库时必须提供一个初始化参数文件(无论是文本初始化参数文件还是服务器端初始化参数文件),因此,在
执行STARTUP语句时,它将按照如下顺序寻找初始化参数文件:
* 首先检查是否使用SPFILE参数指定了服务器端初始化参数文件
* 再检查是否使用了PFILE参数指定了文本初始化参数文件
* 如果没有使用SPFILE参数或PFILE参数,则在默认位置寻找默认名称的服务器端初始化参数
* 如果没有找到默认服务器端初始化参数文件,则在默认位置寻找默认名称的文本初始化参数文件
/* Alter system语句的影响范围 */
用alter system set.....要看后面的scope选项,分别是:
1.scope=spfile 对参数的修改仅记录在服务器端初始化参数文件中,修改后的参数只有在下一次启动数据库后才会
生效,同时适用于动态和静态初始化参数
2.scope=memory 对参数的修改仅记录在内存中,对于动态初始化参数会立即生效,不能用于静态参数,修改并不会
被记录在服务器端的初始化参数中,下一次启动数据库是仍然使用修改前的参数设置
3.scope=both 适用于动态初始化参数,对参数的修改将同时记录在内存中和服务器端的初始化参数中
,在下一次启动后将适用修改后的参数设置
Note:要修改静态初始化参数时,只能将SCOPE选项设置为SPFILE.
eg:SQL>ALTER SYSTEM SET DB_FILES = 100 SCOPE=SPFILE;
导出服务器端初始化参数文件:
SQL>CREATE PFILE='I:/oracle/database/temppfile/expinit.ora'
from SPFILE='I:/oracle/database/myspfile.ora';
或者
SQL>CREATE PFILE FROM SPFILE;
这时将把默认的服务器端初始化参数文件导出为默认位置上具有默认名称的文本初始化参数文件.
查看初始化参数的设置
SQL>SHOW PARAMETERS
指定数据库块的大小
(数据库块的大小必须是操作系统数据库块大小的整数倍,通常是4KB或8KB,数据库块大小在数据库建立后九
无法改变,通常数据库块都会比操作系统块大,这样可以有效的提高数据库的I/O性能)
DB_BLOCK_SIZE = 4096
DB_CACHE_SIZE参数
指定SGA区中数据库高速缓存的大小,在ORACLE 9I中使用DB_CACHE_SIZE参数代替以前版本中的
DB_BLOCK_BUFFERS参数,DB_CACHE_SIZE参数是个动态参数,DB_BLOCK_BUFFERS参数是通过设置数据块的
数据来指定高速缓存区大小的,而DB_CACHE_SIZE参数则是直接指定高速缓存区大小.
DB_CACHE_SIZE = 32M
指定最大并发进程数
PROCESSES参数的最小值是6(每个数据库至少要启动5个后台进程,再加上一个用户进程)
PROCESSES = 150