您的位置:首页 > 数据库 > Oracle

oracle---创建数据库、事务操作、备份

2017-01-11 14:29 162 查看
创建数据库

1.使用创建向导
database configuration assistant ,创建删除配置
创建时,可以选择模板 数据仓库、普通数据库、database、trun
一般选择new database即可
数据库名称,自己随意
数据库特性、定制脚本,默认可以,
数据库操作模式:专用服务器模式、共享模式。对连接数的控制,一般选专用即可。
内存,可以分配大一点,其他可以默认
数据库存储,表空间,文件夹位置等,默认可以

到这里就完成了数据库创建的配置,finish就可以完成了

创建表,并导入数据

create table myemp (id,name,sal) as select empno ,name,salary from emp;

从一个旧表中挑选需要的字段,复制到新数据表

事务

什么是事务?事务用于保证数据的一致性,它由一组相关的dml语句组成。只有全部dml执行成功才算成功,只要有一个失败,就都算失败。(简单来说,就是增加删除和修改)

举例:如网上转账就是,必须所有的流程都成功才可以。这边减掉,另一端账户要增加到。

可以有若干保存点,

savepoint aa

一旦提交后,保存点就全部删除

保存点可以多次回滚,比如县回滚到下午的保存点,发现不够,继续回滚到上午的保存点

rollback to aa

一旦退出,就会自动提交 exit

取消全部保存点,rollback 没有to 就是回滚全部了

只读事务

只允许进行查询操作,不能执行dml操作。可以确保用户只能取得某时间点的数据。

比如,机票代售点每天18点,开始统计今天的销售情况,这时可以使用只读事务。尽管其他会话可能会提交新的事务,但是只读事务将不会取得最新数据的变化,保证取得特定时间点的数据信息

设置只读事务

set transaction read only;

解释一下,比如a用户操作数据库XXX,18点时设置了只读事务。18点05分,b用户操作了数据库XXX,添加了3条数据,并提交,这3条数据已经完成了添加操作。

但是a用户进行查询时,是看不到b用户添加的数据库,可以保证a用户可以查看特定时点上的数据情况。

备份

逻辑备份和物理备份

逻辑备份,只能在数据库open的状态下进行

物理备份,既能关闭数据库后进行,也能在open状态下进行

导出分3种,使用exp命令

导出表,导出方案,导出数据库

在导入和导出的时候,启动cmd,进入到oralce目录的bin目录下,在输入下面的命令,例如: cd E:\app\uni\product\11.2.0\dbhome_1\BIN

导出自己的表

exp userid =scott/Hy820930@orcl tables=(emp,dept) file=d:\e1.dmp

            用户名/密码@数据库实例      括号中写表名,多个名称用逗号分隔  备份文件放置的目录

导出其他方案的表,需要dba的权限或者exp_full_database的权限,比如system就可以导出

exp userid=system/Hy820930@orcl tables=(scott.emp) file=d:\e2.dmp;

导出表结构,只需要在结尾加上rows=n,n不是变量,不能修改

exp userid=system/Hy820930@orcl tables=(scott.emp) file=d:\e2.dmp rows=n;

使用直接导出方式,direct=y,这种方式比默认方式速度快很多,当数据量大时,可以考虑这种方法

exp userid=system/Hy820930@orcl tables=(scott.emp) file=d:\e2.dmp direct=y;

导出方案

导出方案指使用export工具,到处一个或多个方案中的所有对象(表、索引、约束。。。)和数据,存放到文件中

导出自己的方案

exp userid=system/Hy820930@orcl owner=scott  file=d:\e2.dmp;

2种写法 exp scott/Hy820930@orcl owner=scott file=d:\scott3.dmp

导出其他方案,用户要导出其他方案,需要dba权限或exp_full_database权限,system用户可以导出任何方案

exp userid=system/Hy820930@orcl owner=(system,scott)  file=d:\e2.dmp;

导出数据库,需要dba权限或exp_full_database权限

导出所有数据库中的对象及数据

exp userid=system/Hy820930@orcl full=y inctype=complete file=d:\e2.dmp;

导入也分3种

导入自己的表

imp userid=scott/Hy820930@orcl tables=(emp) file=d:\xx.dmp;

如果导入其他用户的表,则这张表不能有主外键关系,否则无法完成导入

导入自身的方案

imp userid=scott/Hy820930 file=d:\xxx.dmp

导入其他的方案

imp userid=system/Hy820930 file=d:\xxx.dmp fromouser=system touser=scott;

导入数据库,会导入所有对象和数据,甚至可以自己创建数据库实例

imp userid=system/Hy820930 full=y file=d:\xxx.dmp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