oracle如何创建表空间和备份数据
1.创建数据表空间
create tablespace "chenxm"
logging
datafile 'e:\spaces_eu\chenxm.ora' size 500m extent
management local segment space management auto ;
alter database
datafile 'e:\spaces_eu\chenxm.ora' autoextend
on next 1m;
2.创建临时表空间(日志文件)
create
temporary tablespace "chenxm_temp" tempfile
'e:\spaces_eu\chenxm_temp.ora' size 100m autoextend
on next 1m maxsize unlimited extent management local uniform
size 1m;
3.创建用户和授权
create user "eucrm" profile "default"
identified by "1" default tablespace "chenxm"
temporary tablespace "chenxm_temp"
account unlock;
grant unlimited tablespace to "eucrm";
grant create database link to "eucrm";
grant create any table to "eucrm";
grant create any trigger to "eucrm";
grant create any view to "eucrm";
grant create database link to "eucrm";
grant create procedure to "eucrm";
grant create table to "eucrm";
grant create tablespace to "eucrm";
grant create trigger to "eucrm";
grant drop any table to "eucrm";
grant insert any table to "eucrm";
grant update any table to "eucrm";
grant "connect" to "eucrm";
alter user "eucrm" default role all;
4.删除表空间与用户
drop user eucrm cascade;
drop tablespace chenxm including contents;
drop tablespace chenxm_temp including contents;
5.创建表
建表时最好依照第三范式去建表(三个范式),这样可以最大程度避免出现数据冗余,
而且表结构合理的情况下,可以加快查询速度
第一范式:表中每一个字段的数据都不可分割。
在目前的数据库软件及其设计中,基本只有char类字段要考虑这一范式
(而不是像有些人说的现有数据库完全不需要考虑,实际上很多垃圾软件公司设计数据库为了方便以后变更,很多都用varchar型的字段)
,但适当合并一些char类字段,可简化数据库结构,如将电话1、电话2、电话3(定长字符串)类的设计改为电话(varchar型变长字符串),
采用适当的正则表达式确保输入数据的正确性.
第二范式:非主键列完全依赖主键列。
与完全依赖所对应的部分依赖,是指某些非主键列仅依赖复合主键中的部分列,而不是整个复合主键。因此所有单主键的表都符合第二范式。
(学号, 课程名称) → (姓名, 年龄, 成绩, 学分)
违反第二范式:
课程名称 → 学分,学分实际上只依赖于课程名(与学号无任何关系),
学号 → 姓名, 年龄,同理,姓名、年龄与课程名无任何关系。
第三范式:非主键列不可传递依赖主键,即非主键列互不依赖。
(学号) → (姓名, 年龄, 所在学院, 学院地点, 学院电话)
违反第三范式:(学号) → (所在学院) → (学院地点, 学院电话)
6.建立索引
索引:在经常查询的字段上面建立索引,
利用index对查询进行优化,(index可以避免对表的一个全面扫描)
原理:当以某个字段建立一个索引的时候,数据库就会生成一个索引页,
索引页不单单保存索引的数据,还保存了索引在数据库的具体的物理地址[rowid],
单我们查询数据时,oracle会先查索引页,这样就能够很快的定位查找到要找的记录)。
注意:
如果表的列很少,不适合建索引.
当执行过多次的insert,delete,update后,会出现索引碎片,
影响查询速度,我们应该对索引进行重组.
7. sql语句的优化
尽量使你的sql语句能够使用索引。
怎样使sql语句能够使用到索引呢:
当sql语句中包含not in,<>,is null,is not null,like '%%'的时候不会用索引。
IN: in会拆成一堆or的,可以使用表的索引。
NOT IN:强列推荐不使用,因为它不能应用表的索引。优化方案:用NOT EXISTS 或(外连接+判断为空)方案代替
<> 操作符(不等于): 不等于操作符是永远不会用到索引的,因此对它的处理只会产生全表扫描。
优化方案:用其它相同功能的操作运算代替,如a<>0 改为 a>0 or a<0;a<>’’ 改为 a>’’.
IS NULL 或IS NOT NULL操作(判断字段是否为空):
判断字段是否为空一般是不会应用索引的,因为B树索引(oracle大多是使用B树索引)是不索引空值的。
优化方案:用其它相同功能的操作运算代替,如 a is not null 改为 a>0 或a>’’等。
is null 时,用一个缺省值代替空值,例如业扩申请中状态字段不允许为空,缺省为申请。
LIKE:LIKE操作符可以应用通配符查询,里面的通配符组合可能达到几乎是任意的查询,但是如果用得不好则会产生性能上的问题,
优化方案:如LIKE ‘%001%’ 这种查询不会引用索引,会产生全表扫描,
而LIKE ‘001%’则会引用范围索引。进行范围的查询,性能肯定大大提高。
8.备份数据
导出:
exp 用户名/密码@服务名 file=d:\file name.dmp
数据导出:
1 将数据库test完全导出,用户名system 密码manager 导出到d:\daochu.dmp中
exp system/manager@test file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@test file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@test file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@test file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
导入
imp system/admin@服务名 file=d:\daochu.dmp
数据的导入
1 将d:\daochu.dmp 中的数据导入 test数据库中。
imp userid=system/manager@test fromuser= touser= file=d:\daochu.dmp
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@test file=d:\daochu.dmp tables=(table1)
例如:
imp username/password@servicename file=e:\filename.dmp full=y ignore=y log=log.txt
exp username/password@servicename file=e:\filename.dmp full=y
发表评论
-
javascript常用函数search用法
2011-08-22 14:26 4006javascript常用函数总结 search 定义和用法 ... -
java变量初始化顺序
2011-08-04 15:28 16231.变量初始化顺序:静 ... -
java异常总结
2011-08-02 15:18 6141.No row with the given identif ... -
关闭oracle
2011-07-27 09:41 0一、启动监听和挂载数 ... -
删除SVN历史用户密码记录
2011-03-31 14:05 1590C:\Documents and Settings\Admin ... -
Java数组的扩展
2010-11-20 10:00 5758package test; import java.lang ... -
常用链接
2010-08-31 22:26 0SVN: http://subclipse.tigris.or ... -
oracle学习笔记
2010-08-22 16:51 0oracle学习笔记: 创建数据库主要包括三部分 ... -
java模式
2010-08-17 22:43 0... -
oracle数据库权限总结
2010-08-16 21:59 1354今天我想就我最近学习oracle权限的笔记总结一下。 ... -
数据结构学习总结
2010-08-15 21:40 0最近我在学习数据结 ... -
oracle函数decode用法
2010-08-12 21:55 1469decode用法: 1。decode(条件,值1,返回值1, ... -
横表和从表设计
2010-08-08 22:16 1356数据库表的设计一般会有横表,纵表,多端表等设计方案。下面 ... -
hibernate list和iterate 的区别
2010-08-03 22:47 3404今天我想讲一下我前几天面试遇到的一个hibernate问 ... -
oracle 安装步骤
2010-08-02 22:01 1307此安装步骤是截图韩顺平老师的。请安装顺序1,2,,,安装。由于 ... -
Effective java学习笔记
2010-08-01 17:26 11271.静态工厂方法代替构造函数 如:pub ... -
oracle数据库优化方案
2010-08-01 17:13 2200优化oracle中的sql语句,提高运行效率 (1) ... -
Freemaker的使用
2010-08-01 14:57 6780这是我第一次写博客。主要是想总结一下自己学习的知识!不足之 ...
相关推荐
oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作
在Oracle数据库管理中,创建表空间和用户是基础但至关重要的操作,这直接影响到数据库的性能、安全性和数据管理效率。以下将详细解析如何在Oracle数据库中创建表空间和用户,以及这一过程中涉及的关键概念和步骤。 ...
根据给定的文件信息,我们可以总结出以下关于Oracle数据库中用户和表空间创建的相关知识点: ### 一、Oracle表空间创建 #### 1. 表空间概念 在Oracle数据库中,表空间是逻辑存储单元,它由一个或多个数据文件组成...
–Oracle数据库创建表空间 create tablespace new_taspace –表空间名 DATAFILE 'D:NEWTABLESPACE.DBF' –表空间关联的数据文件和位置 size 200M –文件初始大小 autoextend on next 20MB MAXSIZE 400MB; –...
### Oracle数据库、表空间及数据文件之间的关系 在Oracle数据库管理系统的架构中,数据库、表空间与数据文件之间存在着紧密的联系。理解这些组件之间的相互作用对于有效地管理和维护Oracle数据库至关重要。 #### ...
Oracle 数据库实例用户表空间之间的关系 Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个...
第04章 Oracle数据库创建与表空间维护 oracle学习资料
### Oracle数据库、实例、用户、表空间的关系解析 #### 一、Oracle数据库概述 Oracle数据库是一种高度复杂的数据库管理系统,主要用于企业级数据管理和处理。与其他数据库系统不同,Oracle数据库中的“数据库”这一...
Oracle RAC 增加 ASM 盘, 创建表空间 Oracle RAC 是一种高可用、高性能的数据库解决方案,通过将多个服务器节点组成一个集群,提供了高可用性和高性能的数据库服务。在 Oracle RAC 中,ASM(Automated Storage ...
在Oracle数据库管理系统中,创建表空间是管理数据库存储空间的关键操作。表空间是数据库中用于存储数据对象(如表、索引、视图等)的逻辑结构。它将物理磁盘上的一个或多个数据文件组织成一个逻辑单元,使得数据库...
7. 配置存储选项:返回表空间创建界面,勾选"启用日志记录",这将跟踪对表空间的更改,有利于故障恢复。选择适当的"块大小"(8MB),这将影响数据库的I/O性能和存储效率。 8. 最后,点击"确定"以提交这些设置并创建...
oracle数据库建表空间、分配权限 create temporary tablespace cppa_w_temp tempfile 'd:\oracle\datafile\cppa_w_temp.dbf' size 200m autoextend on next 100m maxsize 500m extent management local;
理解这些核心概念后,创建Oracle数据库涉及创建表空间、定义表结构(包括列、约束等)、分配权限和角色、设置索引等步骤。在实际操作中,还需要考虑数据安全性、备份恢复策略、性能优化等方面,确保数据库高效稳定...
在本章中,我们将深入探讨Oracle数据库的创建与表空间维护。Oracle数据库是企业级数据库管理系统,用于存储、管理和检索大量结构化数据。创建数据库是一个关键步骤,涉及到多个层次的规划和配置,包括物理结构、逻辑...
第04章 Oracle数据库创建与表空间维护
本篇文章将深入探讨如何手动创建一个Oracle数据库,这是一个基础但至关重要的过程,对于理解Oracle数据库体系结构和管理至关重要。 首先,创建Oracle数据库涉及以下几个关键步骤: 1. **系统环境准备**:确保你的...
Oracle 数据库常见表空间故障恢复方案 本文主要阐述用户表...本文对 Oracle 数据库常见表空间故障恢复方案进行了详细的介绍,包括用户表空间、临时表空间、系统表空间、回滚表空间和控制文件丢失或损坏的恢复方案。
模式对象是Oracle数据库中用户创建的各种应用对象,如表、索引、视图、序列、同义词、存储过程等。每个模式对象都在某个表空间内占用一定的存储空间,这可以理解为文件夹中的文件,而文件夹代表数据文件,抽屉代表表...