Oralce新建数据库、新建远程登录用户全过程
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表空间的权限,即:

Oralce新建数据库、新建远程登录用户全过程的更多相关文章
- 安装xampp之后如何建立远程登录用户并修改登录方式和密码
其实xampp作为开发环是非常好用的,但是很少人将其用作生产环境,主要还是它的安全性较低,很多默认设置都存在安全漏洞,但是实际上使用xampp在Linux下面进行配置确实是很节省时间的一件事(如果你的 ...
- MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称
MySQL 查询 存储过程 视图 触发器 函数 索引 建表语句 数据库版本 当前登录用户 当前数据库名称 INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA. ...
- YII学习,实现基于数据库的后台登录,用户体系.
上次研究Yii框架写到了要完成用户登陆系统.这次接着上次的写. 参考官方权威指南和参考手册,外加各种博客文章.历尽千辛万苦,数遍天上滴星星.完成了后台用户登录.这里用到了YII框架的 CUserIde ...
- 限制SSH远程登录用户仅能只读访问Linux中指定的目录
资料参考:http://os.51cto.com/art/201703/534895.htm 背景需求: 在TOMCAT服务器上建立一个普通帐号log_user,只能查看TOMCAT日志,不能删改任何 ...
- 【浅层优化实战】ssh远程登录Linux卡慢的全过程排查及解决方案
ssh远程登录Linux卡慢的全过程排查及解决方案 前言: 在linux操作系统使用过程中偶然一次感到使用ssh远程连接软件连接操作系统需要等待许久,第一次没在意,第二次也没在意,第三次有点忍受不住了 ...
- Windows 10 多用户同时远程登录
win服务器版默认是支持多用户登陆的,甚至可以在主机上用不同用户自己远程登陆自己,如window server 2016. Win10 正常情况下是不允许用户同时远程的,即一个用户远程进来会把另一个用 ...
- 傻瓜式教学--win10 + frp + rdpwrap + 阿里云服务器 --实现win10 多用户同时远程登录内网机
概述: 使用win10 专业版 + frp + RDPwrap + 阿里云服务器 的组合实现win10 多用户同时远程登录内网机.使用frp 做内网穿透,将内网机的指定端口暴露在外网,通过ip+por ...
- “通过jumpserver远程登录linux服务器,rz上传文件速度过慢”问题的解决
问题: windows通过jumpserver远程登录到linux服务器,使用rz上传jar包,速度太慢(10k以内). 解决方案: 思路:通过ssh直接登录远程服务器 1.secureCRT-> ...
- CentOS7安装MySQL并允许远程登录
下载 mysql 源安装包 $ curl -LO http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装 mys ...
随机推荐
- 应用app首次进入导航页动画
import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActi ...
- C#错误异常列表
Exception: 所有异常对象的基类. SystemException:运行时产生的所有错误的基类. IndexOutOfRangeException:当一个数组的下标超出范围时运行时引发. Nu ...
- (转)PHP中extract()函数的妙用
近日在看一个牛人的代码时,看到一个非常好用的函数:extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具,比方说,可以很方便的提取$_ ...
- js监听滚动条事件
(function () { if(document.addEventListener){ document.addEventListener('mousewheel',scrollFunc,fals ...
- Google Calendar(日历)设置农历生日提醒
Generate birthday dates base on lunar birthdays for google calendar import Can be used for notifying ...
- MyBatis学习笔记(1) —— 基础知识
mybatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架,mybatis 清除了几乎所有的jdbc代码和参数的手工设置及对结果集的检索封装.mybatis可以使用简单的xml和注解用于 ...
- HTML5验证及日期显示
以前忽略了HTML5的强大功能,谁知有了它数据大部分都不需要自己验证,显示日历也不需要插件啦,一些小功能分享给大家 1.Email输入框,自动验证Email有效性. <!DOCTYPE HTML ...
- 黑马程序员—C语言的判断语句
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.分支结构 结构化程序设计(英语:Structured programming),一种编程范型 ...
- 你不知道的JavaScript(作用域和闭包)
作用域和闭包 ・作用域 引擎:从头到尾负责整个JavaScript的编译及执行过程. 编译器:负责语法分析及代码生成等. 作用域:负责收集并维护由所有声明的标识符(变量)组成的一系列查询,并实施一套非 ...
- ExtJS 4 组件详解
ExtJS 4 的应用界面是由很多小部件组合而成的,这些小部件被称作"组件(Component)",所有组件都是Ext.Component的子类,Ext.Component提供了生 ...