sql创建用户、表空间
基础概念:Oracle数据库、实例、用户、表空间、表之间的关系

基础概念:Oracle数据库、实例、用户、表空间、表之间的关系数据库:Oracle数据库是数据的物理存储。
这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。
其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。
可以看作是Oracle就只有一个大数据库。
实例:一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。
一个数据库可以有n个实例。
用户:用户是在实例下建立的。
不同实例可以建相同名字的用户。
表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
数据文件(dbf、ora):数据文件是数据库的物理存储单位。
数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。
而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。
一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。
由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。
但是表不是有表空间去查询的,而是由用户去查的。
因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!关系示意图:理解1:Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中),如下图:理解2:理解1MS有误。
实例下有和,授权访问,是管理的,经授权在中创建,随机存储到不同的中。
【转】使用NavicatforOracle新建表空间、用户及权限赋予

【转】使⽤NavicatforOracle新建表空间、⽤户及权限赋予⾸先、我们来新建⼀个表空间。
打开Navicat for Oracle,输⼊相关的的连接信息。
如下图:填⼊正确的信息,连接后。
我们点击⾯板上的“其他”下的选项“表空间”,如下图:进⼊表空间的界⾯,我们可以通过⾯板上的“新建表空间”,也可以通过在空⽩处⿏标右键,新建表空间,如下图:在弹出的界⾯中,我们输⼊表空间的名中输⼊我们需要在oracle在物理磁盘存储的⽂件名,以及表空间的初始⼤⼩以及单位。
在“路径”选项中填写该表空间所在的物理磁盘路径。
“⾃动扩展”选项中选择“on”,即允许⾃⼰动扩展表空间。
如果选择“off”,那么该表空间是固定⼤⼩的,不允许扩展的。
具体实例,如下图:下⾯这个是创建表空间的SQL语⾔:其他信息填写完毕后,我们只需点击“保存”,按钮。
系统弹出⼀个界⾯让我们填⼊此表空间的名称,如下图:新建完毕后,我们可以在屋⾥磁盘看看是不是有表空间的⽂件,如下图:表空间新建完毕后,我们就要来新建⽤户。
点击⾯板上的“⽤户”选项,如下图:新建⽤户的⽅法有两种,⼀种是控制⾯板上的“新建⽤户”按钮,另外⼀种就是在空出右键,如上图。
在点击“新建⽤户”后,弹出的界⾯,填⼊相关的信息。
如下图:其中我们需要注意的是,在“⽤户名”处填写的⽤户名字母⼀定是⼤写。
请记住⼀定是要⼤写,如果是⼩写的话此⽤户是⽆法连接Oracle数据库的。
具体为什么是这样,我想这个可能是此软件的BUG。
在“默认表空间”处,我们选择理科前⾯我们新建的表空间。
如果我们不选择的话,会使⽤系统默认的表空间USERS。
在“成员属于”中我们选择了“DBA”权限。
其实对于⼀般的⽤户,我们只需赋予connect、resource、create view这⼏个权限即可。
但是这⾥我们为了演⽰⽅便就选择“DBA”了。
有关connect、resource、create view这⼏个权限的赋予,可见下图:以上操作完毕后,我们可以切换到“SQL预览”选项,查看相关的SQL语句,如下图:⽤户建⽴完毕后,我们就可以使⽤此数据库了。
创建oracle数据库表空间,角色,用户的sql语句

创建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;。
用sql创建数据库登录用户

用SQL创建数据库登录用户用户通过用来建立连接权限的登录(身份验证),获得Microsoft® SQL Server™ 数据库的访问权限。
因为SQL Server 使用Microsoft® Windows® 2005 身份验证,所以每个SQL Server 登录必须与一个有效Windows 帐户相关联。
然后,可以为每个基于Windows 用户或组帐户的 SQL 登录授予连接到SQL Server 的权限。
注意SQL Server 7.0 和SQL Server 2000 不再独立于操作系统而管理组。
SQL Server 较低版本中的组已被功能更强的角色所替代。
但是,您可以在整个Windows 组级管理SQL Server 的安全。
如果您拥有SQL Server 的系统管理员权限,则可以使用以下方法创建和修改SQL Server 登录:∙在SQL Server 2005新建查询中创建SQL Server 登录∙使用SQL Server 工作流模板实例化向导创建SQL Server 登录当您使用向导从模板中创建工作流应用程序实例时,可以添加SQL Server 登录。
但是,只有当应用程序创建者拥有SQL Server 系统管理员权限,并且SQL Server 登录已经具有有效的Windows 帐户时,此功能才有效。
除非服务器管理员也为modAppOwners 组授予了SQL Server 系统管理员权限,否则modAppOwners 成员不能创建 SQL Server 登录。
命名规则用户名或组名不能与所管理的域或计算机的任何其它用户名或组名相同。
它最多可包含20 个大写或小写字符,但不能包含以下字符:" / \ [ ] : ; | = , + * ? < >用户名或组名不能只包含句点(.) 和空格。
有关SQL Server 登录的命名规则的详细信息,请参阅“SQL Server 联机丛书”。
创建表空间

