当前位置: 首页 > news >正文

Oracle12c创建表空间及用户

Oracle12c创建表空间及用户

1. 表空间相关内容

表空间数据文件容量与DB_BLOCK_SIZE有关,在初始建库时,DB_BLOCK_SIZE要根据实际需要,设置为 4K、8K、16K、32K、64K等几种大小,ORACLE的物理文件最大只允许4194304个数据块(由操作系统决定),表空间数据文件的最大值为 4194304×DB_BLOCK_SIZE/1024M。

生产环境考虑到数据库可能一直增加,所以放开表空间大小限制,语句如下:

--改变用户表空间容量限制,不做限制
ALTER USER ankangreli QUOTA UNLIMITED ON ankangrelir_data;

1. db_block_size

1、 DB_BLOCK_SIZE作为数据库的最小操作单位,是在创建数据库的时候指定的,在创建完数据库之后便不可修改。要修改DB_BLOCK_SIZE,需要重建数据库。一般可以将数据EXP出来,然后重建数据库,指定新的DB_BLOCK_SIZE,然后再将数据IMP进数据库。

2、 DB_BLOCK_SIZE一般设置为操作系统块的倍数,即2K,4K,8K,16K或32K,但它的大小一般受数据库用途的影响。对于联机事务,其特点是事务量大,但每个事务处理的数据量小,所以DB_BLOCK_SIZE设置小点就足够了,一般为4K或者8K,设置太大话一次读出的数据有部分是没用的,会拖慢数据库的读写时间,同时增加无必要的IO操作。而对于数据仓库和ERP方面的应用,每个事务处理的数据量很大,所以DB_BLOCK_SIZE一般设置得比较大,一般为8K,16K或者32K,此时如果DB_BLOCK_SIZE小的话,那么I/O自然就多,消耗太大。

3、 大一点的DB_BLOCK_SIZE对索引的性能有一定的提高。因为DB_BLOCK_SIZE比较大的话,一个DB_BLOCK一次能够索引的行数就比较多。

4、 对于行比较大的话,比如一个DB_BLOCK放不下一行,数据库在读取数据的时候就需要进行行链接,从而影响读取性能。此时DB_BLOCK_SIZE大一点的话就可以避免这种情况的发生。

2. sql查看db_block_size值

Oracle12c在WindowsServer2019中安装后,默认的db_block_size为8K

--value为db_block_size的默认值
select value from v$parameter where name='db_block_size'
--输出如下
8192 = 8K--查看INITIAL_EXTENT值,为DB_BLOCK_SIZE的整数倍
select owner,initial_extent/8192 from dba_rollback_segs
--输出
1	SYS	14
2	PUBLIC	16
3	PUBLIC	16
4	PUBLIC	16
5	PUBLIC	16
6	PUBLIC	16
7	PUBLIC	16
8	PUBLIC	16
9	PUBLIC	16
10	PUBLIC	16
11	PUBLIC	16

2. 创建表空间及用户

1. 查看与删除表空间语句

---查看表空间名称及表空间文件位置
select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;---1.表空间信息查看
select * from dba_tablespaces; ---查看表空间
select * from dba_data_files; --查看数据库文件位置
select * from dba_free_space;  
---2.临时表空间信息查看
select * from dba_temp_files;
select * from dba_temp_free_space; ---修改表的表空间
select 'alter table  ' || TABLE_NAME || '  move tablespace docmanagement;'from USER_TABLES UTwhere UT.TABLESPACE_NAME = 'USERS'--查询当前用户下在 USERS 表空间中的所有索引 ,并修改索引的表空间为 docmanagement
select 'alter index '|| index_name ||' rebuild tablespace docmanagement;' from user_indexes i
where i.tablespace_name = 'USERS'--删除表空间及数据库文件
drop tablespace TEMPORARY_DOCMANAGEMENT including contents and datafiles;

2. 创建表空间及临时表空间

以表空间testdb与临时表空间temporary_testdb为例

--创建表空间
create tablespace testdbdatafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\TESTDB.DBF' --dbf文件位置size 500Mautoextend on next 100Mmaxsize unlimited;
--创建临时表空间
create temporary tablespace temporary_testdbtempfile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\TESTDB_TEMP.DBF'size 500Mautoextend onnext 100M maxsize unlimitedextent management local;

3. 创建用户并指定默认表空间

  1. CDB是Oracle12c版本的新特性

  2. PDB与CDB创建用户的区别在与是否在用户名前面加C##,CDB需要加在用户名前加c##,而PDB则不需要;

  3. 如果启用了CDB则在客户端连接的时候必须加上c##

1. PDB方式

PDB全称为Pluggable Database,即可插拔数据库


---创建用户并指定默认表空间及临时表空间
create user test_user identified by test_user
profile default
default tablespace testdb
temporary tablespace temporary_testdb
account unlock;--用户授权
grant connect,resource,dba to test_user--删除用户
--drop user test_user cascade

2.CDB方式

CDB全称:Container Database,即容器数据库

--select * from dba_users t where t.username like 'C##%'--创建用户并制定默认表空间
create user c##test_user identified by test_user
profile default
default tablespace testdb
temporary tablespace temporary_testdb
account unlock;--用户授权
grant connect,resource,dba to  c##test_user--删除用户
--drop user c##test_user cascade

3. 关于12c的新特性

Oracle12c新特性:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/newft/new-features.html

相关文章:

  • Java并发编程——伪共享和缓存行问题
  • 挖种子小游戏
  • Linux下安装Mysql8.0版本【保姆级】
  • 「HDLBits题解」Conditional
  • Spring MVC中的方法的返回值!!!
  • 安防视频监控系统EasyCVR设备分组中在线/离线数量统计的开发与实现
  • LeetCode 589. N 叉树的前序遍历
  • sqlmap性能优化
  • Visual Studio常用快捷键及调试操作
  • 46-数组创建,添加,删除,查找,反转,拼接,截取,转换,反转
  • 数据交付变革:研发到产运自助化的转型之路
  • VS Code 配置 Vue3 模板 详细步骤
  • linux 测试网络传输速度
  • 【CSS】解决height = line-height 文字不垂直居中(偏上、偏下)的问题
  • 利用C++进行图像处理与计算机视觉
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017届校招提前批面试回顾
  • angular组件开发
  • Electron入门介绍
  • exports和module.exports
  • gops —— Go 程序诊断分析工具
  • HTTP请求重发
  • js学习笔记
  • Making An Indicator With Pure CSS
  • Puppeteer:浏览器控制器
  • Rancher如何对接Ceph-RBD块存储
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • redis学习笔记(三):列表、集合、有序集合
  • tweak 支持第三方库
  • 技术:超级实用的电脑小技巧
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端存储 - localStorage
  • 前端自动化解决方案
  • 事件委托的小应用
  • 王永庆:技术创新改变教育未来
  • 一道面试题引发的“血案”
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 你对linux中grep命令知道多少?
  • 从如何停掉 Promise 链说起
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (第一天)包装对象、作用域、创建对象
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (转)setTimeout 和 setInterval 的区别
  • (转)使用VMware vSphere标准交换机设置网络连接
  • .mysql secret在哪_MYSQL基本操作(上)
  • .stream().map与.stream().flatMap的使用
  • @hook扩展分析
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [2018-01-08] Python强化周的第一天
  • [AIGC] Kong:一个强大的 API 网关和服务平台