• Oracle 创建表空间


    1.创建表空间

    导出Oracle数据的指令:exp jds/jds@192.168.99.199/orcl file=C:jds.dmp owner=jds
    导入Oracle数据的指令:imp zcl/zcl@127.0.0.1:1521/orcl file=C:jds.dmp full=y
    
    --第1步:创建临时表空间
    CREATE TEMPORARY TABLESPACE User_Temp TEMPFILE 'E:OrclDataDataTempUser_Temp.dbf' SIZE 50m AUTOEXTEND ON NEXT 50m MAXSIZE 20480m EXTENT MANAGEMENT LOCAL;
    
    --第2步:创建表空间语句(创建表空间名称:User_Data;创建位置:E:OrclDataDataSpaceUser_Data.dbf 初始大小:50m;按50M大小自动增长,最大20480M)
    CREATE TABLESPACE User_Data DATAFILE 'E:OrclDataDataSpaceUser_Data.dbf'SIZE 50m AUTOEXTEND ON NEXT 50m MAXSIZE 20480m EXTENT MANAGEMENT LOCAL;
    
    --第3步:创建表空间内的用户(创建用户名和密码 用户名:zcl 密码:zcl;默认的表空间位置:User_Data)
    CREATE USER zcl IDENTIFIED BY zcl DEFAULT TABLESPACE User_Data TEMPORARY TABLESPACE User_Temp;
    
    --第4步:给用户授予权限(赋予用户zcl权限:连接权限,修改权限,最高权限)
    GRANT CONNECT,RESOURCE,DBA TO zcl;

     2.创建用户、表空间并设置权限

    ---单个执行语句---
    --dba账户登录
    sqlplus
    
    请输入用户名:SysDba as sysdba
    请输入口令:123456
    
    --创建账号
    create user zcl identified  by zcl;
    
    --创建临时表空间
    create temporary tablespace DATA_TEMP
    tempfile 'D:ORACLEORADATAORCLDATA_TEMP.dbf'
    size 32m
    autoextend on
    next 32m maxsize 2048m
    extent management local;
    
    --将临时表空间分配给用户
    alter user zcl temporary tablespace zcl;
    
    --创建表空间
    create tablespace TECHRPT_DATA 
    logging  
    datafile 'D:ORACLEORADATAORCLTECHRPT_DATA.ora' 
    size 50m  
    autoextend on  
    next 50m maxsize 2048m  
    extent management local; 
    
    --将表空间分配给用户
    alter user zcl default tablespace zcl;
    
    --授权
    grant dba to zcl;
    grant connect,resource to zcl;--提交
    commit;
    
    --退出
    quit;
    
    --删除用户
    drop user zcl cascade;
    
    --删除表空间
    drop tablespace TECHRPT_DATA including contents and datafiles; 
    
    --修改密码 
    alter user system identified by system;

     

    3.查询表空间信息

    --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; 
    --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; 
    --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'; 
    --9、查看数据库的创建日期和归档方式 
    SELECT created, log_mode, log_mode FROM v$database; 
    --10、综合查询
    --1G=1024MB 
    --1M=1024KB 
    --1K=1024Bytes 
    --1M=11048576Bytes 
    --1G=1024*11048576Bytes=11313741824Bytes 
    SELECT a.tablespace_name "表空间名", 
    total "表空间大小", 
    free "表空间剩余大小", 
    (total - free) "表空间使用大小", 
    total / (1024 * 1024 * 1024) "表空间大小(G)", 
    free / (1024 * 1024 * 1024) "表空间剩余大小(G)", 
    (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 
    round((total - free) / total, 4) * 100 "使用率 %" 
    FROM (SELECT tablespace_name, SUM(bytes) free 
    FROM dba_free_space 
    GROUP BY tablespace_name) a, 
    (SELECT tablespace_name, SUM(bytes) total 
    FROM dba_data_files 
    GROUP BY tablespace_name) b 
    WHERE a.tablespace_name = b.tablespace_name 

     

    4.查询用户所属表空间

    select username,default_tablespace from dba_users  where username='ZCL';
  • 相关阅读:
    Android 使用 DownloadManager 管理系统下载任务的方法
    移动互联网时代:你的厕所文学是什么?
    zoj 3777 Problem Arrangement(壮压+背包)
    25个增强iOS应用程序性能的提示和技巧(0基础篇)
    Oracle 同义词
    Oracle loop、while、for循环
    Oracle 序列
    Oracle 视图
    Oracle 集合操作
    Oracle 伪列
  • 原文地址:https://www.cnblogs.com/SuperMetalMax/p/6186437.html
Copyright © 2020-2023  润新知