zoukankan      html  css  js  c++  java
  • Oracle基本操作

    基本操作一: 创建表空间和新用户,并完成授权
            1.背景知识:
                数据库实例,用户,表空间,数据文件之间的关系?

                数据库实例:用户1、用户2、用户3……

                           表空间1、表空间2、表空间3……
             
                表空间:    数据文件1、数据文件2、数据文件3……   

             注:表空间和用户之间没有隶属关系。一个用户可使用多个表空间,一个表空间也可供多个用户

                 使用。
      
            2.基本操作
               A.创建表空间
                  a)创建一个临时表空间
    1 create temporary tablespace EdisonTableSpc_Temp
    2 tempfile 'F:\oracle\product\10.1.0\oradata\orcl\EdisonTableSpc_Temp.dbf'
    3 size 200m
    4 autoextend on next 20m
    5 maxsize 2048m;

                  b)创建第一个数据表空间
    1 create tablespace EdisonTableSpc_Data_A
    2 datafile 'F:\oracle\product\10.1.0\oradata\orcl\EdisonTableSpc_Data_A.dbf'
    3 size 200m
    4 autoextend on next 20m
    5 maxsize 2048m;
      
                  c)创建第二个数据表空间
    1 create tablespace EdisonTableSpc_Data_B
    2 datafile 'F:\oracle\product\10.1.0\oradata\orcl\EdisonTableSpc_Data_B.dbf'
    3 size 200m
    4 autoextend on next 20m
    5 maxsize 2048m;

              
                注: Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需

                 要对查询的中间结果进行排序。重启数据库可以释放临时表空间,如果不能重启实例,而一直 

               保持问题sql语句的执行,temp表空间会一直增长.

              B.创建新用户并授权
                 a)创建用户并指定默认表空间
    1 create user edison
    2 identified by edison
    3 default tablespace EdisonTableSpc_Data_A
    4 temporary tablespace EdisonTableSpc_Temp;

             
                 b)对新创建的用户进行授权
                    1)方式一:角色授权
    1 grant connect,resource to edison;

                     注:此时Edison将拥有connect,resource这两个角色的权限                   
     
                    2)方式二:直接授权
    1 GRANT SELECT,INSERT,UPDATE,DELETE,ON USERS TO Edison;

                 注:可以通过role_sys_privs表查询角色权限,例如,查询connect角色的权限,如下:
    1 select * from role_sys_privs where role='CONNECT';

        附:完整对创建,修改,删除表空间和用户的说明:
                       http://wenku.baidu.com/view/cf219708581b6bd97f19eac8.html
      
    基本操作二: 创建新表并向其总添加数据
              1.背景知识:
                   每个用户都有自己默认的表空间,创建新表时,用户如果不指定存到哪个表空间时,系统      

               将会把表存到该用户默认的表空间中.

              2.基本操作
                 A.创建新表
                  a)存入默认的表空间
    1 Create Table TestTable
    2 (
    3 StaffId varchar(20) not null,
    4 StaffName varchar(20) default '',
    5 primary key(StaffId)
    6 )

                  b)存入指定的表空间
                     xxxxxxxx

                 B.向表中添加数据
                  a)添加单条数据
    1 insert into TestTable( staffID,staffName)
    2 values
    3 ('0001','TonyPark')

                  b)添加多条数据
                    1)从其他表中导入
    1 insert into TestTable(staffID,staffName)
    2 select staffID,staffName
    3 from TestTable_2
    4 where ...(条件.)

                    2)新数据录入
                      在Excel中写好,第一列要为空,然后直接复制粘贴到PLSQL中。
                    粘贴之后,先F8再F10
                      注:Excel中可设置列数据的类型    


    基本概念:
         1.DDL、DML是什么?
           DDL:数据定义语言,具体为:数据库创建,数据库删除,表创建,表删除等
           DML:数据操纵语言,具体为:insert、delete、update、select

         2.命令窗口和SQL窗口的区别?
           命令窗口:类似于sqlplus,基本上命令都可以执行
           SQL窗口:执行命令有很大限制,仅可执行DDL、DML等

         3.查看表空间和物理数据文件之间的关系
           select   *   from   sys.dba_data_files;

    常见问题:
               a)用EXP导出某个用户时,会将所有数据都导出吗?
                 会。

               b)如何将表移到另一个表空间?-----待定
                 alter table b move tablespace tsb;
              
               c)如何查看一个表属于哪个表空间?

               d)如何查看一个用户拥有哪些表空间?
                  SELECT FROM DBA_SEGMENTS WHERE TABLESPACE_NAME=xxx

               e)如何查看一个表空间属于哪些用户?
                  SELECT FROM DBA_SEGMENTS WHERE TABLESPACE_NAME=xxx

               f)如何更改用户默认的表空间?

               g)Oracle中OracleDBConsoleORCL无法启动的解决办法?
                   E:\WINDOWS\system32\drivers\etc下的host文件中,添加IP地址和计算机名对应关系:
                       127.0.0.1       localhost
                       192.168.1.58  fuyoo-399c533f7
                   注:1)由于以上对应关系,故经常改IP会导致OracleDBConsoleORCL无法启动
                       2)OracleDBConsoleorcl服务是采用浏览器访问oracle的企业管理器,可以以网页形式进行DB管理
  • 相关阅读:
    生产者和消费者,锁,队列
    爬虫日记-xpath来临
    进程进阶
    Entity Framework 复杂类型(转)
    EF Code First 学习笔记:约定配置(转)
    EF Code First学习笔记 初识Code First(转)
    JSON草稿
    JSON实例(单对象)
    JSON语法2
    JSON 语法
  • 原文地址:https://www.cnblogs.com/edisonfeng/p/2003794.html
Copyright © 2011-2022 走看看