创建、删除表空间
创建⽤户和表空间:
1、登录linux,以oracle⽤户登录(如果是root⽤户登录的,登录后⽤ su - oracle命令切换成oracle⽤户)
2、以sysdba⽅式来打开sqlplus,命令如下: sqlplus / as sysdba
3、创建临时表空间:
--查询临时表空间⽂件的绝对路径。如果需要的话,可以通过查询来写定绝对路径。⼀般⽤${ORACLE_HOME}就可以了
select name from v$tempfile;
create temporary tablespace NOTIFYDB_TEMP tempfile '${ORACLE_HOME}\oradata\NOTIFYDB_TEMP.bdf' size 100m reuse autoextend on next 20m maxsize unlimited;
4、创建表空间:
-
-查询⽤户表空间⽂件的绝对路径:
select name from v$datafile;
create tablespace NOTIFYDB datafile '${ORACLE_HOME}\oradata\notifydb.dbf' size 100M reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
#create tablespace TMS5_TABLES datafile '/home/oracle/app/oracle/oradata/CMADB/o1_mf_tms5_tab_tw.dbf' size 100M reuse autoextend on next 40M maxsize unlimited;
5、创建⽤户和密码,指定上边创建的临时表空间和表空间
create user hc_notify identified by hc_password default tablespace NOTIFYDB temporary tablespace NOTIFYDB_TEMP;
6、赋予权限
grant dba to hc_notify;
grant connect,resource to hc_notify;
grant select any table to hc_notify;
grant delete any table to hc_notify;
grant update any table to hc_notify;
grant insert any table to hc_notify;
经过以上操作,就可以使⽤hc_notify/hc_password登录指定的实例,创建我们⾃⼰的表了。
删除表空间:
1、查看⽤户权限
--查看⽤户要具备drop tablespace的权限,如果没有,先⽤更⾼级的⽤户(如sys)给予授权
select a2.username,a1.privilege from dba_sys_privs a1 , user_role_privs a2
where a1.privilege = 'DROP TABLESPACE'
antee =a2.granted_role
2、删除临时表空间
--查看临时表空间⽂件
select name from v$tempfile;
--查看⽤户和表空间的关系
select USERNAME,TEMPORARY_TABLESPACE from DBA_USERS;
--如果有⽤户的默认临时表空间是NOTIFYDB_TEMP的话,建议进⾏更改
alter user xxx temporary tablespace tempdefault;
---设置tempdefault为默认临时表空间
alter database default temporary tablespace tempdefault;
--删除表空间NOTIFYDB_TEMP及其包含数据对象以及数据⽂件
drop tablespace NOTIFYDB_TEMP including contents and datafiles;
3.删除⽤户表空间
--查看表空间⽂件
select name from v$datafile;
--停⽌表空间的在线使⽤
alter tablespace 表空间名称 offline;
--删除表空间NOTIFYDB_TEMP及其包含数据对象以及数据⽂件
drop tablespace NOTIFYDB including contents and datafiles;
语法:
DROP TABLESPACE tablespace_name [ including contents [ and datafiles ] [ CASCADE CONSTRAINT ] ];
⽆选项 -- 当表空间为空才能删除;
including contents — 删除表空间及对象;
including contents and datafiles — 删除表空间、对象及数据⽂件;
includingcontents CASCADE CONSTRAINT — 删除关联;
including contents and datafiles cascade constraint -- 含前两项。
Oracle⽤户权限查询相关操作:
--查看所有的⽤户
select * from all_users;
--查看当前⽤户信息
select * from user_users;
--查看当前⽤户的⾓⾊
select * from user_role_privs;
-
-查看当前⽤户的权限
select * from user_sys_privs;
--查看当前⽤户的表可操作权限
select * from user_tab_privs;
--查看某⼀个表的约束,注意表名要⼤写
select * from user_constraints where table_name='TBL_XXX';
--查看某⼀个表的所有索引,注意表名要⼤写
select index_name,index_type,status,blevel from user_indexes where table_name = 'TBL_XXX';
--查看索引的构成,注意表名要⼤写
select table_name,index_name,column_name, column_position FROM user_ind_columns WHERE table_name='TBL_XXX'; --系统数据字典 DBA_TABLESPACES 中记录了关于表空间的详细信息
select * from sys.dba_tablespaces;
--查看⽤户序列
select * from user_sequences;drop删除表
--查看数据库序列
select * from dba_sequences;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论