一、oracle数据备份
(一)oracle备份流程:
1,导出用户的数据(backup scott)命令:exp
2,创建用户并配置默认表空间:create user username identified by password default tablespace tablespacename quota size on tablespacename;
例如:
create user liqinghai identified by liqinghai default tablespace users quota 10M on users;
3,给用户配置权限:grant create session,create table , create view to username;
4,导入用户数据(import the data ):imp
其中:在导出和导入中,要区分好用户名;
导出为你要导出用户的用户名和密码
导入为你新建的用户,当提示是否导入整个文件时:用户名为之前所导出的用户名
(2)备份数据库中的表,在新表中操作数据,避免破坏原有的数据
create table 新表 as select * from 旧表;
mysql中没有as
(二)表空间知识
详细内容:点击打开链接http://blog.csdn.net/jmilk/article/details/51599260
二、表空间的分类
(一)表空间分为3类:永久表空间、临时表空间和undo表空间。
1、永久表空间:存储数据库中需要永久化存储的对象,比如二维表、视图、存储过程、索引。
2、临时表空间:存储数据库的中间执行过程,如:保存order by数据库排序,分组时产生的临时数据。操作完成后存储的内容会被自动释放。临时表空间是通用的,所的用户都使用TEMP作为临时表空间。一般只有tmp一个临时表空间,如果还需要别的临时表空间时,可以自己创建。
3、UNDO表空间:保存数据修改前的副本。存储事务所修改的旧址,即被修改之前的数据。当我们对一张表中的数据进行修改的同时会对修改之前的信息进行保存,为了对数据执行回滚、恢复、撤销的操作。
(二)oracle的数据库在逻辑上是有表空间组成的
(三)oracle实例
1.实例是一组后台进程和共享内存。
2.数据库是磁盘上存储的数据集合。
3.实例“一生”只能装载并打开一个数据库。
4.数据库可以由一个或多个实例(使用RAC)装载和打开。
三、数据库实例启动演示
(一)数据库启动命令startup用法及过程:
每当一个Oracle数据库启动时,它都经历一系列步骤来保证数据库一致性。因此,当一个数据库启动时,它经历三个模式:NOMOUNT、MOUNT和OPEN。
1、STARTUP NOMOUNT选项:(读取初始化参数文件,启动实例):
STARTUP NOMOUNT选项启动实例,但不安装数据库。当数据库以这个模式启动时,参数文件被读取;后台进程和内存结构被启动;但它们不被附加或与数据库的磁盘结构进行通信。当实例处于这个状态时,数据库是不可使用的。
2、STARTUP MOUNT选项:(完成nomount过程,并打开控制文件)
STARTUP MOUNT选项执行STARTUP NOMOUNT选项的所有工作,但另外附加数据库结构并与这些结构进行交互。这时Oracle从它用来查找和附加到主要数据库结构的控制文件中获得信息。当处于这个模式时,可以执行一些管理型任务,比如恢复。
3、STARTUP OPEN选项:(完成nomount和mount过程,并打开数据文件,日志文件)
如果STARTUP命令行上没有指定任何模式,STARTUP OPEN选项就是默认的启动模式。STARTUP OPEN选项执行STARTUP NOMOUNT和STARTUP MOUNT选项的所有步骤。这个选项把数据库变成对所有用户都时可用的。
4、STARTUP FORCE选项:(重新启动数据库)
如果在用正常方式启动数据库时遇到了困难,可以使用STARTUP FORCE选项。STARTUP FORCE选项首先异常关闭数据库,然后重新启动它。
(二)数据库关闭命令shutdown用法:
1、shutdown normal :正常方式关闭数据库。 不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
2、shutdown immediate :立即方式关闭数据库。 不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
3、shutdown abort :直接关闭数据库。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间 。不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
4、shutdown transactional: 等待用户完成当前的事务后关闭数据库。不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
(三)ORACLE中,sqlplus / as sysdba中,斜杠与as中间有空格。sqlplus /nolog命令中,却没空格,为什么呢?
sqlplus / as sysdba是一种简化写法,其实是省略了用户名和密码,完整的写法是sqlplus sys/password as sysdba而sqlplus /nolog是另外的用法了,nolog表示不进行登录,仅仅是进入sqlplus软件而已
(四)连接数据库格式:connect username/password@servername as sysdba
oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn / as sysdba是属于操作系统认证。
(五)select name from v$database;
1、v$database视图是当前数据库实例的各种信息;
2、
v$database视图是当前数据库实例的各种信息;
四、创建数据库流程:
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。
对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。
创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
(一)下面是创建数据库的具体过程:
1.假如现在已经建好名为'news'的数据库,此时在F:\oracle\product\10.1.0\oradata\目录下已经存在news目录(注意:我的Oracle10g安装在F:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\product\10.1.0\oradata\目录下)。
2.在创建用户之前,先要创建表空间:
其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;
如:
SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;
其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
3.现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:
其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间名;
create user liqinghai identified by liqinghai default tablespace users quota 10M on users;
其中:quota size on tablespace_name 给表空间指定大小
如:
SQL> create user news identified by news default tablespace news_tablespace;
默认表空间'default tablespace'使用上面创建的表空间。
4.接着授权给新建的用户:
SQL> grant connect,resource to news; --表示把 connect,resource权限授予news用户
SQL> grant dba to news; --表示把 dba权限授予给news用户
授权成功。