项目实施技术指南_数据库基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目实施指南-数据库基础
说明
针对Oracle数据库进行介绍,没有特别说明,指Oracle9i数据库。SQLServer也是常用的数据库,功能没有oracle强大,但简单,很容易上手。
1.Oracle基础知识
1.1客户端
Oracle数据库的客户端必须要安装软件才能连接上数据库,客户端的连接配置文件为:%ORACLE_HOME%\NETWORK\ADMIN\TNSNAME.ORA。也可以安装客户端版本,在如下图所示的界面中进行配置:
1.2名词解释
服务名(service_name):操作系统服务名即服务中显示的OracleServiceService_name。
数据库服务名一般与操作系统Service_name一致可用于网络上标识数据库实例名(instance_name):9i以前用于网络上标识数据库,一般与数据库服务名相同。
数据库名(db__name):存储在控制文件,参数文件和数据文件中,当同一台机器存在多个数据库时数据库名必须不同。
网络服务名:包含主机名、端口号、服务名。
参数文件(initservice_name.ora):用于配置Oracle服务(如内存分配、控制文件位置、会话限制等等),一般来说以下几个参数需要修改。
control_files = (“path1\file_name1”,”path2\file_name2”)
db_block_buffers = n
share_pool_size = n
max_enabled_roles = n
processes = n
log_archive_start = ture
log_archive_dest_1 = ”location=path”
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
可以使用V$PARAMETER视图查看所有的初始化参数。
SQL〉SELECT * FROM V$PARAMETER;
密码文件(pwdservice_name.ora):用于sysdba角色的身份验证。
Owner:拥有Oracle对象的用户。
表空间(tablespace):存储数据库对象的逻辑单位,分为临时表空间和固定表空间。
按用途分类可分为系统表空间、回滚段表空间、临时表空间、用户数据表空间
对于每个用户一定存在一个默认表空间和一个默认临时表空间,默认表空间为
用户创建对象时对象默认存储的位置,默认临时表空间为当用户执行语句需要
排序是所用的空间。
SQL〉SELECT * FROM dba_data_files;
控制文件(controlfile):控制文件用于确定数据库数据文件、在线日志文件位置,日志序列号,是否处于归档模式等信息。可以在初始化参数文件中找到控制文件位
置或通过查询v$controlfile得到控制文件位置:
SQL〉SELECT * FROM V$CONTROLFILE;
数据文件(datafile):数据库用于存储数据的物理文件,数据文件隶属于表空间。
SQL〉SELECT * FROM dba_data_files;
在线日志文件(logfile):存储在线重做日志。
归档日志文件:存储归档重做日志。
重做日志:重做日志中存储了所有的数据库的改动信息,关系数据库系统使用重做日志进行数据库崩溃时恢复。
Dump文件:Oracle跟踪文件主要分为警告日志、用户跟踪文件和后台进程跟踪文件
1.3常用命令
Connect / as sysdba; connect sys/oracle as sysdba
Startup
Startup nomount
Startup mount
Shutdown immediate
Alter database open
Alter database backup controlfile to trace as 'd:\create_controlfile.sql' Alter database backup controlfile to trace
oradim
1.4文件结构
Oracle目录结构
%ORACLE_BASE%\ADMIN
%ORACLE_HOME%\BIN
%ORACLE_HOME%\DATABASE
%ORACLE_HOME%\NETWORK\ADMIN
%ORACLE_HOME%\RDBMS\ADMIN
Oracle 物理存储
数据文件
控制文件
在线日志文件
归档日志文件
跟踪文件
Oracle 逻辑存储
表空间(tablespace)
段(segment)
区(extent)
块(block)
2.手工创建数据库步骤
2.1. 冷备源数据库
a.关闭数据库(shutdown immediate)
b.拷出数据文件和控制文件.
c.生成初始化文件,可拷贝源初始化文件修改控制文件、实例命等,如果数据库名不一样,则要修改ini文件的实例名、数据库名。
2.2创建实例(oradim 命令语法格式可在windows命令行下查看帮助)
oradim -new -sid test -intpwd oracle -pfile D:\oracle\ora92\database\inittest.ora
在windows服务中查看是否有启动并将其设为自动.
注:密码文件也可以单独写语法来生成
orapwd file=D:\oracle\ora92\database\PWDzhis4.ora password='oracle'
如果创建错了,可以用命令oradim –delete –sid test 来删除
2.3注册表增加SID
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 下新增一字串键值: ORACLE_SID 值为步骤2中的实例名.
注:也可以通过oracle数据库助手工具创建一个数据库,建库时候选择模板transaction…
这样就不需要2.2,2.3步骤,。
2.4生成格式化文件:(Oracle 9以下版本不需要操作这一步)
Sql> create spfile from pfile='D:\oracle\ora92\database\inittest.ora';
2.5重新创建控制文件
(如果数据文件路径和源库一致,则不需要重建控制文件,直接startup就可以启库了)
在源数据库中生成创建控制文件脚本
alter database backup ontrolfile to trace as …d:\create_controlfile.sql‟;
注意生成的文件有两段,拷贝其中的一段作为重建控制文件的语法,要修改控制文件中数据文件和控制文件的路径,若是测试库一般都不用归档,即ARCHIVELOG改为NOARCHIVELOG。
Sql>startup nomount;
Sql>@ d:\create_controlfile.sql;
有时可能出错需进行相应调整尝试, CREA TE CONTROLFILE REUSE 后加SET,且NORESETLOGS改为RESETLOGS,删除SET,RESETLOGS改为NORESETLOGS。
修改db_name:如果上述ini文件中修改了db_name,则创建控制文件也要修改db_name,将set database "xjrmyy"..改为set database "shzrmyy"。注意热备的数据库不能直接修改db_name,只能先恢复数据库后,再冷备修改db_name。
2.6若是选用noresetlogs选项,若[9]无法打开数据库,则尝试执行
recover database;
若是在线热备数据库文件,则还要把热备时刻的归档日志拷过来,恢复时用下列语法recover database using backup controlfile until cancel;
输入文件路径:如:H:\database\test\LOG-2071627859_1_7350.LOG
注:如果即时热备,则可能服务器还没有产生归档文件,这时候用命令alter system switch