oracle创建用户及权限等sql语句201471121
- 格式:docx
- 大小:13.30 KB
- 文档页数:2
oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。
oracle创建表空间、创建用户、授权、夺权、删除用户、删除表空间表空间定义表空间是为了统一ORACLE物理和逻辑上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数据文件构成的(至少1对1,可以1对多),从逻辑上来说一个表空间是由具体的一个或多个用户模式下的表,索引等等里面的数据所构成的。
创建表空间:首先连接到拥有dba权限的用户下、例如systemSQL> create tablespace baicheng datafile 'f:\baicheng.dbf' size 25M;Tablespace created创建用户:用户名yuge、用户密码yuge、所在表空间baichengSQL> create user yuge2 identified by yuge3 default tablespace baicheng;授权给用户(grant resource,connect,dba,sysdba to test)SQL> grant connect to yuge;Grant succeededSQL> grant resource to yuge;Grant succeeded收回权限SQL> revoke connect from yuge;Revoke succeededSQL> revoke resource from yuge;Revoke succeeded删除用户(加cascade的话,这样连用户自己创建的表也一起删除,如果不加就只是删除当前用户)SQL> drop user yuge cascade;User dropped删除表空间(drop tablespace baicheng including contents and datafiles;连带BAICHENG.DBF文件一起删除)SQL> drop tablespace baicheng;Tablespace dropped。
[学习笔记]Oracle创建用户、分配权限、设置角色创建用户create user student --用户名identified by "123456" --密码default tablespace USERS --表空间名temporary tablespace temp --临时表空间名profile DEFAULT --使用默认数据文件account unlock; --解锁账户(lock:锁定、unlock解锁)alter user STUDENTidentified by "654321" --修改密码account lock; --修改锁定状态(LOCK|UNLOCK )分配权限系统权限:create session数据库连接权限、create table、create view 等创建数据库对象权限。
由DBA用户授权。
对象权限:对表中数据进行增删改查操作,对所拥有的对象进行相应的操作。
由拥有该对象权限的对象授权。
# 授权--GRANT 对象权限 on 对象 TO 用户grant select, insert, update, delete on JSQUSER to STUDENT;--GRANT 系统权限 to 用户grant select any table to STUDENT;# 取消-- Revoke 对象权限 on 对象 from 用户revoke select, insert, update, delete on JSQUSER from STUDENT;-- Revoke 系统权限 from 用户revoke SELECT ANY TABLE from STUDENT;设置角色CONNECT角色:基本角色。
CONNECT角色代表着用户可以连接 Oracle 服务器,建立会话。
RESOURCE角色:开发过程中常用的角色。
RESOURCE角色可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包、类型等。
oracle创建表空间、用户、赋权限PS:在我使用的过程中遇到的问题及其相关知识,分享给大家;转载请标注:;以下操作可以在DOS下也可以在PLSQL中,操作前确保服务都开启。
1、建立表空间create tablespace MY_JAVA datafile'D:\app\ibm\product\11.1.0\db_1\oradata\Myspace\MY_JAVA.DBF' size 300m UNIFORM SIZE 128k;2、建立UNDO表空间CREATE UNDO TABLESPACE MY_UNDOTBS0 DATAFILE'D:\app\ibm\product\11.1.0\db_1\oradata\Myspace\MY_UNDOTBS0.dbf' SIZE 50M;ALTER SYSTEM SET undo_tablespace=MY_UNDOTBS0;3、建立临时表空间CREATE TEMPORARY TABLESPACE temp_data TEMPFILE'D:\app\ibm\product\11.1.0\db_1\oradata\Myspace\TEMP_DATA.dbf' SIZE 50M;4、创建用户并指定表空间create user sa identified by mypwd default tablespace MY_JAVA TEMPORARY TABLESPACE temp_data;5、给用户授予权限GRANT CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE, CREATE SEQUENCE, ALTER ANY TABLE, ALTER ANY PROCEDURE, DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE, SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE TO sa;6、给用户赋予操作表空间权限sql>connect / as sysdba;(如果当前为sys用户可以省略此行)sql>alter user sa2 quota unlimited on MY_JAVA;。
创建oracle数据库表空间,角色,用户的sql语句创建oracle 数据库表空间,角色,用户的sql语句1.创建角色CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED;GRANT "CONNECT" TO "QIUDINGROLE";GRANT "DBA" TO "QIUDINGROLE";GRANT "RESOURCE" TO "QIUDINGROLE";2.创建表空间create tablespace safetempdatafile'D:\oracle\product\10.1.0\oradata\localpower\safetemp01.dbf'size32m autoextend on next32m maxsize unlimited logging extent management local segment space management auto;CREATE SMALLFILE TABLESPACE "EXAM" DATAFILE'D:\Soft\oracle\product\10.2.0\oradata\qiuding\EXAM' SIZE 100M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;BEGINDBMS_SERVER_ALERT.SET_THRESHOLD(9000,NULL,NULL,N ULL,NULL,1,1,NULL,5,' EXAM'); END;CREATE SMALLFILE TEMPORARY TABLESPACE "EXAM_TEMP" TEMPFILE'D:\Soft\oracle\product\10.2.0\oradata\qiuding\EXAM_tem p' SIZE 100M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;BEGINDBMS_SERVER_ALERT.SET_THRESHOLD(9000,NULL,NULL,NULL,NULL,1,1,NULL,5,' EXAM_TEMP'); END;3.创建用户create userEXAMidentified by "PASSWORD123"default tablespace "EXAM"temporary tablespace "EXAM_TEMP"profile DEFAULTACCOUNT UNLOCK;grant QIUDINGROLE to EXAM;grant unlimited tablespace to EXAM;4.创建备份目录并且付相应权限create directory dump_dir as 'D:\Soft\oracle\backup';grant read,write on directory dump_dir to EXAM;。
Oracle 创建用户概述在Oracle数据库中,用户是用来管理和控制数据库对象访问权限的实体。
创建用户是在数据库中分配一个独立的身份,每个用户都有自己的用户名和密码,并且可以被授权执行特定的操作和访问数据库中的对象。
本文将介绍如何使用Oracle SQL语句创建用户,并且授予用户相应的权限。
步骤下面的步骤将指导您如何创建一个新的Oracle用户。
步骤一:连接到数据库首先,您需要使用合适的数据库客户端连接到Oracle数据库。
您可以使用SQL*Plus、SQL Developer或者其他支持Oracle数据库的工具。
步骤二:创建用户使用以下SQL语句创建一个新的Oracle用户:CREATE USER username IDENTIFIED BY password;在上述语句中,将username替换为您想要创建的用户名,password替换为您想要设置的密码。
例如,如果您想创建一个名为myuser的用户,密码为mypassword,则SQL语句应为:CREATE USER myuser IDENTIFIED BY mypassword;步骤三:授予权限新创建的用户默认情况下没有任何权限。
您需要手动授予用户相应的权限。
以下是常见的权限授予操作:•给予用户连接数据库的权限:GRANT CONNECT TO username;•给予用户创建表的权限:GRANT CREATE TABLE TO username;•给予用户插入、更新、删除表数据的权限:GRANT INSERT, UPDATE, DELETE ON tablename TO username;在上述语句中,username是您创建的用户的用户名,tablename是您想要授予权限的表名。
步骤四:验证用户创建使用以下SQL语句查询新创建的用户信息:SELECT*FROM all_users WHERE username ='yourusername';将yourusername替换为您创建的用户名。
Oracle 创建表空间、用户、授权Oracle 创建表空间、用户、授权博客分类:数据库//创建表空间CREATE TABLESPACE '空间名称'LOGGINGDATAFILE'存放空间文件信息的绝对路径.ora' SIZE 空间文件默认大小MEXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;//创建用户CREATE USER 用户名IDENTIFIED BY 密码PROFILE DEFAULTDEFAULTTABLESPACE USERSTEMPORARY TABLESPACE TEMPACCOUNT UNLOCK;//授权创建会话的权限grant create session to 用户名;//授权连接,操作表权限grant connect,resource,dba to 用户名;//授予系统特权GRANT CREATE USER,ALTER USER,DROP USER to 用户名;//授权GRANT CREATE USER,DROP USER,ALTERUSER ,CREATE ANY VIEW ,DROPANYVIEW,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如何创建⽤户并赋予权限本⽂将从⽤户创建讲起,特别讲述Oracle授予⽤户权限的⼀个实例,希望对⼤家了解Oracle授予⽤户权限有所帮助。
这两天在测数据库同步软件的时候,需要在Oracle⾥创建⼀个⽤户名和密码均为SYSDATA的⽤户,找了找资料,创建成功,现将Oracle中⽤户的创建和授予命令摘录下来:1、Linux 下Oracle的启动以Oracle⾝份登录启动lsnrctl start 登录sqplus /nolog连接数据库connect/assysdba 启动数据库startup关闭数据库shutdown immediate2、在数据中创建⽤户名启动数据库后创建⽤户名连接超级⽤户connect system/admin system 系统⽤户名字 admin 密码创建⽤户名字create user SYSDATA identified by admin ⽤户名:SYSDATA 密码:admin 可以写Default tablespace user//指定存储对象使⽤的默认空间表默认是system Temporary tablespace temp; //保存临时对象所使⽤的空间表默认是system 上⾯的俩⾏,可以写空间表为user临时为temp;不写就默认3、添加⽤户的权限Grant是Oracle授予⽤户权限的如:1.Grant create session to SYSDATA;//授予SYSDATA连接数据的权限系统权限如下:系统特权允许执⾏的操作Create session 连接数据库Create sequence 创建序列Create synonym 创建同名对象Create table 创建表Create any table 创建任何模式的表Drop table 删除表Create procedure 创建存储过程Execute any procedure 执⾏任何模式的存储过程Create user 创建⽤户Create view 创建视图Drop user 删除⽤户Drop any table 删除任何模式的表4、向⽤户授予系统特权1.Grant execute any procedure toSYSDATA with admin option此句意思为为sha⽤户创建系统特权并且可以⽤SYSDATA为别的⽤户授予权限连接SYSDATA⽤户connect SYSDATA/admin 可以创建别的⽤户5、查看⽤户权限进⼊SYSDATA⽤户connect SYSDATA/admin1.Select * from user_sys_privs;可以查看到⼀个列表,列代表⽤户名权限是否可以给别的⽤户附加权限(N、Y)⾏代表权限都有那些6、撤销⽤户授予的权限必须连接connect system/admin撤销权限revoke是系统撤销权限的关键词1.Revoke execute any procedure from SYSDATA;7、更改⽤户密码进⼊SYSDATA⽤户connect SYSDATA/admin Password输⼊旧密码输⼊新密码俩边OK 或者⽤alter user SYSDATA identified by xinmima8、删除⽤户1. Connect system/admin2.Drop user SYSDATA;9、为⽤户授予⾓⾊1. Grant dba to SYSDATA;2.Grant connect to SYSDATA;Linux下的plsql创建⽤户1. create user SYSDATA identified by admin2. Default tablespace user3. Temporary tablespace temp;4. Granr unlimited tablespace to SYSDATA;//权限5.Grant dba to SYSDATA;//⾓⾊。
Oracle创建用户并给用户授权查询指定表或视图的权限用sys账户登录数据库进行如下操作:CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUNDDEFAULT TABLESPACE "TBS_DNINMSV31"TEMPORARY TABLESPACE "TEMP2"QUOTA UNLIMITED ON "TBS_DNINMSV31";GRANT "CONNECT" TO NORTHBOUND;ALTER USER NORTHBOUND DEFAULT ROLE NONE;GRANT CREATE SESSION TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNDEVICE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNSUBNE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPACKAGE" TO NORTHBOUND;GRANT SELECT ON "DNINMSV31"."V_DNPORT" TO NORTHBOUND;【注】:在用NORTHBOUND登录后查询的时候要在视图前加上DNINMSV31,否则会报表或视图不存在。
例如:select * from DNINMSV31.V_DNDEVICE; --可以正常执行select * from DNINMSV31.TB_DEVICE where rownum<5; --执行的时候会报表或视图不存在--------------------------------------------------------------------------------------------------GRANT debug any procedure, debug connect session TO hnckb;grant select on sys.dba_pending_transactions to hnckb;grant CREATE VIEW,CREA TE JOB,CREATE SYNONYM to hnckb;grant CONNECT,RESOURCE to hnckb;1.标准角色CONNECTRESOURCE2.系统权限CREATE VIEWCREATE DATABASE LINKCREATE JOBCREATE SYNONYMUNLIMITED TABLESPACE更改定额命令:ALTER USER 名称QUOTA 0 ON 表空间名ALTER USER 名字QUOTA (数值)K|M|UNLIMITED ON 表空间名;使用方法:A、控制用户数据增长B、当用户拥有一定的数据,而管理员不想让他在增加新的数据的时候。
oracle创建create user及授权grant查看登陆的用户:以下都可以:showuser;selectsys_context('userenv','session_user')fromdual;selectuserfromdu al;查看所有登录的用户必须为DBA用户:selectusernamefromv$session;sys、system等DBA用户查看其他用户(test)中的对象(表):SQL> select * from test.student;创建一个普通用户都把该用户用起来的流程:1、创建用户SQL>create user test indentified by test;这样就创建了一个用户名密码都为test的用户但这个时候test还是不能登陆成功的,我们需要赋予相应的权限2、赋予create session的权限SQL>grant create session to test;这样test用户就能成功登陆进去但是此时用户还是不能创建表我们需要赋予用户创建表的权限:SQL>grant create table to test;但是用户此时还不能创建表因为需要有使用表空间的权限(相当于用户有了进房间的钥匙但是没有进大门的钥匙。
)所以也应该赋予相应的权限SQL>grant unlimited tablespace to test;这个时候用户就拥有了创建表的权限由于表是用户test的相应的他就拥有了对创建的表的增删查改的权限了3、查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)SQL>select * from user_sys_privs;这样就可以知道当前用户的权限4、撤销权限SQL> revoke create table from test;-----------------------------一些常用视图的区分dba_tablesdba_all_tablesuser_all_tablesall_tables当前用户所属的所有表(注意大写)SQL> select tablespace_name,table_name from user_all_tableswhere table_name='STUDENT';SQL> select table_name,tablespace_name from user_tables where table_name='STUDENT';TABLE_NAMETABLESPACE_NAME------------------------------ ------------------------------STUDENTUSERSsys要查看dba_all_tables,ALL_TABLES才能查看到test用户的表。
------------------------1.创建用户及权限等语句:--------------------------------------
--(1)创建用户及赋予密码:
create user liuer identified by liuer;
--(2)给新创建的用户赋予权限:
grant create session to liuer;--登录权限】
grant dba to liusx;--赋予dba 的权限
grant connect ,resource,dba to liusx;
grant connect ,resource to liuer;
grant insert,delete,update,select on liuer.test_temp3 to lihl;--给lihl赋予查询liuer用户下的test_temp3表
grant select any table on liuer to lihl;
--(3)修改用户的密码:
alter user liuer identified by liuer123;
alter user scott identified by liuer123;
--(4)查看用户
select * from user_users;
--(5)查看所有用户及用户所在的表空间
select username,default_tablespace from dba_users;
--(6)修改用户的表空间
alter user 用户名default tablespace 表空间名字;
alter user liuer default tablespace liuer_data ;--例子
--(7)创建用户时并赋予表空间
create user lihl identified by liuer123
default tablespace liuer_data;
alter user liusx default tablespace liuer_data ;
--------------------------2.表空间相关问题:-------------------------------------
--(1)创建表空间
create tablespace liuer_data datafile 'D:\APP\LIUER\ORADATA\ORCL\liuer_data.DBF' size 1024M; --(2)查看一下所有用户所在的表空间:
select username,default_tablespace from dba_users;
--(3)查看表空间名及存储路径:
select tablespace_name,file_name from dba_data_files;
--(4)查看表空间的名称及大小
SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name
GROUP BY t.tablespace_name;
--(5)查看表空间物理文件的名称及大小
SELECT tablespace_name,
file_id,
file_name,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files
ORDER BY tablespace_name;
--(6)查看表空间是否自动增长
SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
--(7)设置表空间自动增长
ALTER DATABASE DATAFILE 'D:\APP\LIUER\ORADATA\ORCL\liuer_data.DBF' AUTOEXTEND ON;--打开自动增长
ALTER DATABASE DATAFILE 'D:\APP\LIUER\ORADATA\ORCL\liuer_data.DBF' AUTOEXTEND ON NEXT 100M ;--每次自动增长200m
ALTER DATABASE DATAFILE 'D:\APP\LIUER\ORADATA\ORCL\liuer_data.DBF' AUTOEXTEND ON NEXT 100M MAXSIZE 4096M;--每次自动增长200m,数据表最大不超过4G
--(8)删除空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--(9)更改数据表大小
alter database datafile 'D:\APP\LIUER\ORADATA\ORCL\LIUER01.DBF' resize 1024M;
--(10)创建临时表空间,并自增长,并限制最大存储空间
create temporary tablespace liuer_temp
tempfile 'D:\APP\LIUER\ORADATA\ORCL\liuer_temp.dbf'
size 50m
autoextend on
next 50m maxsize 2048m
extent management local;
--(11)创建数据空间,并自增长,并限制最大存储空间
create tablespace file_data
logging
datafile 'D:\oracledata\file_data.dbf'
size 50m
autoextend on
next 50m maxsize 2048m
extent management local;
--(12)查看临时表空间
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
----------------------------其他相关-------------------------------------------------
--(1)查看数据库版本
SELECT version
FROM product_component_version
WHERE substr(product, 1, 6) = 'Oracle';
--(2)查看数据库创建日期
SELECT created, log_mode, log_mode FROM v$database;
--(3)
--(4)
--(5)。