Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。

    对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。

    创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。

关系:一个大的数据中分为几个表空间,创建几个用户然后指定对应的表空间并授权,这样用户就独立操作自己的资源了,每每用户登录进入后,在自己的表空间中新建表啊等等对象,互不干扰。

    下面是创建数据库用户的具体过程:

 

    1.假如现在已经建好名为'news'的数据库,此时在E:\app\Administrator\oradata\目录下已经存在db2目录(注意:我的Oracle11g安装在E:\app下)。

 

    2.在创建用户之前,先要创建表空间

其格式为:格式:  create tablespace 表间名 datafile '数据文件名' size 表空间大小;

如:

SQL> create tablespace db2tabs

datafile 'E:\app\Administrator\oradata\db2\db2tabs.dbf'

size 500M;

其中'db2tabs'是你自定义的表空间名称,可以任意取名;'E:\app\Administrator\oradata\db2\db2tabs.dbf'是数据文件的存放位置,一般存放在你的实例(数据库)目录下,'db2tabs.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。

    3.现在建好了名为'db2tabs'的表空间,下面就可以创建用户了

 

其格式为:格式:  create user  用户名 identified by 密码  default tablespace 表空间表;

如:

SQL> create user user2 identified by user2 default tablespace db2tabs;

--这里创建了user2用户,密码为user2,默认表空间'default tablespace'使用上面创建的表空间,若不指定,则默认表空间为users,临时表空间为temp。

--修改用户默认表空间:alter user news default tablespace xxx;

--修改用户密码:alter user news identified by xxx;

--锁定账户:alter user news account lock; --对应的还有解锁,就是unlock

    4.接着授权给新建的用户

SQL> grant connect,resource to user2;  --表示把 connect,resource权限授予news用户

SQL> grant dba to user2;  --表示把 dba权限授予给news用户

授权成功。

--把某个对象授权:grant select on scott.dept to news  --把scott用户的dept表的select权限授予news用户

--连带授权:grant select on scott.dept to news with grant option --这时news用户也有了可以把scott.dept对象的select权限授予其他用户的权限,上面的那个授权是在超级管理员下授权的,而在这里,news也有权授权了

--授权所有:grant all on scott.dept to news  --scott.dept对象的所有权限都授予news用户了

--解除权限:revoke select on scott.dept to news

注意,官方推荐,因为角色少,用户多,所以我们一般是创建一种角色,并授予相应的权限,然后把要创建的用户隶属与此角色,这样用户就拥有了角色所拥有的权限,而不是直接对用户授权,这样便于管理,如下:

--创建myrole角色:create role myrole;

--授予其dba和create tablespace权限:grant unlimited tablespace,dba to myrole;

--隶属于角色:grant myrole to news

5、新建对象

授权成功后就可以新建各种对象了,这里举例新建表:

首先以上面创建的news用户登录,然后创建表:

create table tt(t varchar2(10));

--这样新建的表tt的默认表空间是在news用户的默认表空间,如果你想把表建在其他表空间,这样:

create talbe tt(t varchar2(10)) tablespace othertabs;

------------------------------------------------------------------------------------------------------------------

另外,在团队协作的时候,一般呢我们是给每个人一个账户来进行远程登录到自己的服务器中操作的,比如,对于scott用户的所有资源,我想新建一个kute用户,但是拥有scott用户所有的资源,也就是每个用户的资源都是一样的。就可以这样做:

新建用户,分配给其他人使用登录到我的服务器

1.备份scott用户

首先新建要存储备份的文件夹:e:\oracle_new_scott\

在dos窗口中进入此文件夹,然后输入:exp

目的就是将scott用户的所有资料导出到此文件夹,exp也就是export,导出。

输入回车后,提示输入用户名和密码,这里输入要导出的用户scott和密码。

2.创建用户

首先应该以超级管理员的身份进入你的数据库

sqlplus sys/kute@db2 as sysdba;

--然后再创建用户,可以的话就先创建自己的表空间,这样最好了,如果不创建那么就使用默认的users表空间

create user user2 identified by user2 default tablespace users quota 10M on users

--这里的quota是把users表空间的10M空间给了user2用户

、授权

grant create session,create table,create view,connect to kute

--这里如果出现导入不成功的话,那么授权的时候还要将unlimited tablespace权限授予

4.导入

同样在那个文件夹中输入:imp

出现一大堆东西,一直回车即可,注意,总共有两次要你输入用户名称:第一次,输入谁要导入的用户,这里是user2@db2,这里user2是我的用户,db2是全局数据库名称,必须这样写,否则报错用户名/口令不正确,它找不到用户,因为你的用户是在db2下新建的;第二次,输入要把谁导入,这里是scott。然后一直回车即可,完成。

这样,就创建了一个拥有scott用户所有资源的可以用于远程登录的user2用户。

