create user username-----------用户名
identified by "password"------------密码
default tablespace tablespacename-----------表空间
temporary tablespace TEMP------------临时表空间
profile DEFAULT;
grant dba to username;--------------给用户授权
grant unlimited tablespace to username;-----------赋予使用表空间
那怎样删除用户呢?
drop user username cascade;
Oracle 创建表空间、用户、授权
博客分类: 数据库//创建表空间
CREATE TABLESPACE '空间名称'
LOGGING
DATAFILE '存放空间文件信息的绝对路径.ora' SIZE 空间文件默认大小M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
//创建用户
CREATE USER 用户名 IDENTIFIED BY 密码
PROFILE DEFAULT
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
ACCOUNT UNLOCK;
//授权创建会话的权限
grant create session to 用户名;
//授权连接,操作表权限
grant connect,resource,dba to 用户名;
//授予系统特权
GRANT CREATE USER,ALTER USER,DROP USER to 用户名;
//授权
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名;
//授予导入导出权限
GRANT EXP_FULL_DATABASE TO 用户名;
GRANT IMP_FULL_DATABASE TO 用户名;
//导入数据库
imp 用户名/密码@用户名 full=y file=要导入数据库文件的绝对路径.dmp ignore=y;
============================================================================================
oracle要创建表要首先创建表空间,当然默认是有表空间的。而mysql创建表时,会自动创建表空间,myisam会自动建三个文件.MYD,.MYI,.frm。innodb呢,如果没有配置独立表空间的话,默认表空间ibdata1,oracle用户权限根着表空间走的,而mysql不是,mysql服务端安装好后,会自动带上一个mysql数据库,用户的权限是记录在mysql这个数据库的表中。在这方面二种数据库设计的理念不同。
1,创建临时表空间
SQL> create temporary tablespace test_temp
2 tempfile '/opt/ora10/oradata/test/test_tmp.dbf'
3 size 32m
4 autoextend on
5 next 32m maxsize 148m
6 extent management local;
Tablespace created.
2,创建表空间
SQL> create tablespace test_data
2 logging
3 datafile '/opt/ora10/oradata/test/test_data.dbf'
4 size 32m
5 autoextend on
6 next 32m maxsize 148m
7 extent management local;
Tablespace created.
3,创建表用户,并表空间分配给用户
SQL> create user tank identified by tank
2 default tablespace test_data
3 temporary tablespace test_temp;
User created.
4,查看创建的表空间
SQL> select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
2 from dba_tablespaces t, dba_data_files d where
3 t.tablespace_name = d.tablespace_name group by t.tablespace_name;
TABLESPACE_NAME TS_SIZE
------------------------------ ----------
SYSAUX 240
UNDOTBS1 25
TEST_DATA 32
USERS 5
SYSTEM 480
5,查看临时表空间、
SQL> select sum(bytes)/1024/1024 "temp size(M)" from dba_temp_files where tablespace_name='TEST_TMP';
temp size(M)
------------
6,将表空间的部分操作权限分配给用户
SQL> grant connect,resource to tank;
Grant succeeded.
7,resource这是一个权限组,有这个组就不要一个一个加了。
SQL> select GRANTEE,PRIVILEGE from DBA_SYS_PRIVS where GRANTEE ='RESOURCE';
GRANTEE PRIVILEGE
------------------------------ ----------------------------------------
RESOURCE CREATE TRIGGER
RESOURCE CREATE SEQUENCE
RESOURCE CREATE TYPE
RESOURCE CREATE PROCEDURE
RESOURCE CREATE CLUSTER
RESOURCE CREATE OPERATOR
RESOURCE CREATE INDEXTYPE
RESOURCE CREATE TABLE
8 rows selected.
以下操作我都是能以tank这个用户进行操作的
9,创建表
create table test(
id number(10) not null primary key,
name varchar(2) null ,
city number(1) null
);
10,创建临时表
CREATE GLOBAL TEMPORARY TABLE test1 (
id number(10) not null primary key,
name varchar(2) null ,
city number(1) null
);
11,查看表
1.SQL> select distinct table_name from user_tables;
2.
3.TABLE_NAME
4.------------------------------
5.TEST
6.TEST1
7.
8.//或者
9.SQL> select table_name from dba_tables where owner='TANK';
10.
11.TABLE_NAME
12.------------------------------
13.TEST
14.TEST1