前提:本机已经安装了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 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创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题

    [转载]原文地址:https://www.cnblogs.com/bjh1117/p/6605037.html 前提:本机已经安装了Oracle11g数据库. 需求:使用PL SQL数据库连接工具操作 ...

  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. 学习SpringMVC中优秀的代码编写风格

    在org.springframework.web.servlet.FrameworkServlet 中有下面这段代码 private class ContextRefreshListener impl ...

  2. Java Final and Immutable

    1. Final keyword Once a variable X is defined final, you can't change the reference of X to another ...

  3. SSM框架中常用的注解

    @Controller:在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model , ...

  4. Reinforcement Learning in R

    Reinforcement learning has gained considerable traction as it mines real experiences with the help o ...

  5. maven问题:如何不继承父工程的依赖

    在maven中,使用父工程来管理所有的依赖,当子工程只需要用到父工程的部分依赖,而不是所有依赖时,只需要在父工程的依赖中加入<dependencyManagement></depen ...

  6. 关于图的顶点染色问题的各种算法的C++实现之初探(一)——引言与简介

    我是一个数学工作者,专业方向是图论.研究图论已经十年有余.一个月前,一个偶然的机会让我萌生了一个念头,那就是我想尝试用C++写出我所学过的图论方面的算法.作为一个数学工作者,过去一直是纸上谈兵,我之前 ...

  7. 关于STM32 IAP

    转眼间天亮了...... 然后就想起了一个朋友QQ的个性签名:年轻人总是要为一些自己认为有意义的事情而废寝忘食,通宵达旦,直至白发方休........ 对了这篇文章一定会介绍的很详细,请细嚼慢咽... ...

  8. 并发容器ConcurrentHashMap#put方法解析

    jdk1.7.0_79 HashMap可以说是每个Java程序员用的最多的数据结构之一了,无处不见它的身影.关于HashMap,通常也能说出它不是线程安全的.这篇文章要提到的是在多线程并发环境下的Ha ...

  9. HTML5之2D物理引擎 Box2D for javascript Games 系列 第三部分之创建图腾破坏者的关卡

    创建图腾破坏者的关卡 现在你有能力创建你的第一个游戏原型,我们将从创建图腾破坏者的级别开始. 为了展示我们所做事情的真实性,我们将流行的Flash游戏图腾破坏者的一关作为 我们模仿的对象.请看下面的截 ...

  10. SqlDataReader 之指定转换无效

    //获取最新显示顺序数据 string str = string.Format(@"if exists(select ShowOrder from GIS_FuncDefaultLayer ...