创建表空间以及用户,授予权限,查看表空间名称及大小,物理文件的名称及大小,数据库的创建日期和归档方式,数据库的版本,数据库库对象,表空间的使用情况,表空间读写

来源:互联网 发布:网络教育教学 编辑:程序博客网 时间:2024/06/03 14:40
需求:


数据库机器:
           数据库类型:oracle
           数据库用户名密码:mnp/mnp
           表空间:tbs_mnp_data
           表空间大小:70G


    CREATE TABLESPACE tbs_mnp_data
    LOGGING
    DATAFILE
    '/lscs/lscs/tbs_mnp_data01.dbf' SIZE 10G REUSE
    autoextend off
    EXTENT MANAGEMENT LOCAL;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data02.dbf' size 10g;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data03.dbf' size 10g;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data04.dbf' size 10g;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data05.dbf' size 10g;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data06.dbf' size 10g;
alter tablespace tbs_mnp_data add datafile '/lscs/lscs/tbs_mnp_data07.dbf' size 10g;


create user mnp  default tablespace tbs_mnp_data identified by mnp;


grant create session to mnp;
grant connect,create table to mnp;
grant unlimited tablespace to mnp; 该用户可以使用任何人的表空间
grant select any table to mnp;
grant insert any table to mnp;
grant update any table to mnp;
grant drop any table to mnp;
alter user mnp quota unlimited on tbs_mnp_data;用户只能使用自己的表空间
    revoke unlimited tablespace from mnp;回收权限




如果执行GRANT命令为某个SCHEMA赋对象权限时带上了WITH GRANT OPTION,那么该SCHEMA就可以将该对象权限授予他人,否则不行。
如果执行GRANT命令为某个 SCHEMA 赋系统权限时带上了 WITH ADMIN OPTION, 那么该SCHEMA就可以将该系统权限授予他人,否则不行。
需要注意点就是,WITH GRANT OPTION是在赋对象权限时使用,WITH ADMIN OPTION是在赋系统权限时使用。






CONNECT角色:    --是授予最终用户的典型权利,最基本的       
   CREATE    SESSION    --建立会话  
        
RESOURCE角色:    --是授予开发人员的      
   CREATE    CLUSTER         --建立聚簇   
   CREATE    PROCEDURE    --建立过程   
   CREATE    SEQUENCE      --建立序列   
   CREATE    TABLE              --建表   
   CREATE    TRIGGER          --建立触发器   
   CREATE    TYPE                --建立类型
   CREATE    OPERATOR       --创建操作者
   CREATE    INDEXTYPE      --创建索引类型
   CREATE    TABLE              --创建表 




--1、查看表空间的名称及大小 
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size 
FROM dba_tablespaces t, dba_data_files d 
WHERE t.tablespace_name = d.tablespace_name 
GROUP BY t.tablespace_name; 


    扩展表空间 
alter database datafile 'D:\Oracle\PRODUCT\ORADATA\TEST\USERS01.DBF' resize 50m;


--自动增长  
alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' autoextend on next 50m maxsize 500m;    


--增加数据文件
alter tablespace yourtablespacename add datafile 'd:\newtablespacefile.dbf' size 5m;
   
--2、查看表空间物理文件的名称及大小 
SELECT tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name; 


--3、查看回滚段名称及大小 
SELECT segment_name, 
tablespace_name, 
r.status, 
(initial_extent / 1024) initialextent, 
(next_extent / 1024) nextextent, 
max_extents, 
v.curext curextent 
FROM dba_rollback_segs r, v$rollstat v 
WHERE r.segment_id = v.usn(+) 
ORDER BY segment_name; 


--4、查看控制文件 
SELECT NAME FROM v$controlfile; 


--5、查看日志文件 
SELECT MEMBER FROM v$logfile; 


--1、查看表在那个表空间
  select tablespace_name,table_name from user_talbes where table_name='employ';


--2、获取用户的默认表空间
  select   username,   DEFAULT_TABLESPACE     from   dba_users where username='scott';


--3、查看表空间所有的文件  
  select * from dba_data_files where tablespace_name='USERS';


--6、查看表空间的使用情况 
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
FROM dba_free_space 
GROUP BY tablespace_name; 
SELECT a.tablespace_name, 
a.bytes total, 
b.bytes used, 
c.bytes free, 
(b.bytes * 100) / a.bytes "% USED ", 
(c.bytes * 100) / a.bytes "% FREE " 
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c 
WHERE a.tablespace_name = b.tablespace_name 
AND a.tablespace_name = c.tablespace_name; 


--7、查看数据库库对象 
SELECT owner, object_type, status, COUNT(*) count# 
FROM all_objects 
GROUP BY owner, object_type, status; 


--8、查看数据库的版本  
SELECT version 
FROM product_component_version 
WHERE substr(product, 1, 6) = 'Oracle'; 


或者:
select * from v$version;
--9、查看数据库的创建日期和归档方式 
SELECT created, log_mode FROM v$database; 


--10、更改表空间读写
alter tablespace 表空间名字  read  only/write;


11、增加表空间大小:


alter  database datafile  filename(绝对路径)  resize n(M|G|T);




一、修改表空间名字


SQL> alter tablespace  TMS_RITONG rename to TMS_LYT;  
Tablespace altered  


二、修改表空间的数据文件名字(联机状态)
1、将表空间置为offline
SQL> ALTER TABLESPACE TMS_LYT OFFLINE;  
Tablespace altered  
因为我本地数据库的环境是windows,故直接进数据文件所在的物理路径,手工重命名之后,再用命令修改


2、修改数据文件名字


SQL> alter tablespace TMS_LYT rename DATAFILE 'E:\APP\HUIJUAN\PRODUCT\LOCALDATEBASE\TMS_RITONG' TO 'E:\APP\HUIJUAN\PRODUCT\LOCALDATEBASE\TMS_LYT';  
Tablespace altered  


3、重新将表空间置为online


SQL> ALTER TABLESPACE TMS_LYT online;  
Tablespace altered  














向表空间添加另一个50MB的数据文件:
alter tablespace  datafile  add datafile '   '   size  50m;


















 select tablespace_name,segment_space_management from dba_tablespace;










创建用户:



0 0