版本:Oracle10g数据库
Oracle数据库的基本概念
平常所说的 Oracle 或 Oracle 数据库指的是 Oracle 数据库管理系统(DBMS)。 Oracle 数据库管理系统是管理数据库访问的计算机软件(Oracle database manager system)。
它由 一个Oracle 数据库和 一个或多个Oracle 实例(instance)构成.
Oracle数据库管理系统也是关系型数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。
关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。
关系数据库的型与值:关系数据库的型称为关系数据库模式,是对关系数据库的描述,若干域的定义,在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。
主流的关系数据库有oracle、db2、sqlserver、sybase、mysql等。
Oracle数据库与实例
Oracle数据库:位于硬盘上实际存放数据的文件,这些文件组织在一起,成为一个逻辑的整体,即为Oracle数据库,因此oracler看来,数据库 是指硬盘上文件的逻辑集合,必须要与内存里实例合作,才能对外提供数据管理服务。
Oracle 实例: 位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,共享的内存池可以被所有进程访问。
- Oracle 用它们来管理数据库访问.用户如果要存取数据库(也就是硬盘上的文件) 里的数据, 必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件。
- 实际上, Oracle 实例就是平常所说的数据库服务(service) 。OracleServicexxx,其中 "xxx ",就是你的数据库实例的名称。
区别:实例可以操作数据库;在任何时刻一个实例只能与一个数据库关联,访问一个数据库;而同一个数据库可由多个实例访问(RAC)。
RAC是real application clusters的缩写,译为“实时应用集群”, 是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
用户与表空间
用户:用户是在实例下建立的。不同实例可以建相同名字的用户。
表空间:表空间是 Oracle 对物理数据库上相关数据文件(.ora或者 .dbf 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。
每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间
段、区、块:段存在于表空间中、段是区的集合、 区是数据块的集合、数据块会被映射到磁盘块中。
注意点: 表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于 oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
实例与用户、表空间、数据文件的关系
如下图所示
说明:用户与表空间是多对一(N:1)的,表示一个表空间可以有多个用户,一个用户只能在一个表空间内操控数据。
两个实例之间互不干扰。
安装Oracle10g数据库
服务器的安装
- 设置口令:口令即是管理员密码一定要记住。
- 先决条件检查,然后下一步,安装,等待安装…
- 安装完成后可以去口令管理解锁一些用户,比如解锁scott用户,口令设置为tiger也可以设置为其他的。默认只解锁sys和system用户,默认口令就是第一步的口令。
- 确定,安装结束,退出即可。至此Oracle10g数据库服务器安装完成。
客户机的安装
- 我用的是instantclient也就是即时客户端,如果是Oracleclient的话步骤和服务器大致一样,基本都是点下一步,就是后面多了些连接Oracle服务器的测试。
- instantclient的话一般只下载Basic包即可满足需求。下载地址:https://www.oracle.com/database/technologies/instant-client/downloads.html可根据需求自行选择。
- 下载完成后解压即可进行连接数据库操作。
- 测试连接数据库。在解压后的instantclient目录下打开cmd,输入命令:sqlplus system/口令@服务器IP地址:1521/实例名
比如:sqlplus system/orcl@192.168.10.10:1521/orcl
其中1521是Oracle监听服务的端口号,如果服务器和客户机是同一台机器,@IP地址和端口号不加也行。
安装PL/SQL Developer
- 注意安装目录不能有空格,否则连接不上服务器(应该是远程连接不上)。比如PL/SQL Developer中间就有空格。
- 安装步骤也都是下一步,下一步。安装完成后需要注册,可以你懂得。你懂得注册完成之后,打开PL/SQL Developer。
- 打开后有登录界面,先点取消。然后选择Tools中的Preferences
设置Oracle Home 和 OCI library的地址。分别是instantclient的根目录和instantclient中的oci.dll文件。比如:
配置tnsnames.ora
TNS含义:Oracle中TNS的完整定义:Transparence Network Substrate透明网络底层,一般是用它提供的监听服务。但是监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器
配置步骤:在Oracle服务器安装文件中找到tnsnames.ora的文件。Oracle10g的文件路径是:C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN
找到后拷贝一份到本地服务器,用记事本打开配置以下标黄的字体。
ORCL:本地连接服务器的名字,可以随便设置。
远程IP地址:Oracle服务器的IP地址
1521:Oracle监听服务的端口号
orcl:所需连接Oracle服务器的实例名
ORCL
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
最后配置该文件的环境变量:
变量名:TNS_ADMIN
变量值:本地服务器(也就是刚才拷贝的)tnsnames.ora所在目录
打开PL/SQL Developer输入用户名、密码、数据库名登录即可。
将服务器的语言编码和本地客户端统一
在sqlplus或者PL/SQL中输入一下语句来获取服务器端的语言编码。
select userenv(‘language’) from dual;
比如得到的值为:AMERICAN_AMERICA.ZHS16GBK
然后将此变量配置到本地客户端上
设置环境变量:
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK