oracle常用文档创建表空间用户等

合集下载

Oracle表空间创建及表创建

Oracle表空间创建及表创建

Oracle表空间创建及表创建-- 创建表空间,(数据库⽂件)create tablespace db3datafile 'E:\tablespace\db3.dbf'size 1m-- 创建表空间,(数据库⽂件),指定数据⽂件在哪⼉多⼤扩容create tablespace db2datafile 'E:\tablespace\db2.dbf'size 1m autoextend on next 1m maxsize unlimited-- 查询表select * from user_tablespaces-- 删除表空间drop tablespace db3-- 删除表空间及删除内容和⽂件drop tablespace db3 including contents and datafiles-- 更改表的状态alter tablespace db3 read onlyalter tablespace db3 read write-- 创建⽤户,密码create user user1 identified by user1-- 删除⽤户drop user user1-- 创建⽤户,密码,同时更改默认表空间create user user1 identified by user1default tablespace db3-- 创建后更改密码,更改默认表空间alter user user1 identified by user2alter user user1 default tablespace db3-- 授权登录grant create session to user1-- 授予⽤户dba权限,管理员权限grant dba to user1-- 授予查询某个表权限grant select on scott.dept to user1-- 撤销权限revoke dba from user1revoke select on scott.dept from user1-- user1创建表create table student(id number,name varchar2(20),birthday date)create table student2(id number(1),name varchar2(20),birthday date)create table student3(id number(5),name varchar2(20),birthday date) -- number默认number(5)-- 查表select * from user_tablesselect * from scott.dept -- 查询其他⽤户的表select * from user_tab_colsselect * from user_tab_cols where table_name='STUDENT' -- 要和表中相同为⼤写select * from user_tab_columns -- 和select * from user_tab_cols基本⼀样,少了⼏项-- 删表drop table student2-- 增、改、删表中字段使⽤ ()或者columnalter table student add chengji varchar2(10)alter table student add (math number(1),english number(1)) -- 增加多个字段需⽤括号()alter table student add (chengji2 varchar2(10)) -- 增统⼀都使⽤()alter table student rename (chengji to remark) -- xxalter table student rename column chengji to remark -- 改需使⽤关键字columnalter table student drop column chengji2 -- 删需使⽤关键字columnalter table student drop (english) -- 删使⽤()也⾏-- 注释comment on table student is '学⽣表'comment on column student.id is '编号'。

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建用户、创建表空间、授权、建表的完整过程

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 创建用户 及dmp文件导入

oracle 创建用户 及dmp文件导入

连接sha用户connect sha/admin可以创建别的用户5、查看用户权限进入sha用户connect sha/adminSelect * from user_sys_privs;可以查看到一个列表,列代表用户名权限是否可以给别的用户附加权限(N 、Y)行代表权限都有那些6、撤销用户授予的权限必须连接connect system/admin撤销权限revoke是系统撤销权限的关键词Revoke execute any procedure from sha;7、更改用户密码进入sha用户connect sha/adminPassword 输入旧密码输入新密码俩边OK或者用alter user sha identified by xinmima8、删除用户Connect system/adminDrop user sha;9、为用户授予角色Grant dba to sha;Grant connect to sha;Linux下的plsql 创建用户create user sha identified by adminDefault tablespace userTemporary tablespace temp;Granr unlimited tablespace to sha;//权限Grant dba to sha;//角色Grant connect to sha;准备工作(导出dmp文件)1.使用PL/SQL 工具--》导出用户对象,导出用户所有表,视图,存储过程等的定义2.使用PL/SQL 工具--> 导出表,导出所有表的数据这就是那个dmp文件保存好导出的sql脚本和dmp文件准备导入好了,开始导入1.删除用户drop user test cascade;2.删除全部表空间drop tablespace testdb INCLUDING CONTENTS;drop tablespace testdb_index INCLUDING CONTENTS;drop tablespace testdb_temp INCLUDING CONTENTS;3.重新创建表空间和用户并给用户授权CREATE TABLESPACE "DB_QQTB"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB01.ora' SIZE 2000M,'D:\oracle\OraData\DB_QQTB02.ora' SIZE 2000M, 'D:\oracle\OraData\DB_QQTB03.ora' SIZE 2000M EXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO/CREATE TABLESPACE "DB_QQTB_INDEX"LOGGINGDATAFILE 'D:\oracle\OraData\DB_QQTB_INDEX.ora' SIZE 500M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO/CREATETEMPORARY TABLESPACE "DB_QQTB_TEMP" TEMPFILE'D:\oracle\OraData\DB_QQTB_TEMP.ora' SIZE 200M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M/create user FZCXidentified by "FZCX"default tablespace DB_QQTBtemporary tablespace DB_QQTB_TEMPprofile DEFAULTquota unlimited on DB_QQTB。

PLSQL操作Oracle创建用户和表(含创建用户名和密码)

PLSQL操作Oracle创建用户和表(含创建用户名和密码)

PLSQL操作Oracle创建⽤户和表(含创建⽤户名和密码)
1、打开PLSQL,填写⽤户名和密码(初始有两个⽤户sys和system,密码是⾃⼰安装oracle数据库时定的),Database选择ORCL(默认数据库,oracle中创建的⽤户就像是mysql中建的数据库,两者有异曲同⼯之妙)
2、登陆成功后在界⾯的头部可以看到⼀下信息,最上⾯的system@ORCL就表⽰是⽤户system在登录状态,其中菜单栏的session可以登录、退出
3.然后在下⾯的列表中找到USER,然后右键——》NEW,创建新的⽤户,如下两张图中的内容都要设置,然后点击apply就可以了。

(注:第⼆章图中的三个权限必须设置,否则会出现不能登录或者不能操作表的错误)
关于3个基本去权限介绍:
connect : 基本操作表的权限,⽐如增删改查、视图创建等
resource:创建⼀些函数,⽐如簇、索引,创建表、列等
dba : 相当于管理员权限,拥有系统所有权限
4、登录新建的⽤户,点击前⾯提到的session——》log on,填写⽤户名和密码第三个还选orcl,第四个选默认normal,点击登录
5、在最上⾯可以看到登录状态
6、创建数据库,右键点击左下⾓列表中的Tables—》 NEW,创建新的数据表,填写name,comments是对表的备注,然后在第⼆张图中填写需要的字段及其类型等,最后点击apply应⽤,如图
7、查看创建的表,点击左下⾓列表中的Tables,右键选⾃⼰新建的表,点击Edit date,编辑表中的内容就⾏了。

创建oracle数据库表空间,角色,用户的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;。

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等oracle 数据库表空间的作用1.决定数据库实体的空间分配;2.设置数据库用户的空间份额;3.控制数据库部分数据的可用性;4.分布数据于不同的设备之间以改善性能;5.备份和恢复数据。

--oracle 可以创建的表空间有三种类型:1.temporary: 临时表空间,用于临时数据的存放;create temporary tablespace "sample"......2.undo : 还原表空间. 用于存入重做日志文件.create undo tablespace "sample"......3.用户表空间: 最重要,也是用于存放用户数据表空间create tablespace "sample"......--注:temporary 和undo 表空间是oracle 管理的特殊的表空间.只用于存放系统相关数据.--oracle 创建表空间应该授予的权限1.被授予关于一个或多个表空间中的resource特权;2.被指定缺省表空间;3.被分配指定表空间的存储空间使用份额;4.被指定缺省临时段表空间。

select tablespace_name "表空间名称",status "状态",extent_management "区管理方式",allocation_type "磁盘扩展管理方式",segment_space_management "段管理方式" from dba_tablespaces;--查询各个表空间的区、段管理方式--1、建立表空间--语法格式:create tablespace 表空间名datafile '文件标识符' 存储参数[...]|[minimum extent n] --设置表空间中创建的最小范围大小|[logging|nologging]|[default storage(存储配置参数)]|[online|offline]; --表空间联机\脱机|[permanent|temporary] --指定该表空间是用于保存永久的对象还是只保存临时对象 |[...]--其中:文件标识符=’文件名’[size整数[k\m][reuse]--实例create tablespace data01datafile '/oracle/oradata/db/data01.dbf' size 500muniform size 128k; --指定区尺寸为128k,如不指定,区尺寸默认为64kcreate tablespace "test"loggingdatafile 'd:\oracle\oradata\oracle\sample.ora' size 5m,'d:\oracle\oradata\oracle\dd.ora' size 5mextent management localuniform segment space managementauto;--详解/*第一: create tablespace "sample"创建一个名为"sample" 的表空间.对表空间的命名,遵守oracle 的命名规范就可了. 第二: logging 有nologging 和logging 两个选项,nologging: 创建表空间时,不创建重做日志.logging 和nologging正好相反, 就是在创建表空间时生成重做日志.用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复;但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的;所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度.第三: datafile 用于指定数据文件的具体位置和大小.datafile 的文件是建立表空间后创建的,不过文件路径必须存在才是合法的datafile设置如: datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m说明文件的存放位置是'd:\oracle\oradata\ora92\luntan.ora' , 文件的大小为5m.如果有多个文件,可以用逗号隔开:如:datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m, 'd:\oracle\oradata\ora92\ dd.ora' size 5m但是每个文件都需要指明大小.单位以指定的单位为准如5m 或500k.对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少io竟争. 指定文件名时,必须为绝对地址,不能使用相对地址.第四: extent management local 存储区管理方法在字典中管理(dictionary):将数据文件中的每一个存储单元做为一条记录,所以在做dm操作时,就会产生大量的对这个管理表的delete和update操作.做大量数据管理时,将会产生很多的dm操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片.本地管理(local):用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘.同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。

Oracle数据库建表及其基本操作

Oracle数据库建表及其基本操作

1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。

创建表空间

创建表空间

创建表空间创建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创建用户、角色、授权、建表

Oracle创建⽤户、⾓⾊、授权、建表Oracle创建⽤户、⾓⾊、授权、建表Devin01213 2019-05-16 10:21:49 21510 收藏 32分类专栏: Oracle版权oracle数据库的权限系统分为系统权限与对象权限。

系统权限( database system privilege )可以让⽤户执⾏特定的命令集。

例如,create table权限允许⽤户创建表,grant any privilege 权限允许⽤户授予任何系统权限。

对象权限( database object privilege )可以让⽤户能够对各个对象进⾏某些操作。

例如delete权限允许⽤户删除表或视图的⾏,select权限允许⽤户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。

每个oracle⽤户都有⼀个名字和⼝令,并拥有⼀些由其创建的表、视图和其他资源。

oracle⾓⾊(role)就是⼀组权限(privilege)(或者是每个⽤户根据其状态和条件所需的访问类型)。

⽤户可以给⾓⾊授予或赋予指定的权限,然后将⾓⾊赋给相应的⽤户。

⼀个⽤户也可以直接给其他⽤户授权。

⼀、登录sqlplus sys/sys as sysdba;1、创建⽤户create user test identified by test;这样就创建了⼀个⽤户名密码都为test的⽤户但这个时候test还是不能登陆成功的,我们需要赋予相应的权限2、赋予create session 的权限grant create session to test;这样test⽤户就能成功登录进去赋予⽤户创建表的权限grant create table to test;赋予相应的权限grant unlimited tablespace to test;这个时候⽤户就拥有了创建表的权限由于表是⽤户test的,相应的他就拥有了对创建的表的增删查改的权限了3、撤销权限revoke create table from test;⼆、删除⽤户drop user ⽤户名;若⽤户拥有对象,则不能直接删除,否则将返回⼀个错误值。

oracle_创建create_user_及授权grant_查看登陆的用户及更改用户默认表空间

oracle_创建create_user_及授权grant_查看登陆的用户及更改用户默认表空间

oracle 创建create user 及授权grant 查看登陆的用户:以下都可以:show user;select sys_context('userenv','session_user') from dual;select user from dual;查看所有登录的用户必须为DBA 用户:select username from v$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_tables dba_all_tables user_tables user_all_tables all_tables all_all_tables当前用户所属的所有表(注意大写)SQL> select tablespace_name,table_name from user_all_tables where table_name='STUDENT'; SQL> select table_name,tablespace_name from user_tables where table_name='STUDENT'; TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------STUDENT USERSsys 要查看dba_all_tables,ALL_ALL_TABLES才能查看到test 用户的表。

oracle11g用plsqldeveloper创建表空间创建用户以及赋予权限

oracle11g用plsqldeveloper创建表空间创建用户以及赋予权限

oracle11g用plsqldeveloper创建表空间创建用户以及赋予
权限
首先用管理员用户登录我的是system 密码是:password
数据库选本地的我的是iasdb (iasdb和orcl用的比较多吧)连接为选sysdba
打开 plsql ----文件--新建sql窗口
create tablespace hsw
datafile 'D:\sql\oracle\oracledata\hsw.dbf' size 50M ----感觉这个像是初始表空间大小
default storage(initial 1M
next 1M -----------这两行写的应该是自动增加表空间大小吧
minextents 1
maxextents unlimited
pctincrease 0); ----first 创建表空间hsw
新建过以后选中--按F8
然后文件--新建--用户
在一般里边输入名称(也就是用户名)
口令(也就是密码)
默认表空间(有一个下拉按钮选择刚创建好的那个表空间名称)临时表空间(这个一般选temp)
概要文件不用选
然后点角色权限
在角色那一列分别输入dba
connect
resource
这三个权限然后点应用就可以了。

oracle增加表空间的四种方法

oracle增加表空间的四种方法

oracle增加表空间的四种⽅法1. 查看所有表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_data_filesgroup by tablespace_name;2. 未使⽤的表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_free_spacegroup by tablespace_name;3. 所以使⽤空间可以这样计算select a.tablespace_name,total,free,total-free used from( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_filesgroup by tablespace_name) a,( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name;4. 下⾯这条语句查看所有segment的⼤⼩。

Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name5. 还有在命令⾏情况下如何将结果放到⼀个⽂件⾥。

SQL> spool out.txtSQL> select * from v$database;SQL> spool off6.如何查看oracle临时表空间当前使⽤了多少空间的⼤⼩?不是占⽤量,是当前正在使⽤的临时表空间⼤⼩SELECT ERNAME,SE.SID,SU.EXTENTS,SU.BLOCKS * TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,TABLESPACE,SEGTYPE,SQL_TEXTFROM V$SORT_USAGE SU, V$PARAMETER P, V$SESSION SE, V$SQL SWHERE = 'db_block_size'AND SU.SESSION_ADDR = SE.SADDRAND S.HASH_VALUE = SU.SQLHASHAND S.ADDRESS = SU.SQLADDRORDER BY ERNAME, SE.SID;查询所有的表空间select tablespace_name from dba_tablespaces查看表空间中分布的⽤户信息select tablespace_name, owner,sum(bytes) from dba_segmentsgroup by tablespace_name, owner增加表空间⼤⼩的四种⽅法Meathod1:给表空间增加数据⽂件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;Meathod2:新增数据⽂件,并且允许数据⽂件⾃动增长ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据⽂件⾃动增长ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod4:⼿⼯改变已存在数据⽂件的⼤⼩ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;。

Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结

说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名identified by 密码(例如:create user cht id entified by cht;)创建完成后,必须分配权限,否则连不上数据库和sqlplus。

因此要做:grant connect,resource,dba to cht;这样数据库就可以通过cht/cht连上了。

那些select,update,delete,insert的权限就不必分配了,因为每个用户默认都有这些基本权限。

命令行方式连接数据库的方法:开始==》运行==》cmd方式一:输入sqlplus,回车输入用户名:system,回车输入密码:orcl,回车方式二:输入sqlplus system/orcl@orcl,回车(system是用户名,orcl是密码,@后面的or cl是库的名字)(数据库安装完成后,有两个系统级的用户:1)system 默认密码为:manager2)sys 默认密码为:change_on_install)创建用户前必须要先建好临时表空间和数据表空间两个表空间,否则用系统默认的表空间不好。

//创建临时表空间create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zf mi\zfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;说明:1、zfmi_temp 表空间的名字2、D:\oracle\oradata\zfmi\ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)3、100M 表空间的初始大小4、32M 表空间自动增长的大小5、2048M 表空间最大的大小//创建数据表空间create tablespace zfmi logging datafile 'D:\oracle\oradata\zfmi\zfmi.d bf' size 100m autoextend on next 32m maxsize 2048m extent manage ment local;//创建用户并指定表空间create user zfmi identified by zfmi default tablespace zfmi temporary t ablespace zfmi_temp;//给用户授予权限grant connect,resource dba to zfmi;(dba:指定所有权限)到这一步新建一个用户的工作就完成了。

Oracle12c 数据库建表空间及数据操作

Oracle12c 数据库建表空间及数据操作

Oracle12c 数据库建表空间及数据操作--1、创建名字叫Java31的表空间create tablespace Java31 datafile 'D:\app\hanq8202\oradata\orcl\Java31.DBF' size 50M autoextend on next 32M maxsize unlimited;--2、创建新用户c##hanq,在Oracle12c中必须在用户名前添加c##前缀create user c##hanq identified by hq198202 default tablespace Java31;--3、删除一个用户drop user c##JAVA31 cascade;--用户已经被删除了drop tablespace JAVA31 ;--用户已经被删除了--4、给c##hanq用户添加权限--授予用户权限的语法:gran 权限|角色to 用户--用户权限有:--①、create session // 创建session的权限,即登陆权限--②、unlimited tablespace //用户使用表空间的权限--③、grant unlimited tablespace to tablename;//授予tablename用户使用表空间的权限--④、grant create table to tablename;//授予创建表的权限--⑤、grant drop any table to tablename;//授予删除表的权限,注意要加any关键字--⑥、grant insert any table to tablename;//插入表的权限注意要加any关键字--⑦、grant update table to tablename;//修改表的权限注意要加any关键字--⑧、grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) grant connect ,resource to c##hanq;grant create table to c##hanq;grant drop any table to c##hanq;grant insert any table to c##hanq;grant update any table to c##hanq;grant create view to c##hanq;grant select any table to c##hanq;grant dba to c##hanq;--5、撤销用户的权限--语法:revoke 权限|角色from 用户名revoke dba from c##hanq;--6、创建表--create [schema.]table (column datatype(length));--schema:模式名,如果是在自己的模式中建表,模式名可以不写;--table:表名;--column:列名;--datatype:数据类型;--length:数据宽度;create table stuInf (stId number(30) not null primary key ,--学号stName varchar2(100) not null,--姓名stAge number(30) not null,--年龄stGender varchar2(10)--性别);create table stuScore(Scid number(30) not null,score number(10,1),stuId number (30));--7、alert table修改命令alter table stuInf modify ( stId number(25));--修改stId列的属性alter table stuInf add ( stuAdd varchar2(100),stuTel varchar2(30));--添加stuAdd和stuTel列alter table stuInf add ( stuNo number(30));--添加stuNo列alter table stuInf drop column stuNo;--删除stuNo列alter table stuInf add ( stuEntrance date );--8、truncate table 命令,不删除表结构的情况下,删除表中的所有行truncate stuInf;--9、desc命令,显示表结构description stuInf;--在pl/sql环境下运行为无效的sql,在sqlplus下运行可以看到表结构--10、sql语句创建、删除、查看约束alter table stuInf add constraint UN_stTel unique (stuTel);--为stuTel列添加唯一键alter table stuScore add constraint FK_stuId foreign key (stuId) references stuInf(stId);--为stuScore表中stuId添加外键,关联到stuInf表的stIDalter table stuInf drop constraint UN_stTel ;--删除stuTel列的唯一建--11、查看约束select * from user_constraints where table_name ='stuInf';select * from user_constraints where table_name ='stuScore';--12、给表格添加数据insert into stuInf (stId,stName,stAge,stGender,stuAdd,stuTel) values(1,'tom',20,'mail','USA','0987623');select * from stuInf;insert into stuInf (stId,stName,stAge,stGender,stuAdd,stuTel,Stuentrance) values(2,'Andy',19,'femail','UK','987512',sysdate);--sysdate系统时间update stuInf set stuEntrance = to_date('1980-12-23','yyyy-MM-dd') where stId =1;。

建立表空间和用户的步骤

建立表空间和用户的步骤

建立表空间和用户的步骤嘿,朋友们!今天咱就来讲讲怎么建立表空间和用户,这可有意思啦!你看啊,建立表空间就好比给数据们盖房子。

咱得先找块好地儿,这就是选个合适的存储位置。

然后呢,就开始规划这个房子要多大,能住多少数据。

这可不是随随便便就能决定的,得根据咱的数据量和未来的发展来好好琢磨琢磨。

就像你给自己家买房子,总不能太小了住不下,也不能太大了浪费吧!接下来就是建房子的过程啦,要把这个表空间给搭建起来。

这就像是盖房子的一砖一瓦都得放到位,不能有丝毫马虎。

那用户呢,就像是给这个房子找主人。

每个主人都有自己的特点和需求,咱得给他们合适的权限。

有的主人可能只能在客厅逛逛,有的主人却可以在各个房间自由出入。

这可得安排好,不然不就乱套啦!比如说,你总不能让一个不懂事的小孩子随便乱动重要的东西吧,那不得搞出大乱子呀!所以给用户分配权限就得仔细着点,就像给钥匙,得给对人,给对钥匙。

建立表空间和用户的过程中,可得有耐心。

不能着急忙慌的,不然出了错可就麻烦啦。

就像盖房子,要是地基没打好,那房子不就摇摇欲坠啦。

而且啊,这可不是一锤子买卖。

以后还得时不时地看看,房子有没有啥问题,用户有没有啥特殊需求。

要是有,咱就得赶紧调整,可不能让问题越积越多。

你想想,要是房子漏雨了也不管,用户权限出问题了也不处理,那最后不就成了一团糟啦!所以啊,咱得时刻关注着,就像照顾自己的宝贝一样。

总之呢,建立表空间和用户就像是一项精细的活儿,得用心去做。

只有这样,咱的数据才能住得舒服,用户才能用得开心。

大家可别小瞧了这个事儿,这可是关系到整个系统能不能顺畅运行的关键呢!咱可得认真对待,让一切都井井有条的,这样咱用起来才顺手呀,是不是?。

Oracle 学习笔记

Oracle 学习笔记

Oracle数据库→表空间→用户→表表空间:包含表、视图、索引段:包含数据段、索引段、回退段、临时段数据块:是Oracle中最小的逻辑存储单元创建表空间:create tablespace rootspacedatafile 'rootfile' size 1000mautoextend on创建用户:create user root用户名rootidentified by root 密码rootdefault tablespace rootspace 默认表空间rootspacetemporary tablespace temp 临时表空间tempCREATE USER usernameIDENTIFIED BY password[DEFAULT TABLESPACE tablespace][TEMPORARY TABLESPACE tablespace];授予用户username【用户名】权限:·grant connect to username; CONNECT角色允许用户连接至数据库,并创建数据库对象·grant resource to username; RESOURCE角色允许用户使用数据库中的存储空间·grant create sequence to username; 此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中·grant select on test to username; 允许用户查询 TEST 表的记录·grant update on test to username; 允许用户更新 TEST 表中的记录·grant all on test to username; 允许用户插入、删除、更新和查询TEST 表中的记录·alter user username identified by newpassword;用于修改用户口令·drop user username cascade; 删除用户撤销用户权限:Revoke connect from username;设置显示行长度:Set linesize 12;伪列rownum:Select rownum,name from table;………………………………>Rownum name1 haha2 xxxx--创建表tb_stucreate table tb_stu(stu_id char(12) primary key,stu_name varchar(50) not null,sex varchar(5),birthday date)--查询表tb_stuselect * from tb_stu;--在表中插入tb_stu记录insert into tb_stu(stu_id,stu_name,sex,birthday) values('123456789012','李四','男',to_date('2009-9-9','yyyy-mm-dd'));--事务提交commit;--事务回滚rollback;--根据stu_name查询所有信息select * from tb_stu where stu_name='田七'--根据stu_id删除一条记录delete from tb_stu where stu_id=123456789015--根据stu_id修改一条记录update tb_stu set sex='女',stu_name='梁朝伟'where stu_id='123456789013';--to_date 修改存入数据库中日期的格式update tb_stu set birthday=to_date('2009-10-5','yyyy-mm-dd') wherestu_id='123456789014'--to_date 查询数据库中日期按指定格式输出select* from tb_stu where birthday between(to_date('2009-10-1','yyyy-mm-dd')) and (to_date('2009-12-1','yyyy-mm-dd'))--虚列 rownum 数据库中实际并不存在对符合条件的查询结果的编号select rownum,stu_id,stu_name,sex,birthday from tb_stu where sex='男';--在查询结果中进行查询select * from (select rownum rn,stu_id,stu_name,sex,birthday from tb_stu where sex='男') where rn<3;--创建表tb_employeecreate table tb_employee(em_id number primary key,em_name varchar(50) not null,sex varchar(2),birthday date,sal number(20,2))--向表tb_employee中插入数据insert into tb_employee values(1,'梁朝伟','男',sysdate,11000000);--按字段升序排列(默认的为升序)select * from tb_employee where sal>200order by sal asc--按字段升序排列select * from tb_employee where sal>200order by sal desc--取别名:将查询的字段按一个特定的字段名输出select em_name,((sal-2000)*0.2) 税收from tb_employee where sal>2000;--联合字段,将查询出的多个字段或者是字符串连接在一起,以一个字段输出,用“||”连接select em_name||'的应该缴税: '||((sal-2000)*0.2) as税收from tb_employee where sal>2000order by税收desc;--将em_name为“梁朝伟”的记录的birthday字段,按指定的日期格式进行修改update tb_employee set birthday=to_date('1969-1-1','yyyy-dd-mm') where em_name='梁朝伟';--查询birthday字段不为当前系统时间并且不为空的值--不等于的三种书写方式(!=,^=,<>)select * from tb_employee whereto_char(birthday,'yyyy')^=to_char(sysdate,'yyyy');-- or 连接的多条件“或”查询select * from tb_employee where birthday is null or em_id=1;--between 3 and 5 查询条件为:大于等于3同时小于等于5select * from tb_employee where em_id not between3and5;--查询条件为:大于其中任意一个(只要大于其中的某一个就为满足条件)select * from tb_employee where em_id > any(1,3,5);--查询条件为:小于其中所有的(只有比括号中所有的数字都小才为满足条件)select * from tb_employee where em_id < all(3,5);--下划线表示任意的以个字符select * from tb_employee where em_name like'周__';-- % 表示任意多个字符select * from tb_employee where birthday like'%';--快速创建和tb_stu相同的表结构的表tb_stu_temp1create table tb_stu_temp1as select * from tb_stu where1=2;--将表tb_stu按条件查询的结果插入表tb_stu_temp1中insert into tb_stu_temp1(select * from tb_stu);--查询所有的表select * from tab ;--根据表名查询表select * from tab where tname='tb_stu';如果2个表达式主键管理的:主表——子表先插入主表的数据,然后子表删除:先删从表数据,然后主表。

oracle添加新用户、赋值权限、新建表空间等(sqlplus中完成)

oracle添加新用户、赋值权限、新建表空间等(sqlplus中完成)

oracle添加新⽤户、赋值权限、新建表空间等(sqlplus中完成)在cmd下可以直接使⽤sqlplus⽆登陆状态进⼊sqlplusc:\> sqlplus /nolog使⽤system账号以sysdba的⾝份连接SQL> connect system/tukeping as sysdba查看当前⽤户SQL> show user新建⽤户SQL> create user tkp1 identified by tkp1;授权SQL> grant connect,resource to tkp1;退出sqlplusSQL> quit以tkp1⽤进⼊到sqlplusc:\> sqlplus tkp1/tkp1查看所有⽤户SQL> select * from all_users;退出SQL> quit以sysdba⾝份进⼊删除tkp1⽤户c:\> sqlplus system/tukepingSQL> drop user tkp1 cascade;创建表空间SQL> create tablespace test1 datafile 'd:\oracle\tablespace\tabletest1.dbf' size 50M;创建名为tkp1的⽤户,其缺省表空间为test1SQL> create user tkp1 identified by tkp1 default tablespace test1;查看系统能给的所有权限SQL>select name from sys.system_privilege_map;查看当前连接⽤户的所有权限SQL> select * from user_sys_privs;移除tkp1的sysdba权限SQL> revoke sysdba from tkp1;SQL>commit;关闭oracle数据库SQL>shutdown immediate;开启oracle数据库SQL>startup此外:可以⽤system账户以dba⾝份⽤PL/SQL进⼊,进⾏以上所有操作博外知识:drop user xxx cascade;(删除⽤户下⾯的所有对象,注意关键字cascade)drop tablespace xxx INCLUDING CONTENTS;(删除表空间)create user user1 identified by password default tablespace users temporary temp;(创建user1,密码为password,使⽤的表空间为tablespace)grant connect,resource,dba to user1;(赋予权限)connect sys/密码 as sysdba;ALTER USER "SCOTT" IDENTIFIED BY "*******" (修改SCOTT⽤户密码)ALTER USER "SCOTT" ACCOUNT UNLOCK(为SCOTT⽤户解锁)1.查看所有⽤户:select * from dba_user;select * from all_users;select * from user_users;2.查看⽤户系统权限:select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3.查看⽤户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;4.查看所有⾓⾊:select * from dba_roles;5.查看⽤户所拥有的⾓⾊:select * from dba_role_privs;select * from user_role_privs;显⽰当前连接⽤户:show user;ALTER USER test DEFAULT TABLESPACE users QUOTA UNLIMITED ON users; (修改⽤户默认表空间) ALTER USER test TEMPORARY TABLESPACE temp;(修改⽤户临时空间)。

oracle cdc 操作文档_中文版

oracle cdc 操作文档_中文版

Oracle CDC 操作手册Oracle的增量数据处理方案中联新时代1.CDC简介1.1.CDC是一种数据增量处理技术在构建数据仓库系统的ETL过程中,增量数据的抽取是一个非常关键的环节.对解决方案一般有两点要求:●准确性,能够将业务系统中的数据按一定的频率准确的取到数据仓库中●性能,不能对业务系统造成太大的压力,影响现有业务目前,最为常用的ETL增量数据处理方式有三种:●时间戳●日志对比(CDC)●全面数据对比三种方式各有优劣,时间戳是目前应用比较普遍的方式。

在Oracle=中推出了两种主要的ETL方案,一种是我们熟悉的物化视图(materialized view),另一种就是本文将要介绍的CDC组件(Change Data Capture 改变数据捕获)。

CDC 特性是在Oracle9i数据库中引入的。

CDC能够帮助你识别从上次提取之后发生变化的数据。

利用CDC,在对源表进行INSERT、UPDATE或DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。

这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。

1.2.CDC与传统增量处理方式的对比分析我们对比一下CDC方式与传统的全表对比与时间戳方式。

全表对比使用数据仓库中的当前表与业务系统表进行对比,取得变化了的数据,典型是使用minus语句:SELECT * FROM new_versionMINUS SELECT * FROM old_version;使用全表对比有以下几方面的问题:●需要将业务系统中表全部转输,造成很高的网络负载●需要对两版本的表进行全表扫描,性能代价非常高●无法反映数据的历史状态,如无法捕捉库存的历史变化记录还有一种常用的方式是时间戳, 它是以业务表中某一个字段的值,作为判断新旧数据的标志。

如,”病人费用记录”中的登记时间,每次只抽取上次抽取记录时间以后产生的数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

grant connect to ldjf_jl;
exit
13 删除表空间
drop tablespace fsmcms including contents ;
14 账户被锁定:
解除方法:
用管理员登陆
例如要登陆的管理员密码是system,登陆的数据库是orcl
conn sys/system@orcl as sysdba
假如要解锁的账户是scott
alter user scott account unlock
);
10 删除表的命令
drop table TableName;
11 建序命令
create index indexname on TableName(Field1);
12 创建表空间的命令
connect sys/system as sysdba
create tablespace ldjf_jl datafile 'D:\oracle\product\10.2.0\oradata\orcl\ldjf_jl.ora' size 50M;
10 建表命令
create table TableName
(
TID number(8) not null , --编号 整数的定义
TDesc varchar2(50) , --描述 可变长度的字符串的定义
3 远端启动sqlplus命令:
C:>sqlplus username/password@servicename
4 使用sqlplus执行文件命令:
C:>sqlplus username/password@servicename @table.sql
5 导入数据:
C:>imp username/password file=d:filename.dmp full=y
oracle 库的常用命令
1 数据库的启动:(8i)
C:>vrmgrl
svrmgrl:>connect internal as sysdba
svrmgrl:>startup
2 数据库的关闭:(8i)
C:>svrmgrl
svrmgrl:>shut down immesqldiate
create user ldjf_jl identified by ldjf_jl4321 default tablespace ldjf_jl temporary tablespace temp profile DEFAULT;
grant dba to ldjf_jl;
grant resource to ldjf_jl;
6 导出数据:
C:>exp username/password file=d:filename.dmp
7 在SQLPLUS 中执行文件
SQL>@c:\table.sql
@
8 查看表结构
SQL>desc tablename;
9 查看库中有多少表
SQL>select * from cat;
Type char(1) , --类型 1=普通表,2=字典表,3=报表
TablePrint number(8,2) , --价格
constraint PK_TableName primary key (TID)
相关文档
最新文档