zoukankan      html  css  js  c++  java
  • Oracle学习笔记之七(用户管理、角色与权限、导入导出等)

    下面这些基本的SQL语句应该熟悉,能够灵活运用。最好在不查资料的情况下,能够写出如下的任何代码。

    1. 用户操作

    --create user username identified by password
    --[default tablespace tablespace_default]
    --[temporary tablespace tablespace_temp]
    --[profiles profilename]
    --[account lock|account unlock]
    
    --创建用户
    create user df identified by pass1
        default tablespace users
        temporary tablespace temp;
    
    --修改用户配额
    alter user df quota 20m on users;
    
    --修改用户密码
    alter user df identified by pass2;
    
    --解锁用户
    alter user df account unlock;
    
    --删除用户
    drop user df cascade;
    
    --授权
    --grant sys_privi|role to user|role|public with admin option
    grant connect to mytest;
    grant resource to mytest;
    grant dba to mytest;
    grant exp_full_database to mytest;
    grant imp_full_database to mytest;
    
    --回收权限
    --revoke sys_privi|role from user|role|public
    revoke dba from mytest;
    
    --对象授权
    --grant obj_privi|all column on schema.object to user|role|public [with grant option]|[with hierarchy option]
    grant select,insert,delete,update on BBS.BBSDETAIL to MYTEST;   
    
    --回收对象授权
    --revoke obj_privi|all on schema.object from user|role|public cascade constraints
    revoke delete,update,insert,select on BBS.BBSDETAIL from MYTEST;

    2. 角色与权限

    表1:部分常用预定义角色的权限说明

    角色名   包含权限
    CONNECT                                            

    ALTER SESSION                                                                        

    CREATE CLUSTER

    CREATE DATABASE LINK

    CREATE SEQUENCE

    CREATE SESSION

    CREATE SYNONYM

    CREATE TABLE

    CREATE VIEW

     

    CREATE CLUSTER

    CREATE INDEXTYPE

    CREATE OPERATOR

    CREATE PROCEDURE

    CREATE  SEQUENCE

    CREATE TABLE

    CREATE TRIGGER

    CREATE TYPE 

     DBA  所有权限,不受限制
     EXP_FULL_DATABASE

    SELECT ANY TABLE

    BACKUP ANY TABLE

    EXECUTE ANY PROCEDURE

    EXECUTE ANY TYPE

    ADMINS RESOURCE MANAGER

     IMP_FULL_DATABASE

    EXECUTE_CATALOG_ROLE

    SELECT_CATALOG_ROLE

    3. EXPDP和IMPDP

    数据泵导出包括导出表、导出模式、导出表空间和导出全部数据库4种模式。EXPDP工具只能将导出的转储文件存放在DIRECTORY对象对应的OS目录中,而不能直接指定转储文件所在的OS目录。因此,使用EXPDP工具时,必须首先建立DIRECTORY对象,并且需要为数据库用户授予使用使用DIRECTORY对象的权限。

    示范:

    create directory DUMP_DIR as 'F:dpdump';
    grant read,write on directory DUMP_DIR to MYTEST;

    其中,我这里的F盘为移动硬盘,数据库存放目录与DUMP目录不在一个物理盘上,保证了导出与导入的速度。

    3.1 EXPDP导出命令

    expdp mytest/test001@orcl directory=DUMP_DIR dumpfile=mytest_s.dmp schemas=MYTEST

    EXPDP命令参数:

    1). CONTENT

    该参数用于指定要导出的内容,默认值为ALL,语法如下:

    content=[all|data_only|metadata_pnly]

    2). QUERY

    该参数用于指定过滤导出数据的WHERE条件,语法如下:

    query=[schema.][table_name:]query_clause

    expdp mytest/test001@orcl directory=DUMP_DIR dumpfile=mytest_s.dmp tables=DEPT query='where DEPTNO=10'

    3). DIRECTORY

    该参数指定转储文件和日志文件所在的目录,语法如下:

    directory=directory_object

    4). DUMPFILE

    该参数用于指定转储文件的名称,默认名称为expdat.dmp,语法如下:

    dumpfile=[directory_object:]file_name[,...]

    5). FULL

    该参数用于指定数据库模式导出,默认为n,语法如下:

    full={y|n}

    6). LOGFILE

    该参数用于指定导出日志文件的名称,默认名称为export.log,语法如下:

    logfile=[directory_object:]file_name

    7). STATUS

    该参数用于指定显示导出作业进程的详细状态,默认值为0,语法如下:

    status=integer

    integer用于指定显示导出作业状态的时间间隔,单位为秒。指定该参数后,每隔特定时间间隔会显示作业完成的百分比。

    8). TABLES

    该参数用于指定表模式导出,语法如下:

    tables=[schema.]table_name[:partition_name][,...]

    9). TABLESPACE

    该参数用于指定要导出表空间列表。

    10). COMPRESSION

    减少转储文件大小。
    有效的关键字值为: ALL, DATA_ONLY, [METADATA_ONLY] 和 NONE。

    11). ENCRYPTION

    加密某个转储文件的一部分或全部。
    有效的关键字值为: ALL, DATA_ONLY, ENCRYPTED_COLUMNS_ONLY, METADATA_ONLY 和 NONE

    12). ENCRYPTION_MODE
    生成加密密钥的方法。
    有效的关键字值为: DUAL, PASSWORD 和 [TRANSPARENT]。

    13). ENCRYPTION_PASSWORD
    用于在转储文件中创建加密数据的口令密钥。

    综合示范(将数据库模式为mytest下面内容导出到mytest_s.dmp文件,压缩,加密):

    expdp mytest/test001@orcl compression=ALL directory=DUMP_DIR dumpfile=mytest_s.dmp 
        encryption=ALL encryption_mode=PASSWORD encryption_password=yourpasshere schemas=MYTES

    3.2 IMPDP导入命令

    impdp mytest/test001@orcl directory=DUMP_DIR dumpfile=mytest_s.dmp  schemas=MYTEST

    IMPDP命令参数:
    1). REMAP_SCHEMA
    将一个方案中的对象加载到另一个方案。语法如下:

    remap_schema=source_schema:target_schema

    2). REMAP_TABLESPACE
    将表空间对象重新映射到另一个表空间。语法如下:

    remap_tablespace=source_tablespace:target_tablespace

    3). SQLFILE
    可以从DMP文件中提取对象的 SQL DDL 语句,写入指定的文件,以便之后使用。

    4). TABLE_EXISTS_ACTION
    导入对象已存在时执行的操作。
    有效的关键字为: APPEND, REPLACE, [SKIP] 和 TRUNCATE。

    5). TRANSPORT_DATAFILES
    按可传输模式导入的数据文件的列表。示范(向当前数据库中导入test.dbf数据文件):

    impdp system/1qaz2wsx directory=DUMP_DIR dumpfile=tran_datafiles.dmp transport_datafile='d:OracleData	est.dbf'


    综合示范(导入加密的文件):

    impdp mytest/test001@orcl directory=DUMP_DIR dumpfile=mytest_s.dmp encryption_password=yourpasshere schemas=MYTEST
  • 相关阅读:
    15、集合--TreeSet的源码分析(待完成)
    13、集合--HashSet相关方法源码解析(等map更新完成之后在进行补充)
    11、集合--Set接口
    10、集合--Set、AbstractSet、HashSet、TreeSet、SortedSet源码
    9、集合--ArrayList和LinkedList的一些对比
    8、集合--LinkedList的测试以及相关方法的源码分析
    7、集合--ArrayList的测试以及相关方法的源码解析
    6、集合--List接口
    Linux 高可用(HA)集群之keepalived详解
    CentOS7安装配置redis-3.0.0
  • 原文地址:https://www.cnblogs.com/nayitian/p/3228532.html
Copyright © 2011-2022 走看看