Oracle研学-介绍及安装

一 ORACLE数据库特点:

  1. 支持多用户,大事务量的事务处理
  2. 数据安全性和完整性控制
  3. 支持分布式数据处理
  4. 可移植性(跨平台,linux转Windows)

二 ORACLE体系结构

  1. 数据库:oracle是一个全局数据库,一个数据库可以有多个实例,每个实例有对应的实例名
  2. 实例:实例就是将oracle从磁盘读到内存形成一个进程,进程与进程之间互不干扰(类似于多个oracle)
  3. 数据文件(dbf):数据库的物理存储单位,数据库的数据是存储在表空间中的,一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间,数据文件被加入到表空间后就不能删除这个文件,想要删除数据文件,只能删除其所属于的表空间(一个文件叫做xx.dbf,指的是其物理名称)
  4. 表空间(管理数据文件,oracle特有):一个或多个数据文件的逻辑名称,通过逻辑名称操作一个或多个数据文件,表空间分为很多段,一个段分很多区,一个区分很多数据块(逻辑上最小的),一个数据块对应一个磁盘块(OS块物理上的)
  5. 用户:一个实例包含多个用户,一个实例包含多个表空间,一个表空间包含多个用户,表空间是个逻辑单位,用户可以建在表空间上,对应的用户创建的表也在这个表空间中(在表空间的数据文件中,若一个表空间有多个数据文件则进行随机存储)
  6. ps:表空间是一个逻辑单位,管理了很多个物理单位,这些物理的数据文件可以分布到不同的服务器上,无论最后存到哪里,只要找到表空间就能找到数据

三 虚拟机的挂载

  1. 启动vm,找到对应的vmx文件双击既可自动进行挂载

四 虚拟机增加网卡

  1. 工具栏编辑/虚拟网络编辑器
  2. 三种网卡模式:(本次操作选择仅主机)
    • 桥接模式:表示本地计算机与虚拟机处于同一个局域网,必须有外围的网络环境(需要插网线到交换机上)
    • 仅主机:表示本地计算机与虚拟机通过一根网线连接起来(不受外部网络影响)
    • NAT模式:表示本地计算机与虚拟机共享了一个ip地址(本地计算机联网了,虚拟机也能连上网,但本地计算机与虚拟机无法连接)
  3. 单击添加网络,选择网卡名称,配置子网ip和子网掩码(可以不用DHCP分配ip地址)应用确定,于本地网络中查看新增的网卡ip地址是否正确
  4. 将网卡设置给虚拟机,右击虚拟机设置网络适配器(选择自定义中的新增的网卡,自己建立的网卡网段容易改),单击确定
  5. 想要虚拟机与本地计算机在一个网络下通信,两者的ip地址必须处于同一个网段
  6. 于虚拟机控制面板/网络连接/本地连接/属性/Internet协议中将ip地址固定下来
  7. 通过ping命令进行测试两者网络是否连通

五 安装ORACLE

  1. 将本地计算机的ORACLE安装包复制到虚拟机的C盘中,双击setup.exe安装,输入对应密码(用于超级管理员账户)
  2. 安装成功后可在cmd中通过命令sqlplus system/password 进行登录(安装后默认用户名为system)
  3. 查询当前数据库所有的表select * from tabs;

六 远程连接ORACLE

  1. 本地计算机中输入sqlplus system/password@192.168.80.10:1521/orcl(orcl是实例名1521是端口号)远程连接ORACLE(通过sqlplus的工具instantclient)

七 PLSQL可视化开发工具

  1. 安装的目录中不能有空格中文(可以安装但是无法远程链接),默认安装破解

  2. 首先单击cancel,虽然没有登录但是会进入主界面(没连接数据库)

  3. 进行配置,工具的首选项的连接(connection)中配置home(instantclient工具的目录位置),library(工具目录下的oci.dll文件),之后单击apply再点击ok,需要借助ORACLE的远程连接工具才可以进行连接。

  4. 将远程的tnsnames.ora文件(oracle/product/10.2.0(版本号)/db_1/NETWORK/ADMIN/tnsnames.ora)拿到本地根目录下进行配置(告诉ORCL(本地名称)要到HOST对应的地址找orcl实例(service_name)远程实例名)保存,相当于刚才sqlplus的@符号后面的部分

  5. 配置系统变量(声明远程文件的位置),变量名为TNS_ADMIN,变量值为E:\(一般放在根目录不要放的太深)

八 可能遇到的问题

  1. 中文处理问题:select userenv('language') from dual;该函数的作用是查出当前服务器的编码格式(dual是伪表),将服务器的编码配置到本地的客户端上(复制查询出的结果SIMPLIFIED CHINESE_CHINA.ZHS16GBK),设置系统变量变量名为NLS_LANG(首字母本地语言支撑),变量值为刚才的查询结果,重新进入PLSQL生效。
  2. 可能出现中文变成?的问题,此刻进入oracle的注册表的home中查看NLS_LANG对应的值是什么,将其修改为中文编码格式,然后再回到本地pc中设置对应的环境变量
  3. ORA-12514问题:
    ① 先看oracle的监听和oracle的服务是否都启动了。启动oracle监听:
    cmd的命令行窗口下,输入lsnrctl start,回车即启动监听。
    ② 查看oracle的sid叫什么,比如创建数据库的时候,实例名叫"orcl",那么先手工设置一下oralce的sid,cmd命令窗口中,set ORACLE_SID=orcl
    ③ 再输入sqlplus /nolog,回车
    再输入 conn / as sysdba;回车
    ④ 再输入startup,回车.这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入shutdown immediate;等shutdown结束之后,再输入startup。
    ⑤ 过几秒钟等命令运行完成,就能连接了。这个时候,可以输入"select * from user_tables;"测试一下,看是否有查询结果。
相关推荐
Json_181790144803 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
煎饼小狗15 分钟前
Redis五大基本类型——Zset有序集合命令详解(命令用法详解+思维导图详解)
数据库·redis·缓存
永乐春秋31 分钟前
WEB-通用漏洞&SQL注入&CTF&二次&堆叠&DNS带外
数据库·sql
打鱼又晒网1 小时前
【MySQL】数据库精细化讲解:内置函数知识穿透与深度学习解析
数据库·mysql
王小小鸭1 小时前
【开发小技巧11】用经典报表实现badge list效果,根据回显内容用颜色加以区分
oracle·oracle apex
大白要努力!1 小时前
android 使用SQLiteOpenHelper 如何优化数据库的性能
android·数据库·oracle
tatasix2 小时前
MySQL UPDATE语句执行链路解析
数据库·mysql
南城花随雪。2 小时前
硬盘(HDD)与固态硬盘(SSD)详细解读
数据库
儿时可乖了2 小时前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
懒是一种态度2 小时前
Golang 调用 mongodb 的函数
数据库·mongodb·golang