创建表空间创建Oracle数据库表空间是数据库管理员经常需要做的一项任务。
Oracle的表空间是用来存储数据库对象的物理存储区域,包括表、索引、视图等等。
在创建表空间时,需要考虑到数据库的性能和安全等因素。
以下是创建Oracle数据库表空间的步骤和注意事项。
步骤一:登录到Oracle数据库在创建表空间前,首先需要登录到Oracle数据库并以管理员身份登录。
可以使用SQL*Plus、SQL Developer等工具进行登录。
步骤二:选择合适的表空间名称和大小根据数据库的需要,选择合适的表空间名称和大小。
表空间名称应该能够反映出该空间的用途,如存储某个特定表或索引。
表空间大小需要根据数据量和增长率进行估计,以便在日后不必频繁地扩展表空间。
步骤三:创建表空间使用CREATE TABLESPACE命令来创建表空间,语法格式如下:CREATE TABLESPACE 表空间名称DATAFILE '存储路径' SIZE 表空间大小LOGGING/NONLOGGINGEXTENT MANAGEMENT {DICTIONARY | LOCAL};其中,表空间名称和大小是必须指定的。
存储路径是指数据文件的存储路径,可以使用相对路径或绝对路径。
LOGGING/NONLOGGING表示该表空间的存储是否记录数据库的日志。
EXTENT MANAGEMENT {DICTIONARY | LOCAL}表示该表空间使用字典管理或局部管理。
例如,以下命令将创建一个名为USR_TAB的表空间,大小为100MB,存储在路径C:\ORACLE\ORADATA\ORCL\USR_TAB01.DBF中,并且记录到数据库日志:CREATE TABLESPACE USR_TABDATAFILE 'C:\ORACLE\ORADATA\ORCL\USR_TAB01.DBF' SIZE 100MLOGGING;步骤四:为表空间添加数据文件使用ALTER TABLESPACE命令为表空间添加数据文件,语法格式如下:ALTER TABLESPACE 表空间名称 ADD DATAFILE '存储路径' SIZE 数据文件大小;其中,表空间名称是要添加数据文件的表空间名称,存储路径和数据文件大小需要指定。
Oracle数据库语句大全

Oracle数据库语句大全一.入门部分1.创建表空间create tablespace schooltbs datafile ‘D:\oracle\datasource\schooltbs.dbf’ size 10M autoextend on;2.删除表空间drop tablespace schooltbs[including contents and datafiles];3.查询表空间基本信息select *||tablespace_name from DBA_TABLESPACES;4.创建用户create user lihuaidentified by lihuadefault tablespace schooltbstemporary tablespace temp;5.更改用户alter user lihuaidentified by 123default tablespace users;6.锁定用户alter user lihua account lock|unlock;7.删除用户drop user lihua cascade;--删除用户模式8.oracle数据库中的角色connect,dba,select_catalog_role,delete_catalog_role,execute_catalo g_role,exp_full_database,imp_full_database,resource9.授予连接服务器的角色grant connect to lihua;10.授予使用表空间的角色grant resource to lihua with grant option;--该用户也有授权的权限11.授予操作表的权限grant select,insert on user_tbl to scott;--当前用户grant delete,update on er_tbl to scott;--系统管理员二.SQL查询和SQL函数1.SQl支持的命令:数据定义语言(DDL):create,alter,drop数据操纵语言(DML):insert,delete,update,select数据控制语言(DCL):grant,revoke事务控制语言(TCL):commit,savepoint,rollback2.Oracle数据类型字符,数值,日期,RAW,LOB字符型char:1-2000字节的定长字符varchar2:1-4000字节的变长字符long:2GB的变长字符注意:一个表中最多可有一列为long型Long列不能定义唯一约束或主键约束long列上不能创建索引过程或存储过程不能接受long类型的参数。
SQLTXPLAIN使用详解

