项目实施技术指南_数据库基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档