Oracle 概述:
- Oracle 是殷墟出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词
- Oracle 公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore
- Oracle 公司因其复杂的关系数据库产品而闻名。Oracle的关系数据库是世界第一个支持SQL语言的数据库
- Oracle数据库是一种网络上的数据库
它在网络上支持多用户, 支持服务器/客户机等部署(或配置)
- 服务器与客户机是软件概念, 它们与计算机硬件不存在一一对应的关系.
即: 同一台计算机既可以充当服务器又可以充当客户机,
或者, 一台计算机只充当服务器或只充当充当客户机.
Oracle 数据库体系结构
平常所说的 Oracle 或 Oracle 数据库指的是 Oracle 数据库管理系统.
Oracle 数据库管理系统是管理数据库访问的计算机软件(Oracle database manager system).
它由 Oracle 数据库和 Oracle 实例(instance)构成.
Oracle 数据库:
一个相关的操作系统文件(即存储在计算机硬盘上的文件)集合,
这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库.
Oracle 用它来存储和管理相关的信息.
Oracle数据库必须要与内存里实例合作,才能对外提供数据管理服务。
Oracle 实例:
位于物理内存里的数据结构,它由操作系统的多个后台进程和一个共享的内存池所组成,
共享的内存池可以被所有进程访问.
Oracle 用它们来管理数据库访问.用户如果要存取数据库(也就是硬盘上的文件) 里的数据,
必须通过Oracle实例才能实现, 不能直接读取硬盘上的文件.
实际上, Oracle 实例就是平常所说的数据库服务(service) .
区别:
实例可以操作数据库;在任何时刻一个实例只能与一个数据库关联,
访问一个数据库;而同一个数据库可由多个实例访问(RAC)
实例概念:
Oracle有一个特殊的概念
Oracle数据库 = 数据库 + Oracle文件系统 + Oracle实例
实例处理Oracle的请求,调用文件系统
然后返回结果响应给客户端
单实例和多实例
一个数据库可以对应多个实例操作
数据库服务
这是Oracle数据库的服务,一定要安装
如果找不到此服务
可以在这里配置
在这里设置
监听器:
用于侦听客户端的请求,相当于我们的感知器,只有收到这个请求才能对客户端响应
两种非正常情况:
- 没装,无法监听请求
- 装了,不能正常监听
关于监听设置
监听的端口号默认1521
主目录口令 root 123456 【根据自己设置的填入】
管理工具:
SQL * PLUS
是DOS界面下操作的数据库管理系统,和Oracle19c一起安装
数据库管理员经常使用的数据库管理工具
ISQL * PLUS
是Oracle提供的一个基于Web页面形式的管理工具
通过浏览器,直接访问数据库
Navicat For Oracle
第三方管理工具,界面人性化,功能全面,操作方便
OEM
企业管理器,提供底层的管理功能
SQL * PLUS
功能:
- CRUD
- 查询结果格式化输出
- 对数据库的【用户、角色、表空间、数据表】管理
或者Win + R 输入 sqlplus
这里的用户是本地管理员
用户名:sys
密码:我们设置的数据库口令 Dzz123456
一定要加这个 as sysdba访问
就像下面这个控制台提示一样
sys/Dzz123456 as sysdba
断开连接
disconn
连接
conn
这个重新连接的是使用网络连接,不需要 as sysdba,且用户状态是system
system/Dzz123456
这个网路连接是可以使用安全输入的【就是输入看不见密码。。。】
数据库的连接:
连接默认的数据库
win + r 输入 regedit
路径地址
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB19Home1
当前默认的数据库
我们连接的时候加上数据库地址参数即可【@数据库的名字】
即可个锤子,演示直接就行,结果我就报参数错误
这是第一个可行的方案,完整的连接参数
https://blog.****.net/u010523770/article/details/79013782
sys/Dzz123456@localhost:1521/orcl as sysdba
哦,原来地址不能空格
sys/Dzz123456@orcl as sysdba
使用这个也是一样的
system/Dzz123456@orcl
原来是这两种方式
使用sys作为登录名 必须加入 as sysdba
使用system就不需要
SQL * PLUS 连接问题:
【ORA-1256:TNS:协议适配器错误】
- 1、监听程序是否正常
- 2、OracleDB实例服务正常运行
- 3、修改注册表默认SID存在的Oracle数据库
访问远程Oracle数据库:
配置本地网络服务
本地服务名配置
添加操作
远程的目标主机服务名称【也就是数据库名称】
选择TCP协议
远程主机的IP地址 和 端口号【端口号根据远程主机设置的而定,默认1521】
建议测试一下
服务名,指的是这个远程访问的服务标识,可自定义命名
建议标识【远程的主机名_数据库名】这样配置
不要配置第二个服务名
配置完成
一定要点选这个完成,不然前面的步骤就算作废
我们打开PLSQL访问就多了一个我们设置的服务库
使用手动文件配置的方法:
12c的路径是
C:\app\product\库版本\db_home1\network\admin
这里发现19c直接是放在目录中的【network\admin】
C:\OracleDB\network\admin
找到发现这个文件
打开文件格式如下:
第一个就是我们刚刚自己配置的远程服务名
# tnsnames.ora Network Configuration File: C:\OracleDB\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools. NO_ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
) ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
) LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
其格式分析也很简单
NO_ORCL = 设置的远程服务访问标识
(DESCRIPTION = 描述:
(ADDRESS_LIST = 地址列表:协议是TCP 主机地址是192.168.1.127 端口号1521
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.127)(PORT = 1521))
)
(CONNECT_DATA = 连接数据:访问数据库服务名称【数据库名】
(SERVICE_NAME = orcl)
)
)