linux 下 oracle 日常操作合集

删除用户:

ORA-01940: cannot drop a user that is currently connected

问题提出:

SQL 〉DROP USER  USER1 CASCADE

ERROR:ORA-01940: cannot drop a user that is currently connected

由于当前用户正连接到数据库 ,所以无法删除

解决办法:

1、查询此用户的会话进程,

SQL〉SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME='USER1';

       SID    SERIAL#
---------- ----------
        24      25341
        86      18117

2、结束此用户的所有会话

SQL>ALTER  SYSTEM  KILL SESSION '24,25341';

System altered.

SQL>ALTER SYSTEM KILL SESSION '86,18117';

System altered.

3、删除用户

SQL〉DROP USER USER1 CASCADE;

如何查看oracle 表空间得利用率

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
2),
'990.99') "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC
--order by F.TABLESPACE_NAME

 

创建表空间:

  1 create tablespace tfs datafile '/u01/oradata/cjtfs/tfs.dbf' size 500m
  2  autoextend on next 50m maxsize unlimited logging extent management
  3  local segment space management auto;

创建临时表空间:

create temporary tablespace temp_tfs tempfile '/u01/oradata/cjtfs/temp_tfs.dbf' size 500m;

//create temporary tablespace tfs_temp tempfile 'D:/app/Administrator/oradata/CJTFS/tfs_temp.dbf' size 512m autoextend on next 256m maxsize unlimited;

创建用户:

create user tfs identified by changjiutfs default tablespace tfs temporary tablespace temp_tfs;

用户授权:

grant connect ,resource ,dba to tfs ;

 

导出表结构

exp name/pwd@dbname file=d:/xxx.dmp rows=n tables=(xx,xxx,xxxx) fromuser=name1 touser=name2

 

查看所有用户:

SQL> select username from all_users;

SQL> select username from dba_users;

查看用户默认表空间

select username,defaulte_tablespace from dba_users;

查看某用户拥有的表:

SQL> select table_name from dba_all_tables t where t.owner = 'username';

查看表空间下的表

 SQL> select table_name from dba_tables where tablespace_name='TFS';

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值