Oracle-数据库、表空间、用户、表之间关系以及创建
来源:互联网 发布:js done 编辑:程序博客网 时间:2024/05/16 12:57
Oracle-数据库、表空间、用户、表之间关系以及创建
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例。 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等); 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区。 在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件。Oracle有一个很大的内存块,成为全局区(SGA)。
本文所有操作基于Oracle database 12c,Windows10专业版,其中代码均经本人测试通过
1、数据库
数据库是数据集合。Oracle是一种数据库管理系统,是一种关系型的数据库管理系统。 我们通常所说的‘数据库’,并不仅指物理的数据集合,他包含物理数据、数据库管理系统。也即物理数据、内存、操作系统进程的组合体。
查看当前数据库名(需要登录数据库)
select name from v$database;
查看全部数据库名
在Oracle安装目录root/admin下面,文件夹名就是数据库名
切换数据库
我们通过cmd使用命令sqlplus登录时,是默认以当前全局数据中的ORACLE_SID的值作为数据库(如果把该值改为不存在的数据库,则无法登录,会一直报错(invalid username/password; logon denied),不信试试- -)。所以,如果我们不修改这值,那么我们每次登陆都是登陆到同一个数据库里面。
set ORACLE_SID=student (数据库名)
在cmd输入上面命令,设置要登录的数据库,那么我们就可以轻松地切换数据库了。
简单创建数据库步骤(基于oracle database 12g)
- 打开database configuration assistant
- 选择创建数据库->下一步
- 选择高级模式->下一步
- 一般用途或事物处理->下一步
- 输入全局数据库名,SID(用于标识该数据库最原始的数据库实例)->下一步
- 默认->下一步
- (方便记忆)选择所有用户使用同一管理口令,输入口令->下一步
- 默认->下一步
- 选择所有数据库文件使用公共位置->下一步
- 默认->下一步,默认->下一步,默认->下一步,默认->下一步
- 完成(好了,现在你可以喝杯咖啡,等待时光的流逝)
2、数据库实例
Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。 如果我们把数据库当做是Java中的class,那么数据库实例就是new出来的object。一般而言,一个数据库只对应一个实例,一个实例也只能操作一个数据库。但在RAC(数据库服务集群的)情况,一个数据库可以有多个实例。 全局数据库名与SID的关系,其实在创建数据库的时候系统就说得很清楚了,下面是截图。全局数据库名就是数据库名,SID是数据库最原始的的实例的名称。
jdbc:oracle:thin:@localhost:5501:student(student就为数据库实例名)
查看当前数据库实例名
select instance_name from v$instance;
3、表空间
Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。 有了数据库,就可以创建表空间。 表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。
表空间创建sql代码
Create TableSpace 表空间名称DataFile 表空间数据文件路径Size 表空间初始大小Autoextend on
实例
create tablespace space_test datafile 'D:\app\root\product\12.1.0\studentdata\space_test.dbf' size 50m autoextend on;
查看当前实例拥有的表空间
select * from v$tablespace
可见,我们刚刚创建的表空间在最后一行
4、用户
Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间和临时表空间。在上面,我们已经创建了表空间,现在创建临时表空间。
创建用户4步骤
1. 创建表空间
2. 创建临时表空间
3. 创建用户,选定表空间和临时表空间
4. 给用户给予权限
临时表空间创建sql代码
Create temporary TableSpace 表空间名称tempfile 表空间数据文件路径Size 表空间初始大小Autoextend on
实例
create temporary tablespace temp_space_test tempfile 'D:\app\root\product\12.1.0\studentdata\temp_space_test.dbf' size 50m autoextend on;
创建用户sql代码,开头必须是c##,跟以往版本创建不一样
create user c##username identified by password default tablespace user_data temporary tablespace user_temp;
实例
create user c##helloworld identified by helloworlddefault tablespace space_test temporary tablespace temp_space_test;
授权
grant connect,resource,dba to c##helloworld;
实例
grant connect,resource,dba to c##helloworld;
5、结构层次图
参考博客地址:
http://www.cnblogs.com/netsql/articles/1745978.html
http://www.cnblogs.com/zouhao/p/3627522.html
http://www.cnblogs.com/advocate/archive/2010/08/20/1804066.html
http://blog.csdn.net/haiross/article/details/20357675
以上是本人学习理解oracle数据库的部分总结,参考了以上博客,如果不对之处,欢迎拍砖:)
- Oracle-数据库、表空间、用户、表之间关系以及创建
- oracle创建数据库以及用户表空间
- oracle用户和表空间以及表之间的关系
- Oracle 数据库、实例、用户、表空间、表之间的关系
- Oracle数据库、实例、用户、表空间、表之间的关系
- Oracle数据库用户、表、表空间之间关系详解
- Oracle 数据库、实例、用户、表空间、表之间的关系
- Oracle数据库实例、用户、表、表空间之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle 数据库、实例、用户、表空间、表之间的关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle - 数据库的实例、表空间、用户、表之间关系
- Oracle数据库、实例、用户、表空间、表之间的关系
- oracle 数据库、实例、用户、表空间、表之间的关系
- 下载文件对前端来需要做的事情
- jenkins 自动化部署
- 泛型学习
- js手机号码格式、tp5身份证格式验证
- 酷炫的图片浏览
- Oracle-数据库、表空间、用户、表之间关系以及创建
- HealthKit之开启和info.plist配置
- textrank关键词提取
- c# 序列化
- h5笔记3
- 求知过程之搭建maven多模块项目管理
- 警惕rapidxml的陷阱(二):在Android上默认内存池分配数组过大,容易导致栈溢出
- 伪静态URLRewrite学习笔记
- 蓝桥杯_快速排序