Oracle基本概念

实例

一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。

用户

Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

表空间

Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

数据文件(dbf,ora)

数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能先删除其所属于的表空间才行。

注意

表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!

关系示意图

管理员命令行登录

  1. sys password as sysdba

Navicat连接Oracle数据库

如果你的机器已经装有 Oracle 数据库的话,那很简单,Navicat 可以直接连接到 Oracle 。
如果没装,那 Navicat 会提示你需要安装 Oracle 客户端,如果不是必要,千万别装 Oracle 客户端,先不说它的块头很大,有四五百兆,装完后你很难卸载干净。
根据 Navicat 官方的文档,其实只需要下载 Oracle 的 Instance Client 即可。这个包只包含一些 dll 文件,无需安装解压即可。
要根据不同的 Oracle 版本来下载 Instance Client 的版本,对应关系如下:
Oracle 9i 或者更新的版本,需要使用 Instance Client 11 这个版本
Oracle 8 和 8i 用 Instance Client 10 版本。
另外必须注意的时候,只能下载 32 位版本,因为 Navicat 不支持 64 位的版本,另外要下载 Basic 版本 (40M),而不是 Basic Lite 版(11兆),因为 Basic Lite 版不支持中文,连接的时候会告诉你服务器端的编码不被支持。

如下图所示:instantclient-basic-win32-11.2.0.1.0\instantclient_11_2\oci.dll

配置完之后我们就可以通过Navicat连接Oracle数据了

导入dmp文件

plsql导入较大的dmp文件时可能会遇到:please wait...done,然后就没有反应,建议用命令行导入
找到imp.exe文件,大概在“11.2.0\dbhome_1\BIN”,在cmd中输入

  1. #导入一张表
  2. imp.exe username/password file='D:\xxx.dmp' ignore=y tables=xxx
  3. #导入多张表
  4. imp.exe username/password file='D:\xxx.dmp' ignore=y tables=(xxx,yyy)

如果遇到表空间不足的问题,可以自己创建一个表空间custom_tablespace

创建Oracle表空间

执行如下sql脚本

  1. create tablespace projectname_tablespace datafile 'D:\projectname01.DBF' size 100m autoextend on next 100m maxsize unlimited;

表空间若达到32G,增加表空间的数据文件,这样表空间大小变成64G

  1. alter tablespace projectname_tablespace add datafile 'D:\projectname02.DBF' SIZE 32767M;

创建Oracle用户

执行如下sql脚本

  1. create user projectname identified by password default tablespace projectname_tablespace;
  2. grant resource, connect, dba to projectname;

删除用户

  1. drop user "projectname" cascade

Oracle基本概念与数据导入的更多相关文章

  1. oracle表结构表数据导入导出

    --------------------------------------imp/exp------------------------------------------------------- ...

  2. sqoop将oracle数据导入hdfs集群

    使用sqoop将oracle数据导入hdfs集群 集群环境: hadoop1.0.0 hbase0.92.1 zookeeper3.4.3 hive0.8.1 sqoop-1.4.1-incubati ...

  3. Oracle数据导入Mysql中

    一.Navicat Premium中的数据迁移工具 为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据. 尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量 ...

  4. Redis数据导入工具优化过程总结

    Redis数据导入工具优化过程总结 背景 使用C++开发了一个Redis数据导入工具 从oracle中将所有表数据导入到redis中: 不是单纯的数据导入,每条oracle中的原有记录,需要经过业务逻 ...

  5. Sqoop 数据导入导出实践

    Sqoop是一个用来将hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:mysql,oracle,等)中的数据导入到hadoop的HDFS中,也可以将HDFS的数据导入到 ...

  6. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  7. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  8. kettle将Excel数据导入oracle

    导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...

  9. 简析将shp导入Oracle并利用geoserver将导入的数据发布

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.环境准备 1.1 软件准备 首先要安装有支持空间数据的Oracle ...

随机推荐

  1. DataStage系列教程 (Slowly Changing Dimension)缓慢变化维

    BI中维表的增量更新一般有2种: Type 1:覆盖更改.记录的列值发生变化,直接update成最新记录. Type 2:历史跟踪更改.记录值发生变化,将该记录置为失效,再insert一条新的记录. ...

  2. UVA 12657 Boxes in a Line(双向链表+小技巧)

    题意:对于一行按照顺序排列盒子数字与位置都为 1,2,3,4....n 执行四种操作 c = 1    x 放到 y 的左边 c =2     x 放到 y 的右边 c =3 交换 x, y c =4 ...

  3. java开发设计六大基本原则

    1.遵循单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责.一个类只专注于做一件事: 高内聚,低耦合: 实例: 普通的手表如果有一个指针坏了,那么手表将不再转动,而 ...

  4. 使用MessageFormat替换字符中的占位符

    使用String.format可以实现字符串的格式化功能,即将后面参数中的值替换掉format中的%s,%d这些值.但MessageFormat更为强大,不用管传入值是字符串还是数字,使用占位符即可. ...

  5. mongodb禁止外网访问以及添加账号

    未曾料到被黑客勒索比特币的戏码竟然降临到我的身上,几个月的技术积累付之一炬.怪只怪自己学艺不精,心存侥幸和无知,不过经此一役,方知网络安全防护的重要性. 一直未给自己的mongodb数据库设置账号密码 ...

  6. 在 Ubuntu 里如何下载、安装和配置 Plank Dock

    一个众所周知的事实就是,Linux 是一个用户可以高度自定义的系统,有很多选项可以选择 —— 作为操作系统,有各种各样的发行版,而对于单个发行版来说,又有很多桌面环境可以选择.与其他操作系统的用户一样 ...

  7. activiti如何让业务对象和对应的流程关联

    如何让业务对象和对应的流程 关联? 发现ProcessInstance 有个方法getBusinessKey()可以得到一个businessKey. ProcessInstance 对应数据库中的表a ...

  8. Mysql5.7基于日志转为基于事务主从复制

    将基于日志的复制变更为基于事务的复制 mysql版本要高于5.7.6 gtid_mode要设为off 处理步骤 详细步骤 1.查看主从mysql版本是否高于5.7.6 show variables l ...

  9. 局部标签(gcc对c的扩展)

    每个语句内嵌表达式都是一个可以声明局部跳转标签的域.一个局部标签只是一个标识符:你可以使用通常的goto语句跳到它--但是只能在它所属的域内这么做.一个局部标签的申明如下:__label__ labe ...

  10. Using Oracle Database In-Memory with Oracle E-Business Suite

    Database In-Memory is one of a number of options that can be deployed to address Oracle E-Business S ...