查看用户和默认表空间的关系。
select username,default_tablespace from dba_users;
1.查看表结构:desc表名
2.查看当前用户的表:
select table_name from user_tables;
3.查看所有用户的表名:
select table_name from all_tables;
4.查看所有表名(其中包括系统表)
select table_name from all_tables;
5.查看所有的表:
select * from tab/dba_tables/dba_objects/cat;
下面介绍Oracle查询用户表空间
◆Oracle查询用户表空间:select * from user_all_tables
◆Oracle查询所有函数和储存过程:select * from user_source
◆Oracle查询所有用户:select * from all_users.select * from dba_users
◆Oracle查看当前用户连接:select * from v$Session
◆Oracle查看当前用户权限:select * from session_privs
◆Oracle查看用户表空间使用情况:
select a.file_id "FileNo",a.tablespace_name
"Tablespace_name",
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",
sum(nvl(b.bytes,0)) "Free",
sum(nvl(b.bytes,0))/a.bytes*100 "%free"
from dba_data_files a, dba_free_space b
where a.file_id = b .file_id(+)
group by a.tablespace_name ,
a.file_id,a.bytes order by a.tablespace_name;
1.查看所有用户:
select * from dba_user;
select * from all_users;
select * from user_users;
2.查看用户系统权限:
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
6.查看角色所拥有的权限:
select * from role_sys_privs;
select * from role_tab_privs;
7.查看所有系统权限
select * from system_privilege_map;
8.查看所有对象权限
select * from table_privilege_map;
以上是在Oracle中查看用户权限 ,
在DB2中为:
select * from syscat.dbauth
或者
get authorizations
查看sid
select * from v$instance
1 创建临时表空间
2 Sql代码
3 create temporary tablespace stbss_tmp
4 tempfile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf'
5 size 32m
6 autoextend on
7 next 32m maxsize 2048m
8 extent management local;
9
10
11 创建数据表空间
12 Sql代码
13 create tablespace stbss
14 logging
15 datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf'
16 size 32m
17 autoextend on
18 next 32m maxsize 2048m
19 extent management local;
20
1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为32M
3) UNIFORM: 指定区尺寸,如不指定,区尺寸默认为64k
4) 空间名称stbss与数据文件名称 stbss.dbf 不要求相同,可随意命名.
5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
6) alter database datafile ' E:\oracle\product\10.2.0\oradata\orcl\stbss01.dbf ' resize 32m; //手动修改数据文件大小为32M
21
22 创建用户并指定表空间
23 Sql代码
24 create user username identified by password
25 default tablespace stbss
26 temporary tablespace stbss_tmp;
27
28
29 给用户授予权限
30 Sql代码
31 grant connect,resource to username;
32
33 改变用户默认表空间
34
35
36 Sql代码
37 alter user username default tablespace stbss;
38
查询用户和表空间之间的关系
select distinct(owner) ,tablespace_name from dba_segments;
39
向USERS表空间增加一个数据文件:
SQL> alter tablespace users add datafile '/opt/oracle/oradata/eygle/users02.dbf' size 10M;
Tablespace altered.
SQL> select file#,name from v$datafile;
FILE# NAME
---------- --------------------------------------------------
1 /opt/oracle/oradata/eygle/system01.dbf
2 /opt/oracle/oradata/eygle/undotbs01.dbf
3 /opt/oracle/oradata/eygle/sysaux01.dbf
4 /opt/oracle/oradata/eygle/users01.dbf
5 /opt/oracle/oradata/eygle/users02.dbf
5 rows selected.
确认表空间文件信息:
SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
FILE_NAME FILE_ID
-------------------------------------------------- ----------
/opt/oracle/oradata/eygle/users02.dbf 5
/opt/oracle/oradata/eygle/users01.dbf 4
确认表空间未被存储占用:
SQL> select segment_name,file_id,blocks from dba_extents where file_id=5;
no rows selected
删除表空间中的空数据文件:
SQL> alter tablespace users drop datafile '/opt/oracle/oradata/eygle/users02.dbf';
Tablespace altered.
检查数据字典,这个空文件的信息已经被彻底清除了:
SQL> select file_name,file_id from dba_data_files where tablespace_name='USERS';
FILE_NAME FILE_ID
-------------------------------------------------- ----------
/opt/oracle/oradata/eygle/users01.dbf 4
40 以后以该用户登录,创建的任何数据库对象都属于stbss_tmp和stbss表空间,这就不用在每创建一个对象给其指定表空间了
41
42 删除oracle临时表空间
43 新建一个临时表空间,然后把数据库的默认临时表空间指向新建的这个,等到旧的临时表空间没人用的时候,就可以删除了
44
45 Sql代码
46 --1:查看数据库的默认临时表空间
47 select property_name, property_value
48 from database_properties
49 where property_name = 'default_temp_tablespace';
50
51 --2:创建一个新的临时表空间temp_xxxx
52 -----参考上面的创建语句
53 --3:查看数据库中有哪些临时表空间。
54 select distinct tablespace_name from dba_temp_files;
55
56 --4:把默认临时表空间从temp切换到temp_xxxx
57 alter database default temporary tablespace temp_xxxx;
58
59 --5:再次查看数据库的默认临时表空间
60 select property_name, property_value
61 from database_properties
62 where property_name = 'default_temp_tablespace';
63
64 --6:删除原来的临时表空间
65 drop tablespace temp;
删除用户:test
drop user test cascade
删除表空间:
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES
删除表:
delete from users;
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
select * from dba_sys_privs;
select * from user_sys_privs; (查看当前用户所拥有的权限)
3.查看角色(只能查看登陆用户拥有的角色)所包含的权限
sql>select * from role_sys_privs;
4.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
5.查看所有角色:
select * from dba_roles;
6.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)
select * from V$PWFILE_USERS
8.SqlPlus中查看一个用户所拥有权限
SQL>select * from dba_sys_privs where grantee='username';
其中的username即用户名要大写才行。
比如:
SQL>select * from dba_sys_privs where grantee='TOM';
9、Oracle删除指定用户所有表的方法
select 'Drop table '||table_name||';' from all_tables
where owner='要删除的用户名(注意要大写)';
10、删除用户
drop user user_name cascade;
如:drop user SMCHANNEL CASCADE
11、获取当前用户下所有的表:select table_name from user_tables;
12、删除某用户下所有的表数据: select 'truncate table ' || table_name from user_tables;
13、禁止外键
ORACLE数据库中的外键约束名都在表user_constraints中可以查到。其中constraint_type='R'表示是外键约束。
启用外键约束的命令为:alter table table_name enable constraint constraint_name
禁用外键约束的命令为:alter table table_name disable constraint constraint_name
然后再用SQL查出数据库中所以外键的约束名:
select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'
14、ORACLE禁用/启用外键和触发器
--启用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' ENABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;
--禁用脚本
SET SERVEROUTPUT ON SIZE 1000000
BEGIN
for c in (select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' ' as v_sql from user_constraints where CONSTRAINT_TYPE='R') loop
DBMS_OUTPUT.PUT_LINE(C.V_SQL);
begin
EXECUTE IMMEDIATE c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
for c in (select 'ALTER TABLE '||TNAME||' DISABLE ALL TRIGGERS ' AS v_sql from tab where tabtype='TABLE') loop
dbms_output.put_line(c.v_sql);
begin
execute immediate c.v_sql;
exception when others then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
/
commit;
转载原文:
http://shuishiwo.iteye.com/blog/1314119
分享到:
相关推荐
完整ORACLE创建表空间、用户、设置用户权限脚本,txt格式,很实用
在本例中,我们设置了用户的默认表空间和配额权限。 三、创建表 创建用户并设置权限后,用户就可以创建表了。在 PLSQL Developer 中,我们可以右键单击 "Tables" 文件夹,弹出菜单中选中 "New",然后弹出属性页。...
创建用户时可以指定该用户的默认表空间和临时表空间。创建用户的语法如下: ```sql CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE test_data TEMPORARY TABLESPACE test_temp; ``` 其中,`CREATE USER` ...
例如,创建一个名为 tempuser 的用户,密码为 tempuser,默认表空间为 TS_name1,临时表空间为 TS_name2: ```sql CREATE USER tempuser IDENTIFIED BY tempuser DEFAULT TABLESPACE TS_name1 TEMPORARY ...
oracle创建表空间、用户(建立表空间文件以及默认大小,创建用户和密码,分配表空间,赋权限等)
--为用户确定默认的或临时的表空间 grant connect,resource to tcy; --把connect(这种是临时用户),resource(这种是可以创建视图存储过程...)权限给tcy用户 revoke resource from tcy;--撤消对tcy用户的resource...
9 default tablespace 表空间名 --默认表空间名 10 temporary tablespace temp --临时表空间为temp 11 profile default --受profile文件的限制 12 quota unlimited on 表空间名; --在表空间下面建表不受限制 4....
在 Oracle9i Database 之前,如果在创建用户时没有指定默认表空间,那么它将默认为 SYSTEM 表空间。如果用户在创建一个段时没有显式地指定一个表空间,那么这个段将在 SYSTEM 中创建—前提是用户在 SYSTEM 表空间中...
在Oracle9i Database之前,如果在创建用户时没有指定默认表空间,那么它将默认为 SYSTEM 表空间。如果用户在创建一个段时没有显式地指定一个表空间,那么这个段将在 SYSTEM 中创建—前提是用户在 SYSTEM 表空间中...
【实验目的】1.了解模式对象的类型2.掌握在OEM中操作模式对象的方法3....创建一个TESTUSER用户,密码为test,默认表空间为users表空间2.创建用户后为其授予登录数据库和创建数据库对象的权限3.用TESTUSER用户登录数据库
在Oracle12C中,默认是没有scott开启用户的,需要自己创建,并赋予权限,但是创建scott用户是会报错(提示公用用户名或角色名无效),故而创建的用户为 C##SCOTT。 如何创建,大家可以参考下面的语句(在命令行中...
1)sys用户是超级用户,具有最高权限,具有sysdba角色,有create database的权限,该用户默认的密码是sys。登录语句:SQL> conn sys/sys as sysdba; 2)system用户是管理操作员,权限也很大。具有sysoper角色,没有...
default tablespace 表空间名 --默认表空间名 temporary tablespace temp --临时表空间为temp profile default --受profile文件的限制 quota unlimited on 表空间名; --在表空间下面建表不受限制 4.创建角色...
2.2 Oracle 默认用户 2.3 服务器连接 3. PL/SQL Developer工具 4. Oracle用户和权限 4.1用户和权限 4.2角色 第2章 SQL数据操作和查询 1. SQL简介 2. 查询 2.1查询结构 2.2查询顺序 . 2.3聚合函数 . 3. ...
database2、实例3、数据文件(dbf)4、表空间5、用户二、Oracle数据库逻辑结构三、Oracle数据库中的用户1、Oracle数据库中默认账户1.1、SYS1.2、SYSTEM1.3、SCOTT2、Sysdba和sysoper两个系统权限的区别3、一些SQL*Plus...
用户访问数据库,必须创建用户帐户,并为帐户授予适当的数据库访问权限。用户帐户由用户名标识,并定义用户的属性,包括以下内容: ...用于永久和临时数据存储的默认表空间表空间配额 帐户状态(锁定或解锁> 密码状态
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_...
14.7. 设置默认表空间 57 14.8. 撤销表空间 58 14.9. 查看当前用户的缺省表空间 61 十五、 用户管理 61 15.1. 创建用户 61 15.2. 删除用户 63 15.3. 修改用户 63 15.4. 修改口令 63 15.5. 使密码失效 64 15.6. 修改...