SQLTXPLAIN使用详解SQLTXPLAIN一、sqlt简介SQLTXPLAIN,也称为 SQLT,是 Oracle Server Technologies Center of Expertise - ST CoE 提供的一款全面的、强大的分析和调优SQL语句的工具。
SQLT主要方法通过输入的一个 SQL 语句,可输出一组诊断文件。
这些文件通常用于诊断性能不佳的 SQL 语句。
一旦安装,便可通过向 SQLT 传递一个包含 SQL 语句脚本(包括绑定变量)的文本文件或者其 SQL_ID,对 SQL 语句进行分析。
SQLT 主要方法会连接到数据库,收集执行计划、基于成本的 Optimizer CBO 统计信息、Schema 对象元数据、性能统计信息、配置参数和会影响正在分析的 SQL 性能的其他元素。
SQLT 可以使用 Oracle Diagnostic 和(或)Oracle Tuning Packs,前提是您的数据库需要具有这两个软件包的许可证。
这两个软件包向 SQLT 工具提供了增强的功能。
在 SQLT 安装期间,您可以指定是否其中一个软件包在您的数据库被授权使用。
如果一个都没有,SQLT 仍会提供一些基本信息,用于最开始的 SQL 性能诊断。
SQLT把收集的信息和建议方法都形成了html(main.html;readme.html;lite.html)格式,方便用户查看!Main.html:收集的信息和调优建议Readme.html:具体优化的方法Lite.html:简易的PLANS信息参考:Note : 215187.1 : SQLT (SQLTXPLAIN) - Tool that helps to diagnose SQL statements performing poorlyDocument 1454160.1FAQ: SQLT (SQLTXPLAIN) Frequently Asked Questions二、安装、卸载1、下载工具需要到MOS上下载(sqlt.zip或sqlt9i.zip),SQLTXPLAIN 目录结构如下:sqlt/install/run/sample/在zip文件里包含详细的说明和demo。
plsql 创建实例

plsql 创建实例以PL/SQL创建实例PL/SQL是一种用于Oracle数据库的编程语言,它结合了SQL语句和编程结构,可以用来创建数据库实例。
本文将介绍如何使用PL/SQL来创建数据库实例,并提供一些实例操作的示例。
一、什么是数据库实例在开始之前,我们先来了解一下什么是数据库实例。
数据库实例是指在计算机内存中运行的数据库程序,它负责管理数据库的访问和操作。
每个数据库实例都有自己的内存空间和进程,可以独立地处理对数据库的请求。
二、创建数据库实例的步骤下面是使用PL/SQL创建数据库实例的一般步骤:1. 创建数据库实例的配置文件。
在创建数据库实例之前,需要先定义数据库实例的配置文件,包括数据库的名称、文件路径、大小等信息。
2. 创建数据库实例的数据文件。
数据文件是数据库实例中存储数据的文件,可以使用PL/SQL来创建数据文件并指定其大小和位置。
3. 创建数据库实例的日志文件。
日志文件用于记录数据库实例的操作日志,可以使用PL/SQL来创建日志文件并指定其大小和位置。
4. 创建数据库实例的表空间。
表空间是数据库实例中存储表和索引的逻辑结构,可以使用PL/SQL来创建表空间并指定其大小和位置。
5. 创建数据库实例的用户。
用户是数据库实例中的操作者,可以使用PL/SQL来创建用户并授予相应的权限。
6. 创建数据库实例的表和索引。
表和索引是数据库实例中存储数据和提高查询性能的关键对象,可以使用PL/SQL来创建表和索引。
7. 创建数据库实例的触发器和存储过程。
触发器和存储过程是数据库实例中用于实现业务逻辑的对象,可以使用PL/SQL来创建触发器和存储过程。
三、示例操作下面是使用PL/SQL创建数据库实例的一些示例操作:1. 创建数据库实例的配置文件:```CREATESPFILE='/u01/app/oracle/product/12.2.0/dbhome_1/dbs/init ORCL.ora' FROM PFILE='/u01/app/oracle/product/12.2.0/dbhome_1/dbs/initORCL.ora';```2. 创建数据库实例的数据文件:```CREATE TABLESPACE users DATAFILE '/u02/app/oracle/oradata/ORCL/users01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;```3. 创建数据库实例的日志文件:```ALTER DATABASE ADD LOGFILE GROUP 1 ('/u02/app/oracle/oradata/ORCL/redo01.log') SIZE 50M, GROUP 2 ('/u02/app/oracle/oradata/ORCL/redo02.log') SIZE 50M;```4. 创建数据库实例的表空间:```CREATE TABLESPACE sales DATAFILE '/u02/app/oracle/oradata/ORCL/sales01.dbf' SIZE 500MAUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;```5. 创建数据库实例的用户:```CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;GRANT CONNECT, RESOURCE TO scott;```6. 创建数据库实例的表和索引:```CREATE TABLE employees (id NUMBER, name VARCHAR2(50)); CREATE INDEX idx_employees_id ON employees(id);```7. 创建数据库实例的触发器和存储过程:```CREATE TRIGGER trg_employees_ins BEFORE INSERT ON employees FOR EACH ROWBEGIN:NEW.id := SEQ_EMPLOYEES_ID.NEXTVAL;END;CREATE PROCEDURE proc_get_employee_name (p_id IN NUMBER, p_name OUT VARCHAR2)ASBEGINSELECT name INTO p_name FROM employees WHERE id = p_id;END;```四、总结本文介绍了使用PL/SQL创建数据库实例的步骤,并提供了一些实例操作的示例。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创建用户、指定默认表空间和临时空间
createuser cs identifiedby cs defaulttablespace test temporarytablespace temp
cs 用户名;
identified by cs 密码
default tabliespace 默认表空间
temporary tablespace 临时表空间
alteruser hillary identifiedby cc
修改用户密码
删除表空间的操作
一个用户要删除数据库的表空间,首先该用户要具备drop tablespace的权限
在当前用户下执行以下语句来查询确认
select ername,a1.privilege from dba_sys_privs a1 , user_role_privs a2
where a1.privilege = 'DROP TABLESPACE'
and a1.grantee =a2.granted_role
drop tablespace "空间名" including contents and datafiles
//创建空间
create tablespace test
datafile 'c:\oracle\oradata\orcl9\test.dbf'size 50M
default storage (initial 500K
Next 500K
minextents 1
maxextents unlimited
pctincrease 0);
//Oracle创建用户权限
//创建用户
create user lxg identified by lxg default tablespace test;
//授权
grant resource,connect,dba to test; (多个系统权限用逗号分开)
删除用户
drop user"lxg"cascade
增加表空间
alter tablespace chinawater add datafile 'c:\oracle\oradata\orcl9\ADDCHINAWATER.dbf'size 200 M
创建用户
create user userName identified by password;
创建用户 userName,密码为 password
2
给用户授权
grant dba to lxg;--授予DBA权限
grant unlimited tablespace to lxg;--授予不限制的表空间grant select any table to lxg;--授予查询任何表
grant select any dictionary to lxg;--授予查询任何字典grant create session to lxg;--授予登录权限
alter user lxg account unlock –解锁用户
alter user lxg account lock -- 锁定用户
1.查看所有用户
select * from dba_users;
select * from all_users;
select * from user_users;//当前
查看所有的表空间
select * from dba_tablespaces;
select * from user_tablespaces;
3.查看用户表空间使用情况
select a.file_id "FileNo",
a.tablespace_name "Tablespace_name",
a.bytes "Bytes",
a.bytes - sum(nvl(
b.bytes, 0)) "Used",
sum(nvl(b.bytes, 0)) "Free",
sum(nvl(b.bytes, 0)) / a.bytes * 100 "%free"
fromdba_data_files a, dba_free_space b
wherea.file_id = b.file_id(+)
group by a.tablespace_name, a.file_id, a.bytes order by a.tablespace_name;
4.查看用户系统权限
select * from dba_sys_privs;
select * from all_sys_privs;
select * from user_sys_privs;
5.查看用户对象权限
select * from dab_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
6.查看角色
select * from dba_roles;//所有
select * from dba_role_privs;
select * from user_role_privs;
7.查看当用用户的表
select * from user_tables;
查看所有表名(其中包括系统表)
select * from all_tables;
查看所有表
select * from tab/dba_tables/dba_objects/cat;
8.Oracle查询所有函数和存储过程
select * from user_source;
9.Oracle查看当前用户连接
select * from v$Session;。