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. Python的基本配置

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结 ...

  2. Css简介

  3. How do I size a UITextView to its content?

    UITextView 自适应高度,搬来一篇stack上的:   Is there a good way to adjust the size of a UITextView to conform to ...

  4. Django 1.10中文文档—第一个Django应用Part1

    在本教程中,我们将引导您完成一个投票应用程序的创建,它包含下面两部分: 一个可以进行投票和查看结果的公开站点: 一个可以进行增删改查的后台admin管理界面: 我们假设你已经安装了Django.您可以 ...

  5. web开发 关于src跳转

    src跳转看传递的参数值,如果参数值一样就不会再次跳转,也不会向后台的服务器提供request. 想要随时都能跳转可以传递不同的参数,如 onClick="this.src='http:// ...

  6. IOS开发之UIScrollView

    一.UIScrollView的边界处理问题: bounds属性: (1)当bounces属性设置为YES时,当UIScrollView中图片滑动到边界的时候会出现弹动的效果,就像是Linux中的果冻效 ...

  7. Phalcon处理404页面的 Ruter 方法

    /** * Initializes the router * * @param array $options */ protected function initRouter($options = a ...

  8. 由于权限不足而无法读取配置文件出现的HTTP 500.19解决办法

    无法访问请求的页面,因为该页的相关配置数据无效. 如下图: 解决方法, 到站点目录的属性,安全标签,添加用户(Everyone),并给修改权限:

  9. C语言内存对齐原理

    一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这 ...

  10. 转:Google论文之二----Google文件系统(GFS)翻译学习

    文章来自于:http://www.cnblogs.com/geekma/archive/2013/06/09/3128372.html 摘要 我们设计并实现了Google文件系统,它是一个可扩展的分布 ...