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

Oracle 11g 学习八:视图、用户管理、数据的导入导出和数据表的冷备份

2014-08-12 10:57 477 查看
一、视图

    数据库的设计者在设计数据库时同时给出很多视图、每一个视图都包装好了一条条复杂的SQL语句,视图的创建语法:

    CREATE [OR REPLACE] VIEW 视图名称 AS 子查询 ;

    例:创建一张视图:CREATE VIEW myview AS SELECT d.deptno,d.dname,d.loc,count(e.empno) count,avg(e.sal) FROM emp e,dept d WHERE e.deptno(+)=d.deptno GROUP BY d.deptno,d.dname,d.loc ;

    查询视图:SELECT * FROM myview ;    删除视图:DROP VIEW myview ;

    OR REPLACE字段:创建视图不存在则创建已存在则替换

    CREATE OR REPLACE VIEW myview AS SELECT * FROM emp WHERE deptno=20 ;

    a. 选项一:WITH CHECK OPTION:保证视图的创建条件不被更新

      CREATE OR REPLACE VIEW myview AS SELECT * FROM emp WHERE deptno=20 ;视图创建条件'deptno=20'此时不允许通过更新视图而改变视图的创建条件。 

    如果不加入WITH CHECK OPTION,UPDATE myview SET deptno=30 WHERE empno=7369 ; 运行没有问题,但是这样操作是不对的,因此加入WITH CHECK OPTION。

      CREATE OR REPLACE VIEW myview AS SELECT * FROM emp WHERE deptno=20 WITH CHECK OPTION ;

    b. 选项二:WITH READ ONLY:数据视图不允许更新

      CREATE OR REPLACE VIEW myview AS SELECT * FROM emp WHERE deptno=20 WITH READ ONLY ;

    如果视图的查询语句是统计查询,则视图不可能被更新。

二、用户管理

    在DCL中存在两个操作:GRANT(授权)、REVOKE(收回)

    创建新用户必须在SYS和SYSTEM两个用户操作。

    1、创建一个dog用户,密码为:wangwang

          CONN sys/change_on_install AS SYSDBA ;

          CREATE USER dog IDENTIFIED BY wangwang ;

    2、授权dog用户session权限,否则dog无法登陆

          GRANT CREATE SESSION TO dog ;

    3、在Oracle之中数据表存储在硬盘上,是表空间存储在硬盘上,而表存储在表空间中,dog若要创建表,必须先获得创建表空间的权限再获得创建表的权限才可以创建表。

       为解决用户授权操作,在Oracle之中存在很多角色,每个角色包含多个权限,而角色主要有两个connect和resource ;

       GRANT CONNECT,RESOURCE TO dog ;    把connect,resource角色给了dog

    4、修改密码   --> 管理员重置dog密码为miaomiao

       ALTER USER dog IDENTIFIED BY miaomiao ;

     当一个用户密码修改后,希望用户第一次登陆后更改密码,即让密码失效。

       ALTER USER dog PASSWORD EXPIRE ;

    5、锁定一个用户    ALTER USER dog ACCOUNT  LOCK ;

       解锁一个用户    ALTER USER dog ACCOUNT  UNLOCK ;

    6、授权用户访问其他用户某张表的权限:INSERT,DELETE,UPDATE,SELECT四中权限

      例:授权用户dog拥有scott.emp的INSERT,SELECT权限

        GRANT SELECT,INSERT ON scott.emp TO dog ; 则可以在dog用户下查询和增加scott用户下的emp表。

三、数据的导入导出

    数据库的备份操作是在整个项目运行中最重要的工作之一。

    数据的导入和导出是针对于一个用户的备份操作,且在数据量较小的情况下适用,如果数据量较大的话,这种操作是会损耗性能的,需解决大数据量的问题只能对数据分区操作。

    1、数据的导出:

      在硬盘上建立一个文件夹d:backup

      输入exp指令

      输入用户名和密码

      设置导出文件的名称:导出文件:EXPDATDMP ;

    2、数据的导入

      进入到导出文件所在文件夹之中:d:\backup

      输入指令imp

      导入整个导出的文件(yes/no):no>yes

四、数据表的冷备份

    数据库的冷备份是指在关闭数据库实例的的情况下进行数据库备份操作,如果进行冷备份,则需要备份出数据库中的几个核心内容:

    控制文件:指的是控制整个Oracle数据库的实例服务的核心文件,直接通过'v$controlfile'找到,

    重做日志文件:可以进行数据的灾难恢复,直接通过'v$logfile'找到

    数据文件,表空间文件通过'v$datafile'和'v$tablespace'找到

    核心操作的配置文件(pfile)通过'SHOW PARAMTER PFILE'找到

    确定要备份的文件之后,按照如下的步骤进行:

     a. 首先要使用超级用户管理员登陆       conn sys/change_on_install as sysdba ;

     b. 查找所有控制文件目录               select * from v$controlfile ;

     c. 备份重做日志文件                   select * from v$logfile ;

     d. 查找表空间文件                     select * from v$tablespace ;

                                           select * from v$datafile ;

     e. 找到pfile文件(Oracle启动文件)      show parameter pfile ;

     f. 关闭数据库实例                     shutdown immediate 

     g. 将所有查找的数据备份到磁盘上

     h. 重启实例:                         startup

   

 *************by
jixiangrurui  转载请注明出处*************    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