[转载]原文地址:https://www.cnblogs.com/bjh1117/p/6605037.html

前提:本机已经安装了Oracle11g数据库。
需求:使用PL SQL数据库连接工具操作Oracle数据库
一、创建表空间和用户
     想要操作数据库,首先需要创建用户并给用户授予权限;在创建用户时需要指定表空间并指定用户在表空间中能够使用的大小。因此,想要创建用户,首先需要创建数据库表空间。
     1、采用sqlplus工具创建用户及表空间:
     (1)打开sqlplus工具:开始——》所有程序——》 Oracle --OraDb11g_home1——》应用程序开发——》SQL Plus
     (2)创建表空间:
       以用户system连接数据库,密码为你安装数据库时设置全局数据库的窗口设置的管理口令,SYSTEM、SYS、SYSMAN、DBSNMP的初始密码都是这个密码,用户SCOTT的初始口令为tiger。
       创建表空间的语句:datafile2.dbf为新创建的表空间数据文件,注意:存放表空间数据文件的目录(这里是D:\OracleFiles\OracleData)必须已经存在,否则会报下面的错误,该目录是自己定义的,不一定就和下图中的一样。
 
修改数据文件位置后,创建表空间成功:
这里采用的是本地化管理方式创建的,dbsp_2是表空间的名称,size 10m 表示表空间的大小,extent management local autoallocate是设置当表空间大小已满时,用自动管理的方式扩展表空间。还有另一种扩展方式是每次扩展相同的大小,语句为:
extent management local uniform size 256K;其中,256k是根据实际需求设置的。
查找表空间大小语句:
 
(3)创建用户:
第一个testUser为用户名,第二个testUser为用户密码,default tablespace是默认表空间,这里设置成上面创建的表空间,temporary tablespace是临时表空间,quote设置用户在表空间上占用的空间大小。如果不指定默认表空间,Oracle会将SYSTEM表空间指定为用户的默认表空间;如果没有用quota子句,用户在特定表空间的配额为0,用户不能在该表空间上创建数据对象。
创建用户后,当用户分配的空间不够时,可以扩展用户的空间:
alter user testUser quota 20m on dbsp_2;将用户的空间扩展为20m
给用户指定两个表空间,并且可使用大小不限制:
alter user userName
quota unlimited on tablespace1
quota unlimited on tablespace2;
注意:在实际应用中建议表数据和表索引分两个表空间,这时就需要给用户在两个表空间分配可使用空间,在创建用户时还是按照上面提到的方法,只指定一个默认表空间,这样如果在创建表时没有指定表空间的情况下,会默认将表创建在默认表空间里(即default
tablespace),如果想给数据库表数据和索引指定不同的表空间,则在给用户分配可使用空间后,在创建数据库表和索引时直接指定即可。
修改用户密码:
alter user testUser identified by 123456;将用户的密码设置为123456。
有时用户会处于锁定状态,解锁用户:
alter user testUser account unlock;
(3)为用户设置权限
     
初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或者角色。被赋予了某个角色的用户将拥有该角色所具备的权限,常被用到的系统预定义角色:CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE。其中,CONNECT、RESOURCE、DBA主要用于数据库管理,数据库管理员需要被授予这三个角色。一般的数据库开发人员,需要被授予CONNECT、RESOURCE角色即可。EXP_FULL_DATABASE、IMP_FULL_DATABASE角色分别用于操作数据库导出、导入相关的操作。为用户授予角色:
          
(4)创建用户并为用户授权的另一种方法:用PL SQL工具
  双击运行PLSQL Developer软件,连接到本地的oracle数据库服务器
   

在“对象”下,找到users,右击选择“新建”

在弹出的“创建用户”窗口中,输入新用户的名称、口令,默认表空间、临时表空间等

 

赋予新用户权限,赋予其角色权限:connect、resource,这样用户才能登录操作数据库

 

(5)创建数据库用户完成后,就可以用该用户名、密码登录PL SQL工具操作数据库了。

 (6)删除用户语句:
  drop user 用户名 cascade;
     删除空的表空间,但是不包含物理文件
  drop tablespace tablespace_name;
   删除非空表空间,但是不包含物理文件
  drop tablespace tablespace_name including contents;
   删除空表空间,包含物理文件
  drop tablespace tablespace_name including datafiles; 
   删除非空表空间,包含物理文件
  drop tablespace tablespace_name including contents and datafiles;
   如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
二、数据库数据的导入导出
     数据导出:PL SQL登录成功后,点击工具--》导出表--》选中要导出的表--》插入SQL--》选中删掉表选项、去掉包括存储前面的对号,选择输出文件的位置--》点击导出按钮--》等待导出完成。
 

数据导入:点击PL SQL左上角的新建--》命令窗口

输入@+sql文件位置,点击回车,即可将表导入数据库。

 

导入数据库的过程中,可能会报表空间不足的错误“unable to create INITIAL extent for segment in tablespace”

      修改表空间数据文件大小:
     alter database datafile 'xxx.dbf' autoextend on next 10m [maxsize 500m];
     每次扩展10m,最大大小为500m。后续表空间不够,还可以修改maxsize的值。
三、Oracle数据库乱码问题:
    1、 导入导出的过程中,可能会发现导出的sql文件中或者PL SQL显示的中文汉字乱码、显示问号:
 

     可能是因为ORACLE数据库的编码格式不支持中文汉字,修改方法如下:
     (1)
开始-运行-输入regedit-回车进入注册表,依次单击HKEY_LOCAL_MACHINE--->SOFTWARE --->
ORACLE--->KEY_OraDb11g_home1(不同版本的Oracle显示的都不太一样,但都会包含home这个单词),找到“NLS_LANG”,查看数值数据是否为:“SIMPLIFIED
CHINESE_CHINA.ZHS16GBK”,如果不是就将它设置为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK。”

     (2)设置完注册表后,接下来设置我们的环境变量,计算机(右键) --->属性--->高级系统设置--->高级--->环境变量--->新建,个人建议新建用户变量,变量名输入:“NLS_LANG”,变量值输入:“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”。点击确定即可,到此我们就设置完了。

 (3)这样设置过后,sql文件和PL SQL中应该可以显示中文了。
     2、经过上面的步骤后,可能会出现部分表可以显示中文、部分表中文仍然乱码的情况,登录PL SQL工具时提示:“数据库字符集和客户端字符集是不同的,字符转化可能会造成不可预期的结果“
     原因:这是因为ORACLE服务器和客户端字符编码格式设置的不同,即刚刚改过的注册表中的编码格式与Oracle数据库中的编码格式不同。
     解决办法:打开sqlplus窗口,查看当前编码格式:
     

我的数据库已经配置过了,和上面注册表中的字符集是相同的,如果不同,需要更改字符集,方法如下:

      sql> conn / as sysdba;
  sql> shutdown immediate;
  database closed.
  database dismounted.
  oracle instance shut down.
  sql> startup mount;
  oracle instance started.
  total system global area  135337420 bytes
  fixed size                          452044 bytes
  variable size                     109051904 bytes
  database buffers              25165824 bytes
  redo buffers                      667648 bytes
  database mounted.
  sql> alter system enable restricted session;
  system altered.
  sql> alter system set job_queue_processes=0;
  system altered.
  sql> alter system set aq_tm_processes=0;
  system altered.
  sql> alter database open;
  database altered.
  sql> alter database character set internal_use ZHS16GBK
  sql> shutdown immediate;
  sql> startup;
      经过上面的步骤,数据库服务器和客户端的字符集一致了,应该不会出现中文汉字乱码的问题了。
      以上是今天操作数据库遇到的问题,现在应该可以正常使用本地Oracle11g数据库了。
     
      参考文章:
       修改Oracle注册表和环境变量字符集:http://www.2cto.com/database/201407/313317.html
       修改Oracle字符集:http://blog.sina.com.cn/s/blog_4b055d6b0100sssg.html
   删除表空间:http://blog.csdn.net/gbj890229/article/details/6623996
  虽然有参考其他文章,但整理、实践、补充很用心,转载请注明出处。

Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题的更多相关文章

  1. Oracle11g 创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题

    前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作Oracle数据库 一.创建表空间和用户      想要操作数据库,首先需要创建用户并给用户授予权限:在创建用户 ...

  2. Oracle创建表空间、用户、授权

    在创建好数据实例(数据库)好后的基础上,后续做的事情如下: ---创建表空间 create tablespace LIS2011DATA logging datafile 'd:\oracle\pro ...

  3. oracle创建表空间,用户,授权等

    #oracle数据库安装完成后,有两个系统级的用户system 默认密码为 :managersys 默认密码为 :change_on_install #创建表空间tbs_xxxdba,初始大小1G,每 ...

  4. ORACLE 创建表空间、用户、授权

    1.创建表空间 create tablespace TEST  logging datafile 'e:\app\administrator\oradata\orcl\TEST.dbf' size 1 ...

  5. oracle_创建表空间、用户、授权等步骤

    --创建表空间(在system用户下才可以创建) //connect system/manager as sysdba:切换到system用户 create tablespace tz datafil ...

  6. oracle 创建表空间,用户并授权

    1. 查看所有表空间及存储路径 select file_name, tablespace_name from dba_data_files; 2. 创建表空间 CREATE TABLESPACE xs ...

  7. orcale 11g安装,创建表空间,用户,授权用户

    一.卸载旧oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设 ...

  8. oracle 语句创建表空间、用户、授权

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_te ...

  9. Oracle 11g安装步骤以及Oracle11g创建表空间和用户,并授权

    Oracle 11g安装步骤详解 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地 ...

随机推荐

  1. MIT KIT OpenID Connect Demo Client

    Hello world! You are NOT currently logged in. This example application is configured with several pa ...

  2. Heroku创始人Adam Wiggins发布十二要素应用宣言

    Heroku是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.前不久,创始人Adam Wiggins根据这些经验,发布了一个“十二要素应用宣言(The Twelve-F ...

  3. Array.prototype.slice.call()方法详解

    在很多时候经常看到Array.prototype.slice.call()方法,比如Array.prototype.slice.call(arguments),下面讲一下其原理: 1.基本讲解 1.在 ...

  4. BZOJ_4726_[POI2017]Sabota?_树形DP

    BZOJ_4726_[POI2017]Sabota?_树形DP Description 某个公司有n个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属 ...

  5. BZOJ_2152_聪聪可可_点分治

    BZOJ_2152_聪聪可可_点分治 Description 聪聪和可可是兄弟俩,他们俩经常为了一些琐事打起来,例如家中只剩下最后一根冰棍而两人都想吃.两个人都想玩儿电脑(可是他们家只有一台电脑)…… ...

  6. 如何在ST官网下载STM32固件库

    1.首先要注册一个ST账号,下载的时候需要. 2.找到工具与软件 3.进去之后选"产品列表" 4.在产品列表里选STM32微控制器软件,直接点下图标号2,不要点左边的加号 5.进去 ...

  7. SpringBoot Web Https 配置

    不管是游戏服务器开发,还是其它服务开发,越来越多的平台都要求服务端必须支持https的访问.以增加安全性.比如目前火热的小程序,要求服务端必须支持https,苹果商店也有说http请求要修改为http ...

  8. linux上MongoDB安装部署

    ①下载安装包 mongodb-linux-x86_64-rhel62-3.6.3.tgz   ②解压: tar zxvf mongodb-linux-x86_64-rhel62-3.6.3.tgz   ...

  9. 用Python学分析 - 二项分布

    二项分布(Binomial Distribution)对Bernoulli试验序列的n次序列,结局A出现的次数x的概率分布服从二项分布- 两分类变量并非一定会服从二项分布- 模拟伯努利试验中n次独立的 ...

  10. js十大排序算法

    排序算法说明: (1)对于评述算法优劣术语的说明 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面:不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面: 内排序:所有排 ...