美文网首页
oracle创建用户、创建表空间

oracle创建用户、创建表空间

作者: 鬼魅魑魅 | 来源:发表于2017-12-07 17:31 被阅读14次

    1.首先我们可以用scott用户以sysdba的身份登录oracle.

    conn scott/tiger as sysdba  
    

    2.然后我就可以来创建用户了.

    create user zzg identified by zzg123;  
    
    -- 创建好用户我们接着就可以修改用户的密码.
    alter user zzg identified by unis;  
    

    4.默认情况下用户创建好后系统会默认给该用户分配一个表空间(users);我们可以通过下面的sql语句来查看一下所有用户所在的表空间.

    select username,default_tablespace from dba_users;  
    

    5.一般在开发情况下,我们当然不会使用用户的默认表空间,所以这时我们需要创建一个表空间.
    在一句命令中执行完下面

    create tablespace ts_zzg datafile 'f:\ts_zzg\zzg_data.dbf' size 200M
    autoextend ON NEXT 50M maxsize 20000M;  --表空间自动扩展大小
    

    注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便.

    6.创建好表空间,还需要将表空间分配给用户.

    alter user zzg default tablespace ts_zzg;  
    -- 修改表空间名称
    SQL> alter tablespace  ts_zzg rename to ts_zzg_newname;  
    

    7.我们可以通过步骤4来查询用户所在的表空间.

    8.给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限

    grant create session,create table,create view,create sequence,unlimited tablespace to zzg;  
    

    9.给用户分配了权限之后我们就可以用zzg用户来登录了.

    conn zzg/unis;  
    

    10.登录之后我们也可以来查询用户所具有的权限

    select *from session_privs;  
    

    11.最后我们也可以删除用户及其相关对象

    drop user zzg cascade;  
    

    解锁用户

    ALTER USER username ACCOUNT UNLOCK;
    ```sql
    
    
    修改表空间大小
    ```sql
    ALTER DATABASE datafile 'D:\soft\product\11.2.0\dbhome_1\tablespace\BISPACE.DBF' autoextend ON NEXT 100M maxsize 32000M;
    

    查看用户下各表占用表空间大小

    Select Segment_Name,Sum(bytes)/1024/1024 total From User_Extents Group By Segment_Name order by total desc
    
    imp bi/bi file="filePath/xxx.dmp" full=y
    imp BI/BI file="E:\develop\BI_2017-12-07-00-05-01.dmp" full=y
    

    --查询数据库servername

    select value from v$parameter where name = 'service_names';
    
    show parameter service_name
    

    --查询数据库域名

    select value from v$parameter where name = 'db_domain';
    
    show parameter domain
    

    --导入dmp

    imp bi/bi file="F:\oracle_2017-11-28-00-05-01\work\platform\bak\oracle\BI_2017-11-28-00-05-01.dmp"  full=y
    
    imp sjgl_dsfcj/tiger file="F:\oracle_2017-11-28-00-05-01\work\platform\bak\oracle\SJGL_DSFCJ_2017-11-28-00-05-01.dmp"  full=y
    
    imp bi/bi file="F:\oracle_2017-11-28-00-05-01\work\platform\bak\oracle\BI_2017-11-28-00-05-01.dmp"  full=y
    

    --导出dmp

    exp file=d:\daochu.dmp tables=(act%)
    

    --恢复数据
    1、获得当前数据库的scn号

        select current_scn from v$database; (切换到sys用户或system用户查询) 
    

    2、查询当前scn号之前的scn

        select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据;如果不是,则继续缩小scn号)
    

    3、恢复删除且已提交的数据

        flashback table 表名 to scn 1499220;
    
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
    select * from 表名 as of timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');  (如果不是,则继续缩小范围)
    flashback table 表名 to timestamp to_timestamp('2013-05-29 15:29:00','yyyy-mm-dd hh24:mi:ss');
    

    相关文章

      网友评论

          本文标题:oracle创建用户、创建表空间

          本文链接:https://www.haomeiwen.com/subject/alljixtx.html