oracle 以安装后的操作

406 阅读4分钟
  1. 安装完oracle数据库后,分配了两个系统用户系统用户:sys system ,拥有DBA权限

    开始:用系统用户登陆进来
    配置listen 并开启监听
    在监听下,创建实例,也就是服务实例,startup 服务 shutdown 服务.

  2. 创建实例:

    1. 一个实例就是一个数据库服务,然后在这个实例里面创建用户和表空间;

    在某个监听和服务下,创建一个用户,并指定表空间,以后该用户所产生的数据都在这个表空间下面,也就是数据文件;
    关于表空间,当然可以先创建很多的表空间,然后再一个一个的去指定,表空间是中数据文件,可以存放在指定的磁盘上

    通过 图形界面安装 或者 dbca的命令来安装在sys 
    用户的实 例数据库-orcl,安装并配置完后,开启监听:lsnrctl start,
    即对实例的监听,链接用户(一般是sysdba、sys 用户)、然后启动数据库startup;

    1. 数据库实例挂管理:

      1. shutdown [normal | transactional | immediate | abort]
        normal:表示正常方式关闭数据库,直接只写shutdown,默认的normal正常方式关闭数据库。
        transactional:表示在当前所有的活动事务被提交完毕之后,关闭数据库 ,相当于保存并关闭数据库
        immediate:表示在尽可能短的时间内立刻关闭数据库
        abort:表示以终止的方式关闭数据库
  3. 用户管理

    1. 创建表空间大小,供给那些用户指定和使用.

       CREATE TABLESPACE "Untitled" DATAFILE  'TSDAT05' SIZE 18 G REUSE AUTOEXTEND ON NEXT 1 G MAXSIZE UNLIMITED
      
      1. 创建用户 并指定表空间和临时表空间
       create user “用户名” identified by ‘密码‘  
       DEFAULT TABLESPACE “表空间名字”
       TEMPORARY TABLESPACE "TEMP"
       
       ps: 如果建立用户时没有为表空间指定QUOTA子句,那么用户在特定表空间上的配额为0,用户将不能在相应表空间上建立数据对象。
       QUOTAS : 例子
      ALTER USER "ODS" QUOTA UNLIMITED ON "TSDAT02";
      ALTER USER "ODS" QUOTA UNLIMITED ON "TSDAT03";
      
      1. 权限问题

        初始建立的用户没有任何权限,所以必须为其中赋权

        CREATE SESSION 有会话权限,但是没有登陆权限,所以必须 grant connect  to users
        grant connect,resource to users 
        #权限解读:
      connect: 是使用oracle简单权限,这种权限只对其他用户的表有访问权限,
                包括select/insert/updatedelete等。
                还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym)、
                会话(session)和其他数据库的link
       resource: 更可靠和正式的数据库用户可以授予resource role。
                 esource提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、
                触发器(trigger) .
                
       dba:  给用户赋予所有权限,connect是赋予连接数据库的权限,
           resource 是赋予用户只可以创建实体但是没有创建数据结构的权限。
          
        # 更细的权限:
      grant create session to 用户名       --这个是给用户赋予登录的权限。
      
      grant create table to  用户名          --给用户赋予表操作的权限
      
      grant unlimited tablespace to  用户名     --给用户赋予表空间操作的权限
      
      grant select any table to 用户名         
        --给该用户赋予访问任务表的权限   同理可以赋予update 和delete 
        
      grant update any table to 用户名
      
      grant delete any table to 用户名
      
      grant select on srapp_hz_zhpt_yl.jggl to srapp_hz_zhpt_ylcs 
       --这里是给srapp_hz_zhpt_ylcs用户赋予selectsrapp_hz_zhpt_yl用户的jggl表的查询的权限。同理可以有alter,drop,insert等权限。
       
        # 回收权限
        revoke connect, resource from 用户名;
        
        # 查看用户的权限
        select * from user_sys_privs; --查看当前用户所有权限
        
        select * from user_tab_privs;//查看所用用户对表的权限
        
      
      1. 用户操作

         1. drop user user1
         只是删除用户,并没有删除用户创建时的表空间等
        
      2. drop user xx cascade 
        会删除此用户名下的所有表和视图

      3. Scott 用户是被锁的 要先通过 系统用户来解锁
        alter user scott account unlock  
        conn Scott/tiger

      4. 角色管理

        create role 角色名 --创建角色
        grant select on class to 角色名; 在class 表上有select 的权限   对角色赋权:
        drop role 角色名 -- 删除角色: