初学oracle
  安装的是oracle 10g for winxp
  创建用户后
  没有给用户分配权限
  使用用户身份登录 也可以创建和删除表
  如果这样 权限和角色设置还起作用吗
  

解决方案 »

  1.   

    要创建表,该用户必须拥有create table权限,如果该用户具有dba角色,自动具有创建该权限
      

  2.   

    --查看用户拥有的角色
    select * from user_role_privs;
    --查看用户拥有的对象权限
    select * from user_tab_privs;
    --查看用户拥有的系统权限
    select * from user_sys_privs;
      

  3.   

    没赋权限的话,估计你是以SYSDBA登录,这样子登系相当于系统管理员的权限
      

  4.   

    当然需要 权限!!create user abc identified by abc123;grant create session,create table to abc;commit;
      

  5.   

    oracle 中默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 
      

  6.   

    是我疏忽了。
    创建用户时,默认了connect角色,所以具有创建表的权限。但connect角色具有如下权限:ALTER SESSION 
    CREATE CLUSTER
    CREATE DATABASE LINK 
    CREATE SEQUENCE 
    CREATE SESSION 
    CREATE SYNONYM 
    CREATE TABLE 
    CREATE VIEW
     
    应该没有删除权限,为什么使用drop命令,却可以删除表,不知是什么原因?
      

  7.   


    应该分配角色具备创建表的权限.select * from user_sys_privs; 
    语句查看下