zoukankan      html  css  js  c++  java
  • PL/SQL Developer图形化窗口创建数据库(表空间和用户)以及相关查询sql

    前言:上一篇安装好oracle和pl/sql后,这篇主要讲如何创建数据库,因为接下来我的项目会连接数据库进行开发。

    第一步、先用系统管理员登录pl/sql

      我这里系统管理员用户名为system,密码为orcl

    第二步、建立表空间

      新建sql窗口,我们使用sql语句来创建表空间

    create  tablespace db_test --表空间名
    datafile 'D:oracleproduct11.2.0dbhome_1oradataorcl	est.dbf' --物理文件 表空间数据文件存放路径
    size 50m  --大小初始值
    autoextend on  --自动扩展
    next 50m maxsize 20480m  --每次扩展50m,最大为20480m
    extent management local;

      f8 运行sql,成功后电脑里会出现TEST.DBF文件。

    第三步、创建用户

     create user testdev         --创建用户名 testdev
      identified by "test1234"     --创建密码 test1234
      default tablespace db_test    --表空间  db_test
      temporary tablespace TEMP     --临时表空间(默认的)
      profile DEFAULT               --默认权限(下面给分配)
      quota unlimited on db_test;      --该用户在 db_test 表空间里的配额不限

    第四步、给用户分配权限

    grant all privileges to testdev; -- 执行该语句给 testdev 用户授权,此时 该 用户就可以登录了

    第五步、接下来使用test用户登录,就可以建表了。

      根据经验,建表时字段名尽量要避开使用oracle的关键字和保留字。 

    补充:

      oracle查询库中所有表名字段名、字段名说明,查询表的数据条数、表名、中文表名等

        --查询所有表名:
    
      select t.table_name from user_tables t;
    
      --查询所有字段名:
    
      select t.column_name from user_col_comments t;    
    
      --查询指定表的所有字段名:
    
      select t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    
      --查询指定表的所有字段名和字段说明:
    
      select t.column_name, t.column_name from user_col_comments t where t.table_name = 'BIZ_DICT_XB';
    
      --查询所有表的表名和表说明:
    
      select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name;
    
      --查询模糊表名的表名和表说明:
    
      select t.table_name from user_tables t where t.table_name like 'BIZ_DICT%';
    
      select t.table_name,f.comments from user_tables t inner join user_tab_comments f on t.table_name = f.table_name where t.table_name like 'BIZ_DICT%';
    
      --查询表的数据条数、表名、中文表名
    
      select a.num_rows, a.TABLE_NAME, b.COMMENTS
    
      from user_tables a, user_tab_comments b
    
      WHERE a.TABLE_NAME = b.TABLE_NAME
    
      order by TABLE_NAME;

      oracle 查询表空间的大小及使用情况等sql

    --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; 
    --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 
  • 相关阅读:
    数据结构——单链表(singly linked list)
    Java——判断回文
    C——swap
    Java动态数组
    mui框架下监听返回按钮
    Ubuntu 18.04版本下安装网易云音乐
    Linux安装Broadcom无线驱动
    EFI环境下的Ubuntu&Win10双系统安装
    Leaflet中添加的不同图层样式图标
    数据插入数据库时,提示表名不存在
  • 原文地址:https://www.cnblogs.com/yuxiaole/p/9349761.html
Copyright © 2011-2022 走看看