精华内容
下载资源
问答
  • 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracle数据库...

    使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?

    1.问题:各操作间或者性能上会不会有影响?
           如果有该如何解决?
           
      多用户操作的影响主要是回锁定记录,oracle数据库提供行级锁,也就是说用户操作数据时,oracle为记录行加锁,当然如果用户一次性操作的数据过多,oracle的锁资源过大,或者锁定数据长时间没有释放(例如几百万条记录更新移植没有提交)。oracle的资源不够,回升级为表锁。
    至于性能,仍然跟锁定的资源大小有关系。
    多用户操作的解决方法:
    一次更新量不要太大,记得及时提交结果,养成sql语句后面立即commit或者rollback的习惯。(我们以前有个非常搞笑的同时,数据处理报错先在前台页面弹窗提示,等操作人员点了确认才提交或者回滚,结果操作人员一看见弹窗就打电话咨询去了,事务几个小时都没提交)
    多人操作表是有加锁的 也就是表是共享的 行是独占的 你正在操作的行别人只能查 不能一起做修改的操作 你commit或rollback之后就会释放锁别人就可以操作了.
    oracle并发可以解决这个问题,只要在增、删、改时记得及时commit或rollback就行了.
    
    2.两个用户同时对一个表进行增加操作,是不是要等一个增加完之后另一个才可以执行增加操作啊?  
       一个用户加数据,如果加完数据立即做事务处理,另一个用户就不用太久等待,甚至可能没有感觉,再如果一个用户加数据加锁后不做事务处理,那另一个用户就会一直等待,直到第一个用户commit后才可以执行第二个用户的操作.
    1 oracle的数据模式是:用户建在表空间上,表建在用户上
    2 一个用户的表就象自己的私有财产一样,没有自己或管理员授权别的用户是不能查询或修改的;
    3 对于不同用户下的同名表,都是独立的数据对象,如user1.table1和user2.table1是相互独立的,用户分别操作自己的表是不影响其他用户的;
    4 对于同一用户下的同一个表,所有有权限的用户对其进行数据操作时,是会相互影响的,如对user1.table1来说,user1修改了它的一行,user2又对该表的该行进行了修改,那么该表的该行的实际内容是在user1修改后基础上user2修改的结果(注意,所有修改以最后成功提交修改请求的用户的内容为准),多个用户对同一个用户下的同一个表的同时修改和锁定会造成锁等待

     

    转自:https://www.cnblogs.com/Leo_wl/p/5320498.html

    展开全文
  • 删除oracle中用户下所有的,不是系统用户哦!不然会删掉系统的数据
  • oracle删除用户空间

    万次阅读 2019-05-12 17:47:59
    1、以sysdba用户(最高权限)登录,查找需要删除用户...2、查询需要删除用户对应的空间 SELECT * FROM User_Tablespaces; drop tablespace DATA_MKDB_TMP including contents AND datafiles; select * from ...

    1、以sysdba用户(最高权限)登录,查找需要删除的用户(普通用户没有删除权限)

    select * from dba_users;

    2、查询需要删除用户对应的表空间

    SELECT * FROM User_Tablespaces;
    drop tablespace DATA_MKDB_TMP including contents AND datafiles;

    select * from dba_data_files;

    3、删除用户和表空间

    drop user ceshi ;


    如果报 “必须指定 CASCADE 以删除 'ceshi '”

    这说明你要删除的oracle 用户"ceshi " 下面还有数据库对象,如 table, view 等,这样你删除用户时必须加选项 cascade:

    drop user ceshi cascade; 表示删除用户ceshi ,同时删除 ceshi 用户下的所有数据对象。

    还有一个办法就是先删除 ceshi 下的所有数据对象,使 ceshi 变成一个啥也没有的空用户,再 drop user ceshi ;

    一般来说要具有 dba 权限的用户才能删除其他用户


    drop tablespace tablespacename including contents and datafiles cascade constraint;

    有时候会遇到无法删除用户,这是因为数据库连接到该用户,有会话存在,需要先删除会话。
     

    展开全文
  • /* CASCADE 的意思是将用户的数据库数据一并删除,并没有删除相应的空间!*/ drop user user_name CASCADE; 2. 删除当前用户数据库 方法(执行SQL语句) /* 复制粘贴并执行下面语句...
    1. 删除用户

    如果要删除的用户当前没有连接,则可以直接用下面语句删除;
    如果要删除的用户当前存在连接,转到 Oracle删除当前连接用户

     /* CASCADE 的意思是将用户的数据库数据一并删除,并没有删除相应的表空间!*/
     drop user user_name CASCADE;
    
    1. 删除当前用户数据库表

    方法一(执行SQL语句)

    /* 复制粘贴并执行下面语句的结果集*/
    SELECT 'DROP TABLE '|| table_name || ';' FROM USER_TABLES;
    

    方法二(执行存储过程)

    这种方法需要登录删除数据的用户执行。

    DECLARE
      V_NAME ALL_TABLES.TABLE_NAME%TYPE;
      CURSOR MYCUR IS
                                                      -- 要删除数据的用户名
        SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = UPPER('USERNAME');
    BEGIN
      OPEN MYCUR;
      LOOP
        FETCH MYCUR
          INTO V_NAME;
        EXIT WHEN MYCUR%NOTFOUND OR MYCUR%NOTFOUND IS NULL;
        EXECUTE IMMEDIATE 'drop table ' || V_NAME;
      END LOOP;
      CLOSE MYCUR;
    END;
    

    1. 删除表空间

     /*查询所有表空间物理位置*/
     select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;
    
     /*删除空的表空间,不包含物理文件*/
     drop tablespace tablespace_name;
    
     /*删除非空表空间,不包含物理文件*/
     drop tablespace tablespace_name including contents;
    
     /*删除非空表空间,包含物理文件*/
      drop tablespace tablespace_name including contents and datafiles;
    
     /*如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS*/
     drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
    
    展开全文
  • Oracle数据库删除用户空间

    万次阅读 2018-08-09 09:51:45
    1、以system用户登录查找需要删除用户(普通用户没有删除权限) select * from dba_users; 2、查询需要删除用户对应的空间 select * from dba_data_files; 3、删除用户空间 drop user usernamecascade;...

    1、以system用户登录查找需要删除的用户(普通用户没有删除权限)

    select * from dba_users;

    2、查询需要删除用户对应的表空间

    select * from dba_data_files;

    3、删除用户和表空间

    drop user usernamecascade;

    drop tablespace tablespacename including contents and datafiles cascade constraint;

    在删除用户时可能会碰到无法删除当前连接的用户,这是由于还有数据库连接到该用户,有会话存在,需要先删除会话。

    最暴力的做法是直接shutdown数据库,然后重启即可。。。

    一般的操作是通过查询SessionID,手动杀掉会话再删除用户:

    1)查询连接情况:select username,sid,serial# from v$session;

    2)找到要删除用户的sid和serial并删除:alter system kill session 'sid,serial';

    再执行删除用户的操作,如果还是无法删除说明还有连接的会话,继续执行删除会话的操作。

    展开全文
  • oracle登录、oracle有关用户空间的命令 创建空间 创建用户用户授权
  • Oracle删除用户删除表

    千次阅读 2018-08-12 19:02:00
    删除用户: drop user user_name cascade; #级联删除用户下所有的数据对象 删除表:drop table table_name purge; #删除表同时清空回收站
  • 你需要创建这些删除语句,通过oracle的数据字典找到该用户下的所有、视图等对象,拼接成语句。如下 select drop table || table_name ||;||chr(13)||chr(10) from user_tables; --delete tables select drop view ...
  • 转自:http://luhantu.iteye.com/blog/2082975
  • 以system用户登录,查找需要删除用户: –查找用户 select * from dba_users; –查找工作空间的路径 select * from dba_data_files; –删除用户 drop user 用户名称 cascade; –删除表空间 drop tablespace ...
  • oracle数据库用户删除空间删除

    万次阅读 2017-11-08 09:26:51
    以system用户登录,查找需要删除用户: --查找用户 select * from dba_users; --查找工作空间的路径 select * from dba_data_files;  --删除用户 drop user 用户名称 cascade; --删除表空间 drop ...
  • Oracle删除当前用户下所有的的方法 如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉删除后再创建该用户。 如果没有删除用户的权限,则可以执行: ...
  • 1、将用户user1的权限赋给用户user2 select 'grant select on user1.' || t.table_name || ' to user2;' from user_tables t 2、 grant select any table to robbie; 3、 根据指定用户名获得对应...
  • ORACLE删除当前用户下所有的的方法 如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉删除后再创建该用户。 --创建用户 create user ...
  • imp 命令一个用户导入到另一个用户,修改相应空间 假设数据用户USER1使用默认空间TS1,用户USER2使用默认空间TS2,现在将USER1的数据导入到USER2,要求使用空间TS2。通过IMP命令参数tablespaces指定...
  • 先构造基本的环境:创建两个用户AA,BB,基本需求为用户AA能够访问用户BB下所有的,即用户AA有对BB下所有的有“select on”权限。 SYS@zkm> create user aa identified by oracle account unlock...
  • ORACLE 删除当前用户下所有的

    千次阅读 2018-08-14 17:16:10
    1、如果有删除用户的权限,则可以: ...删除后再创建该用户,重新授权即可 SQL> create user ayzx_dev identified by 123456; SQL> grant create session to ayzx_dev; SQL> gr...
  • 在PostgreSQL 中如何快速删除一个用户

    万次阅读 2019-05-08 16:31:39
    在多租户场景或者其他场景下,很多时候需要主动清理一些用户,本文将介绍PostgreSQL 下如何快速删除一个用户(role)。 具体方法 一般情况下直接执行 drop role xxx; 就可以把这个用户删除。但是很多时候会因为...
  • 空间定义 ...多),从逻辑上来说一个表空间是由具体的一个或多个用户模式下的,索引等等 里面的数据所构成的。 创建空间:首先连接到拥有dba权限的用户下、例如system SQL> create tablespace
  • Oracle11g删除新增用户/空间

    千次阅读 2018-06-25 10:07:52
    1) 原有Oracle用户删除,释放空间 dropuserxxxcascade; 此语句会删除用户xxx下所有相关的内容,关键字cascade,会释放空间.但是此空间的所占的系统物理空间并不会自动变小;换言之,执行drop语句之前,此用户下...
  • 实际应用中,会遇到在某个用户下需要查询另一个用户下的数据或视图的情况,然而在没有授权时,会提示无权限操作的错误。那就需要通过授权处理,再能进行查询操作,下面我们来看看是怎么处理的。一、系统权限说明...
  • 心得:事务可以对一个表先进行删除后添加; 来源:tp_com_DeptUser,用户部门关系,修改用户部门时,先删除用户原先的所属部门,再插入用户现在的所属部门,将其放在一个事务中时,系统并没有出错 tp_...
  • 删除Oracle用户空间

    千次阅读 2018-07-20 09:39:26
    删除Oracle用户空间 --以sysdba用户登录,查找需要删除用户 conn / as sysdba --查找用户 select * from dba_users; select username from dba_users; select username from dba_users where username='JACK...
  • 删除用户以及用户下的所有 语法: drop user 用户名 cascade ps : 删除用户名为test的用户 drop user test cascade   oracle 建表授权: ...
  • 由于工作需要,要将数据库中的某一用户名下的所有表删除,而公司所使用的是SqlDeveloper客户端而非PL/SQL客户端,故而需要使用SQL语句进行删除。分为如下步骤: 1.获取表名,并生成Drop语句 2.执行Drop语句,...
  • Oracle创建/删除表空间和用户

    万次阅读 2016-08-27 23:23:11
    创建空间和用户开启Oracle服务 Win+R输入cmd打开命令提示符窗口 登录 sqlplus /nolog connect /as sysdba; 先创建空间 create tablespace tablespace_name logging datafile ‘D:\test1.dbf’ size 1024m;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 967,143
精华内容 386,857
关键字:

当用户删除一个表后