今天第一次尝试使用oracle数据库确是费了些周折,不过从中真是体会到,只在一个环境下工作真的很令人闭塞。用惯了SQL SERVER,虽然都是增删改查,但却存在陌生感。究其原因,长期使用同一个工具是表象原因,而根本原因是对这类产品的认知度不够,没有进行深入思考,未能举一反三。而要做到做好这些有个一个很简单的办法,那就是从表象原因做起,多接触点同类产品的不同厂商的工具,它们使用上的差异就会促使我深入了解这类产品,思考这类产品。好了下面简单描述一下在oracle中建立用户和数据表的过程及语句等。
首先要清楚oracle有三种连接身份:Normal、Sysdba、sysoper。它们的分别代表普通用户、系统管理员、系统操作员。其中sysdba拥有最高的权限。(详细了解访问《http://blog.csdn.net/tianlesoftware/archive/2009/10/23/4719155.aspx》)
那么我们在安装oracle数据库时就会有一个sysdba身份的用户,比如它的用户名和密码是:scott/orcl。此时我们要建立一个Normal用户来,并使用该用户将建表的sql脚本导入数据库系统。本例使用sqlplus,需进入命令行工具中,过程如下所示:
1、以系统管理员的身份连接到数据库系统
sqlplus scott/orcl as sysdba
2、创建表空间
create tablespace tableSpaceName datafile 'd:/test/tableSpaceFile.dbf' size 100m;
3、创建新账户
create user d identified by d;
4、将表空间指定给新建账户
alter user d default tablespace tableSpaceName;
注:可将3,4写到一起:create user d identified by d default tablespace tableSpaceName;
5、设置权限,至此新建的账户有了普通用户的身份,可以使用一些工具如oracle sql handler试一下,它可以进入了哦!
grant create session ,create table,create view,unlimited tablespace to dd;
6、查看一下当前连接的用户(可以省略)
show user;
7、以账户d的身份连接到数据库
conn d/d;
8、将sql脚本导入到数据库中
@d:/test/drp-create.sql;
9、导入后可以查看一下新建了哪些表和视图
select * from tab;
我们新建的账户只有normal的身份,我们还可以让他即Sysdba又是Normal等。
create user dd identified by dd default tablespace tableSpaceName;
grant sysdba to dd;
grant create session ,create table,create view,unlimited tablespace to dd;//授普通拥护权限
那现在进入dd可以以sysdba和Normal两种身份进入系统了。语法分别如下:
1、sqlplus dd/dd as sysdba
2、sqlplus dd/dd
如果已经在sqlplus工具里了,那可以使用conn或connection命令,格式同上面两条一样。
详细了解oracle数据库只是个时间问题,但更为重要的是这是对数据库产品深入思考的起点!