3.1、创建表空间和用户授权:

1、创建表空间:

CREATE TABLESPACE <表空间名> LOGGING DATAFILE '<存放路径>' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 31768M EXTENT MANAGEMENT LOCAL;

#windows存放路径:D:\app\Administrator\oradata\orcl\lc_data.dbf

#linux存放路径:/application/oracle/oradata/orcl/lc_data.dbf

2、创建用户并指定表空间:

CREATE USER <用户名> IDENTIFIED BY <密码> DEFAULT TABLESPACE <表空间名>;

#一个用户只有一个表空间,而表空间可以有多个用户;

3、给用户授予权限:

grant connect,resource,dba to <用户名>;

3.2、删除表空间:

1、删除用户:

drop user <用户名> cascade;

2、删除表空间:

drop tablespace <表空间名> including contents and datafiles cascade constraints;

#including contents:删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间无法删除;

#including datafiles:删除表空间中的数据文件;

#cascade constraints:删除表空间中表的外键参照;

3.3、表空间查询操作:

1、查询所有表空间及对应的路径:

select tablespace_name,file_name from dba_data_files;

2、查询所有表空间的状态信息;

select tablespace_name,status from dba_tablespaces;

3、增加表空间大小:

ALTER TABLESPACE <表空间名> ADD DATAFILE '<存放路径>' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

4、查看所有用户以及对应的表空间:

select username,default_tablespace from dba_users;

5、查看当前用户的缺省表空间:

select username,default_tablespace from user_users;

6、表空间之间的链接:

(1)创建表空间之间的链接:

create database link TO_<表空间名>_LINK connect to <用户名> identified by <密码> using '<数据库实例名>';

(2)查询表空间之间的链接:

select * from <当前表空间名>@TO_<表空间名>_LINK;

(3)删除表空间之间的链接:

drop database link TO_<表空间名>_LINK;

7、查询所有表空间的用量:

select tablespace_name,count(*) AS extends,round(sum(bytes)/1024/1024,2) AS MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name;

8、查看序列号,last_number是当前值:

select * from user_sequences;

9、修改表空间属性(离线):

alter tablespace <表空间名> offline;

10、修改表空间属性(在线):

alter tablespace <表空间名> online;

11、修改表空间属性(只读):

alter tablespace <表空间名> read only;

12、修改表空间属性(读写)

alter tablespace <表空间名> read write;

13、修改session的时间格式:

alter session set nls_date_format='yyyy-mm-dd';

3.4、索引操作:

1、创建单一索引:

create index <索引名> on <表名>(<列名1>);

2、创建组合索引:

create index <索引名> on <表名>(<列名1>,<列名2>);

select * from <表名> where <列名1>='<字符>'

#走索引

select * from <表名> where <列名2>='<字符>'

#不走索引

select * from <表名> where <列名1> like '%<字符>%'

#不走索引

select * from <表名> where <列名1>='<字符>' and <列名2>='<字符2>'

#走索引

select * from <表名> where <列名1>='<字符>' or <列名2>='<字符2>'

#不走索引

drop index <索引名称>;

#删除索引

3、查看索引的方法:

(1)在当前用户中查找表名:

select * from user_tables where table_name like '<表名>%';

(2)查询该表的所有索引:

select * from user_indexes where table_name='<表名>';

(3)查询该表的所有索引列:

select * from user_ind_columns where table_name='<表名>';

(4)查询当前用户所有表的索引和索引类别:

select table_name,index_name,index_type from user_indexes order by index_name;

(5)查看当前用户下指定索引的信息:

select * from user_indexes where index_name=upper('&index_name');

(6)查看当前用户下指定的索引的索引列:

select * from user_ind_columns where index_name=upper('&index_name');

(7)查看当前用户下指定索引的大小:

select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name');

(8)补充:

user_indexes #存放着当前用户所有表的索引信息;

user_segments #存放着当前用户所有表的索引大小;

user_ind_columns #存放着当前用户所有表的索引列信息;

4、索引补充:

(1)哪些列适合建索引:

1)经常出现在where子句的列;

2)经常用于表连接的列,在匹配表上进行建索引;

3)该列是高基数数据列,高基数数据列是指有很多不同的值;

4)索引里面不计null值;

5)表很大,查询结果集小;

6)在pk、uk、fk键上建立索引;

7)经常需要排序"order by"和分组"group by"的列;

(2)索引用不了的写法:

1)函数导致索引用不了 where upper(colname)= 'char';

2)可以对函数建索引:

create index <索引名> on <表名>(round(<列名1>));

3)表达式导致索引用不了 where colname*12=1200;

4)索引不是万能的;

(3)索引结构:

1)分析索引结构有效性:

analyze index <索引> validate structure;