下面贴出我创建用户的过程:首先我新建了一个db2的数据库,然后:

这样用户就创建完成了。下面是我的测试代码:

注意:如果你通过角色给用户授权,那么在将db2role角色授予用户user2之后,还要授予user2用户users表空间的权限,即:

其他不变,这样才可以成功。。哪看不明白Q我!!

Oralce新建数据库、新建远程登录用户全过程的更多相关文章

  1. 安装xampp之后如何建立远程登录用户并修改登录方式和密码

    其实xampp作为开发环是非常好用的,但是很少人将其用作生产环境,主要还是它的安全性较低,很多默认设置都存在安全漏洞,但是实际上使用xampp在Linux下面进行配置确实是很节省时间的一件事(如果你的 ...

  2. MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称

    MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称   INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA. ...

  3. YII学习,实现基于数据库的后台登录,用户体系.

    上次研究Yii框架写到了要完成用户登陆系统.这次接着上次的写. 参考官方权威指南和参考手册,外加各种博客文章.历尽千辛万苦,数遍天上滴星星.完成了后台用户登录.这里用到了YII框架的 CUserIde ...

  4. 限制SSH远程登录用户仅能只读访问Linux中指定的目录

    资料参考:http://os.51cto.com/art/201703/534895.htm 背景需求: 在TOMCAT服务器上建立一个普通帐号log_user,只能查看TOMCAT日志,不能删改任何 ...

  5. 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案

    ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...

  6. Windows 10 多用户同时远程登录

    win服务器版默认是支持多用户登陆的,甚至可以在主机上用不同用户自己远程登陆自己,如window server 2016. Win10 正常情况下是不允许用户同时远程的,即一个用户远程进来会把另一个用 ...

  7. 傻瓜式教学--win10 + frp + rdpwrap + 阿里云服务器 --实现win10 多用户同时远程登录内网机

    概述: 使用win10 专业版 + frp + RDPwrap + 阿里云服务器 的组合实现win10 多用户同时远程登录内网机.使用frp 做内网穿透,将内网机的指定端口暴露在外网,通过ip+por ...

  8. “通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决

    问题: windows通过jumpserver远程登录到linux服务器,使用rz上传jar包,速度太慢(10k以内). 解决方案: 思路:通过ssh直接登录远程服务器 1.secureCRT-> ...

  9. CentOS7安装MySQL并允许远程登录

    下载 mysql 源安装包 $ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装 mys ...

随机推荐

  1. ie下面兼容性问题的一些总结

    最后一次搞ie兼容性问题,以后都可以不管了0.0 1.浮动兼容性 1.1IE6下的双边距BUG 在IE6下,块元素有浮动和横向margin的时候,最边上元素的横向margin值会被放大成两倍 解决办法 ...

  2. 配置Statspack

    配置Statspack 配置前需要了解3个内容. 1.创建Statspack模式使用的密码. 2.Statspack使用的默认表空间. 3.Statspack使用的临时表空间. Create Tabl ...

  3. 说说oracle的 sysdate、trunc函数

    SQL> select trunc(sysdate)+1/24+3 from dual; TRUNC(SYSDATE)+1/24-------------------2015-08-14 01: ...

  4. Objective-C学习篇02—封装

    面向对象的三大特性:封装.继承和多态 封装目的就是将数据隐藏起来,外界只能通过这个类的方法(接口)才能访问或者设置里面的数据,不可以在外部直接修改或者访问里面的数据,通常使用方法来达到封装一个类的目的 ...

  5. JTree用法及JTree使用经验总结

    import  java.awt.Dimension; import  java.awt.Color; import  javax.swing.JFrame; import  javax.swing. ...

  6. JavaScript的“闭包”到底是什么

    在JavaScripot函数闭包的定义中,一般都有一个outer 函数,一个inner函数.那么“闭包”到底是指outer函数呢,还是指inner函数? 从官方定义来看,并不清楚:A closure  ...

  7. 跨域的iframe自动调整高度(cross-domain iframe resizer)

    可以使用iframe-resizer项目地址: http://davidjbradshaw.github.io/iframe-resizer/演示地址: http://davidjbradshaw.c ...

  8. underscorejs-sortBy学习

    2.17 sortBy 2.17.1 语法 _.sortBy(list, iteratee, [context]) 2.17.2 说明 返回一个排序后的list拷贝副本. list为集合,如数组.对象 ...

  9. jQuery 知识积累

    1.select下拉框设置选中项 //设置下拉框第一项为选中项$("#selectId option:first").prop("selected", 'sel ...

  10. 10 款强大的JavaScript图表图形插件推荐

    转自:http://www.iteye.com/news/24535 网上有很多用于绘制图表图形的免费JavaScript插件和图表库,这类插件大量出现的原因,一是人们不再依赖于Flash,二是浏览器 ...