linux 下 oracle 日常操作合集
2009-08-06 17:11
453 查看
删除用户:
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';
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';
相关文章推荐
- oracle日常运维操作总结--linux下oracle数据库的启动和关闭
- linux下oracle 11g一些简单的操作和一些错误处理
- 日常linux操作命令
- linux运维日常操作
- Linux(CentOS)日常操作命令
- Oracle 10g 物理Dataguard日常操作维护(一)
- linux操作oracle命令
- 在Linux(红旗AdvanceServer4.1)执行oracle的imp操作报错的原因和解决的办法
- linux基本命令日常操作[1]
- Linux Apache PHP Oracle 安装配置(具体操作步骤)
- 【linux】Ubuntu 14.04快速搭建SVN服务器及日常操作
- oracle表日常操作 drop truncate delete
- Linux下oracle可视化操作工具sqldeveloper安装与配置
- 【转载】linux中误删除oracle数据文件的恢复操作
- Oracle UNDO表空间日常维护查看操作
- linux中oracle的日常维护命令
- linux 下的oracle的基本操作
- linux中oracle的日常维护命令
- linux下的oracle基本操作
- Linux Oracle dbf文件误删 恢复操作