一、关系数据库和数据库管理系统
2009年oracle与sun宣布合并;
目前所说的“数据库”是硬件与软件的结合;
1970年,E.F.Codd先生发表论文:A Relational Model of Data for Large Shared Date Banks,这篇论文阐述了关系模型的定义,关系数据库的概念由此诞生。E.F.Codd于1981年获得图灵奖。
1979年Oracle推出第一个商品化的关系数据库系统oracle v2
数据库管理系统(DBMS)就是用于管理数据库的软件,它负责数据的存储、访问、安全及数据的一致性控制。
E-R图:数据逻辑模型使用实体-关系图来表示。实体、属性和关系。
关系数据库的最基本的元素是 表,表又称 关系,表以二维的形式对数据进行组织。
列称为字段或者属性,行又称为 元组。
数据字典是数据库中的数据库,是关于数据的数据,是创建oracle数据库时候自动创建的,由oracle自动维护,其他用户只能读(read-only)。
二、安装Oracle
1.Oracle Universal Installer 是一个统一安装器,一个图形界面工具,用于安装和卸载Oracle软件。
2.Oracle基目录(oracle base directory):它是oracle的顶级目录,oracle的其他软件都会默认安装到这个目录下。
3.Oracle主目录(oracle home directory):它是oracle软件的存放目录,它必须是Oracle基目录的子目录。
4.oracle软件(DBMS)的安装与创建数据库是两个过程,虽然安装oracle软件的时候可以同时选择创建数据库。
5.安装日志放在:{os driver}:/program files/oracle/inventory/logs/下面。
6.DBCA( Database Configuration Assistant)数据库配置助手,一般都用这个来创建数据库。
7.数据库名(Database Name):数据库名用于标识一个数据库。
实例名(System Identifier,SID)::用于唯一地标识一个实例,实例是内存和后台进程的集合。
数据库名与实例名是两个概念,在RAC(集群)环境中,多个实例可以同时打开一个数据库,数据库名与实例名可以不同。
但是,在单机环境下,数据库名与实例名一般都相同。
8.Oracle提供三种方式对数据进行存储:文件系统、自动存储管理和裸设备。
文件系统:是使用最多的一种存储方式,它把数据文件存放到操作系统的文件系统的一个目录中。即oracle把数据交给操作系统,由操作系统读写磁盘。
自动存储管理:它免去DBA对磁盘I/O的手动调整,简化了数据库的动态管理。
裸设备:应用也比较广泛,它绕过操作系统,直接对磁盘进行读写。
9.数据块是oracle最小的存储单位,这个块不是操作系统的块。
oracle每次请求都是以 数据块为单位,块的标准大小由DB_BLOCK_SIZE指定。如果是数据仓库,块越大越好。在数据库创建完毕以后,就不能够对块的尺寸进行修改。
10.简体的中文字符集市ZHS16GBK,国家字符集是AL16UTF16.
11.专有服务器模式(Dedicated Server Mode):用户进程运行在客户端机器上,专有服务器进程运行在服务器上,用户进程与服务进程一一对应,每一个用户进程都会启动一个服务进程为其服务,这样就限制了应用的可扩展性——服务进程总会被消耗完毕。
共享服务器模式(Shared Server Mode):N个用户进程共享一个服务进程。
安装的时候,可以设置初始化的服务器进程数量。
三、配置
1.网络配置助手(oracle net configuration assistant):图形化的网络管理工具,完成oracle的网络配置。
2.网络管理器(oracle net manager):图形化的网络管理工具,用于配置oracle网络。
3.监听器是oracle的一个中间组件,它是服务器端的、独立运行的一个后台进程,数据库没有启动的时候,它也可以独立运行。它负责对客户端传入的连接请求进行监听,并且对服务器端的连接负荷进行调整。一旦客户端和服务器建立了连接,客户端和服务器就可以直接通信了。
监听器的配置是在:listener.ora文件中。
# listener.ora Network Configuration File: D:\app\oracle12c\product\12.1.0\dbhome_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\oracle12c\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\oracle12c\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = aganliang)(PORT = 1521))
)
)
监听器的启动:
4.客户端网络配置:使用网络配置助手或者直接编辑tnsnames.ora文件
# tnsnames.ora Network Configuration File: D:\app\oracle12c\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
GZ_GIS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = GZ_GIS)
)
)
开头的GZ_GIS是网络服务名:它就代表了下面的一串 连接描述符,简化我们的远程连接数据库的操作。如下,直接@网络服务名就代表连接这个数据库。
5.测试连接是否成功
tnsping 网络服务名