本文来自:http://www.cnblogs.com/furenjian/articles/2889787.html
用sqlplus为oracle创建用户和表空间
用Oracle10g自带的企业管理器或PL/SQL图形化的方法创建表空间和用户以及分配权限是相对比较简单的,本文要介绍的是另一种方法,使用Oracle 9i所带的命令行工具:SQLPLUS
来创建表空间,这个方法用起来更加简明快捷。
假设: 文章假设,如果您用的是Linux系统,那么Oracle用户名为oracle。同时,您是在oracle服务器上操作。
如果是在Windows系统下, 请先点击“开始”,然后点“运行”,输入cmd并点击“确定”,打开命令行窗口
如果是在Linux的图形窗口,请右键点击桌面并点击“打开终端”,然后输入 su - oracl
做好上述准备工作以后,输入以下命令:
sqlplus /nolog
回车后,将出现提示符 SQL>
这时输入
conn / as sysdba
一般即可登录,如果失败的话,可以试一下用conn sys/sys用户的密码 as sysdba来重试一下
接下来,我们看看您当前的数据库文件一般都是放在哪里的:
select name from v$datafile;
windows下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
D:\oracle\oradata\orcl\system01.dbf
D:\oracle\oradata\orcl\undotbs01.dbf
D:\oracle\oradata\orcl\cwmlite01.dbf
D:\oracle\oradata\orcl\drsys01.dbf
D:\oracle\oradata\orcl\indx01.dbf
D:\oracle\oradata\orcl\tools01.dbf
说明您的数据文件是放在 D:\oracle\/oradata\orcl\ 这个目录下的
Linux下可能看到的结果如下:
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/oradata/orcl/system01.dbf
/oracle/oradata/orcl/undotbs01.dbf
/oracle/oradata/orcl/cwmlite01.dbf
/oracle/oradata/orcl/drsys01.dbf
/oracle/oradata/orcl/indx01.dbf
/oracle/oradata/orcl/tools01.dbf
说明您的数据文件是放在 /oracle/oradata/orcl/ 这个目录下的
好,我们可以开始创建数据库表空间了,创建数据库表空间的命令格式如下:
create tablespace 表空间名 datafile '对应的文件名' size 大小;
举例如下:
对于上述的windows情况:
create tablespace yang datafile 'D:\oracle\oradata\orcl\yang.dbf' size 3000m;
3000m指的是3000MB
对于上述的Linux的情况:
create tablespace yang datafile '/oracle/oradata/orcl/yang.dbf' size 3000m;
至此,所需的表空间已建立。
接下来我们开始创建用户,创建用户的命令格式如下:
create user 用户名 identified by 密码 default tablespace 用户默认使用哪一个表空间;
修改用户的权限:
grant 角色1,角色2 to 用户名;
举例如下:
create user yanglei identified by yang123 default tablespace yang;
grant dba, connect to yanglei;
授权成功。
本人操作步骤如下:
----------ORACLE查看数据库表空间使用情况
select
b.file_id 文件ID号,
b.tablespace_name 表空间名,
b.bytes/1024/1024||'M'字节数,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||'M' 已使用,
sum(nvl(a.bytes,0))/1024/1024||'M' 剩余空间,
100 - sum(nvl(a.bytes,0))/(b.bytes)*100 占用百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;
1.建立表空间 NXSPJK_DATA
建立表空间可以在SQL PLUS中执行如下语句, 需要用sysdba角色进入:
CREATE TABLESPACE NXSPJK_DATA
DATAFILE 'E:\OracleTableSpace\NXSPJK\NXSPJK_DATA.dbf' SIZE 50M;
2.使用SYS用户建立heimdall用户并授权:
create user NXSPJK
identified by "NXSPJK"
default tablespace NXSPJK_DATA
temporary tablespace TEMP
profile DEFAULT;
grant execute on SYS.DBMS_PIPE to NXSPJK;
grant execute on SYS.UTL_RAW to NXSPJK;
grant connect to NXSPJK;
grant resource to NXSPJK;
grant create sequence to NXSPJK;
grant create synonym to NXSPJK;
grant create table to NXSPJK;
grant create trigger to NXSPJK;
grant create view to NXSPJK;
grant create database link to NXSPJK;
grant unlimited tablespace to NXSPJK;