一般来讲默认的方式是offline;

当以offline的模式analyze索引时,会对table加一个表级共享锁,对目前table的一些实时DMl操作会产生一定的影响;

而以online模式分析时候,则不会加任何lock,但在index_stats中是看不到任何信息的;

2)查看索引结构:

select NAME,HEIGHT,BLOCKS,BR_BLKS,BR_ROWS,LF_BLKS,LF_ROWS from index_stats;

3)合并索引叶级块碎片:

alter index <索引名> coalesce;

4)重建索引:

alter index <索引名> rebuild;

3、oracle表空间及索引操作的更多相关文章

  1. Linux服务器磁盘扩展和oracle表空间文件迁移操作记录

    1.环境介绍 服务器硬件:Dell R710 服务器OS:红帽子Linux   RHEL4.8 数据库:Oracle 10g 2.出现的问题 因为数据表每天有上百万的数据写入表,加上建立索引,导致表空 ...

  2. 转 关于oracle 分区表 表空间以及索引的总结

    关于oracle的表空间,分区表,以及索引的总结关键字: oracle, 表空间, 分区表, 索引 上周第一次做数据库测试碰到了很多问题特此总结: 表空间: Oracle的UNDOTBS01.DBF文 ...

  3. ORACLE表空间操作实例

    本文主要介绍oracle表空间常见的操作实例,包括创建.查询.增加.删除.修改.表空间和数据文件常用的数据字典和动态性能视图包括v$dbfile.v$datafile.v$tempfile.dba_s ...

  4. Oracle 表空间常用操作

    aliases: [Oracle表空间] tags:      [数据库,Oracle,Blog] summary: [Oracle表空间常用操作,包括查询.分析.扩容.删除.优化等] date:   ...

  5. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

  6. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  7. Oracle表空间详解

    Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

  8. Oracle表空间迁移Move Tablespace

    move一个表到另外一个表空间时,索引不会跟着一起move,而且会失效.(LOB类型例外) move分为: *普通表move *分区表move *LONG,LOB大字段类型move来进行测试和说明. ...

  9. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

随机推荐

  1. Linux 操作系统(四)用户组管理&进程管理&任务调度

    以下实例均在Centos7下验证 Centos7 查看命令帮助 man xxx 用户组管理 useradd useradd user1 password user1 cat /etc/passwd # ...

  2. stress工具使用指南和结果分析(好好好测试通过)

    stress工具使用指南和结果分析 佛心看世界关注 0.1152019.05.13 09:17:35字数 547阅读 1,112 #stress `stress' imposes certain ty ...

  3. Ansible_管理机密

    一.Ansible Vault 1.什么是Ansible Vault Ansible提供的Ansible Vault可以加密和解密任何由Ansible使用的结构化数据文件 若要使用Ansible Va ...

  4. OpenStack挂载ISO镜像解决

    OpenStack挂载ISO镜像解决 Summary 本次在OpenStack平台上进行,基于kvm,挂载iso镜像到OpenStack虚拟机中. 1.针对linux: 上传所需要挂载的iso镜像(必 ...

  5. C语言编译器开发之旅(开篇)

    编译器写作之旅   最近在Github上看到一个十分有趣的项目acwj(A Compiler Writing Journey),一个用C语言编写编译器的项目.身为一个程序员,这在我看来是一件十分酷的事 ...

  6. 女朋友看了也懂的Kafka(上篇)

    @ 目录 前言:为什么需要Kafka 1.初识kafka 1.1 消息队列的好处: 1.2 消息队列的两种模式 没有消息队列我们怎么做? 传统MQ怎么做? 这时候,Kafka就"闪亮登场&q ...

  7. [leetcode] 45. 跳跃游戏 II(Java)(动态规划)

    45. 跳跃游戏 II 动态规划 此题可以倒着想. 看示例: [2,3,1,1,4] 我们从后往前推,对于第4个数1,跳一次 对于第3个数1,显然只能跳到第4个数上,那么从第3个数开始跳到最后需要两次 ...

  8. GO学习-(10) Go语言基础之指针

    Go语言基础之指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针. 要搞明白Go语言中的指针需要先知道3个概念:指针地址.指针类型和指针取值. Go语言中的指针 任何程序数 ...

  9. TensorFlow基础剖析

    TensorFlow基础剖析 一.概述 TensorFlow 是一个使用数据流图 (Dataflow Graph) 表达数值计算的开源软件库.它使 用节点表示抽象的数学计算,并使用 OP 表达计算的逻 ...

  10. cuDNN 功能模块解析

    Abstract 本cuDNN 8.0.4开发人员指南概述了cuDNN功能,如可自定义的数据布局.支持灵活的dimension ordering,striding,4D张量的子区域,这些张量用作其所有 ...