Oracle12C用户创建与表空间分配
[学习笔记]Oracle创建用户、分配权限、设置角色
[学习笔记]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角色可以创建自己的对象,包括:表、视图、序列、过程、触发器、索引、包、类型等。
Oracle12C用户创建与表空间分配
Oracle12C用户创建与表空间分配Oracle 12C用户创建与表空间分配数据库安装完成后,首先用系统用户链接数据库容器(CDB), 在数据库容器(CDB)中创建表空间‘imei’ SQL>createtablespaceiemidatafile'E:\\Oracle_DB\\cdb_iemi.dbf'size 10240m autoextend on next 200m; 表空间已创建。
接下来在Oracle 12C数据库中创建用户时会报ORA-65096错误。
SQL> create user imei identified by imei default tablespace imei temporary tablespace imei_temp; *ERROR at line 1:ORA-65096: invalid common user or role name ORA-65096:公用用户名或角色名无效以前没见过这个错误,通用用户(common user)是什么?之前的版本可是没这概念啊,上网搜索看到了下面的图片,原来和common user对应的还有local user。
这个common user 和local user是和oracle 12c的新特性pluggabledatabase(PDB)有关。
在PDB中创建的用户就是local user。
从上图可以看出,common user必须以大写或小写的c##开头,尝试建立以c##开头的common user。
SQL> create user c##imei identified by imei default tablespace imei temporary tablespace imei_temp;; User created.SQL> grant dba to c##imei; Grant succeeded.每个PDB都是独立的单元,有自己的用户(local user)、表空间、数据文件,每个local user只能访问自己的PDB,而common user只要权限足够,可以访问任意PDB。
安装12C小问题及pdb表空间配置
安装12C⼩问题及pdb表空间配置安装12C⼩问题及pdb表空间配置⼀、安装1.RPM包#安装12C需要安装的rpm包,官⽹搜索,做个记录bcbinutils-2.23.52.0.1-12.el7(x86_64)compat-libcap1-1.10-3.el7(x86_64)compat-libstdc++-33-3.2.3-71.el7(i686)compat-libstdc++-33-3.2 (x86_64)glibc-2.17-36.el7(i686)glibc-2.17-36.el7(x86_64)glibc-devel-2.17-36.el7(i686)glibc-devel-2.17-36.el7 (x86_64)kshlibaio-0.3.109-9.el7(i686)libaio-0.3.109-9.el7(x86_64)libaio-devel-0.3.109-9.el7(i686)libaio-devel-0.3.109- 9.el7(x86_64)libX11-1.6.0-2.1.el7(i686)libX11-1.6.0-2.1.el7(x86_64)libXau-1.0.8-2.1.el7(i686)libXau-1.0.8-2.1。
el7(x86_64)libXi-1.7.2-1.el7(i686)libXi-1.7.2-1.el7(x86_64)libXtst-1.2.2-1.el7(i686)libXtst-1.2.2-1.el7(x86_64)libgcc-4.8.2-3.el7(i686)libgcc-4.8.2-3.el7(x86_64)libstdc ++ - 4.8.2-3.el7(i686)libstdc ++ - 4.8.2-3.el7(x86_64)libstdc ++ - devel-4.8.2-3.el7(i686)libstdc ++ - devel-4.8.2-3.el7(x86_64)libxcb-1.9-5.el7(i686)libxcb-1.9-5.el7(x86_64)make-3.82-19.el7(x86_64)nfs-utils-1.3.0-0.21.el7.x86_64(对于Oracle ACFS)net-tools-2.0-0.17.20131004git.el7(x86_64)(⽤于Oracle RAC和Oracle Clusterware)smartmontools-6.2-4.el7(x86_64)sysstat-10.1.5-1.el7(x86_64)2报错:yum源说明:端⼝不通,提交⽹络⼈员配置交换机#报错解决思路:#Yum安装,提⽰IP +PORT不通,使⽤telnet命令(远程节点telnet包上传,解压),提⽰路由问题[root@fs-3z3-vm0393 ~]# yum install -y binutilsTrying other mirror.#查询yum源# cat /etc/yum.repos.d/Test_Env_yum_server.repo[Test_Env_yum_server]name=Test_Env_yum_serverenabled=1gpgcheck=0#使⽤telnet#传输介质:连接Yum源IP地址,搜索TEL相关rpm软件包,上传服务器,解压后#路由端⼝的问题[root@fs-3z3-vm0393 ~]# telnet 10.135.100.100 80Trying 10.135.100.100...telnet: connect to address 10.135.100.100: No route to host3权限问题#⾃⼰配置的Oracle环境变量,⾃动cd ⽬录,但是⽬录权限存在问题[root@hbqzcsrac1 oracle]# su - oracleLast login: Tue Jun 19 16:39:46 CST 2018 on pts/0-bash: cd: /picclife/app/oracle: Permission denied-bash: cd: /picclife/app/oracle: Permission denied[root@hbqzcsrac1 /]# cd picclife/[root@hbqzcsrac1 picclife]# lltotal 15625000drwxr-x--- 5 root root 46 Jun 19 16:09 app[root@hbqzcsrac1 app]# chown grid.oinstall /picclife/app/4新系统⽆法使⽤ unzip命令,解压缩$ unzip V840012-01.zip -d /picclife/app/12.2.0/grid/-bash: unzip: command not found[root@hbqzcsrac1 ~]# yum install -y unzip5集群检测:#⽆法确定产品清单组:忽略PRVG-10467 : The default Oracle Inventory group could not be determined.#PRVG-0449 GI⽤户软限制未配置,检测不达标Verifying Soft Limit: maximum stack size ...Node Name Type Available Required Status---------------- ------------ ------------ ------------ ----------------hbqzcsrac2 soft 8192 10240 failedhbqzcsrac1 soft 8192 10240 failedVerifying Soft Limit: maximum stack size ...FAILED (PRVG-0449)Verifying Soft Limit: maximum stack size ...FAILEDhbqzcsrac2: PRVG-0449 : Proper soft limit for maximum stack size was not found on node "hbqzcsrac2" [Expected >= "10240" ; Found = "8192"].hbqzcsrac1: PRVG-0449 : Proper soft limit for maximum stack size was not found on node "hbqzcsrac1" [Expected >= "10240" ; Found = "8192"].#最⼤的软限制:查询为8192,⾮10240Ulimit -a -查询#GRID临时⽣效ulimit -Ss 10240#配置⽂件永久⽣效 =》 exit 退出会话后,重新登录/etc/security/limits.conforacle soft stack 10240#发现是由于安装⽂档中,未指定GRID soft stackgrid hard stack 32768grid soft stack 10240#/DEV/SHM检查hbqzcsrac2: PRVE-0421 : No entry exists in /etc/fstab for mounting /dev/shm hbqzcsrac1: PRVE-0421 : No entry exists in /etc/fstab for mounting /dev/shm CVU在不适⽤的RHEL7上执⾏了/ dev / shm安装检查。
oracle创建表空间,用户,赋权,导入数据
第一步:查看有多少命名空间select dbf.tablespace_name,dbf.totalspace "总量(M)",dbf.totalblocks as 总块数,dfs.freespace "剩余总量(M)",dfs.freeblocks "剩余块数",(dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name,sum(t.bytes) / 1024 / 1024 totalspace,sum(t.blocks) totalblocksfrom dba_data_files tgroup by t.tablespace_name) dbf,(select tt.tablespace_name,sum(tt.bytes) / 1024 / 1024 freespace,sum(tt.blocks) freeblocksfrom dba_free_space ttgroup by tt.tablespace_name) dfswhere trim(dbf.tablespace_name) = trim(dfs.tablespace_name)第二步:创建表空间(当分配空间不够时,让其自动增加)CREATE TABLESPACE 空间名DATAFILE 'D:\app\Administrator\oradata\数据库名.DBF' SIZE 500M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEM ENT LOCAL SEGMENT SPACE MANAGEMENT AUTO第三步:创建用户并指定表空间语法:CREATE USER 名字IDENTIFIED BY 密码DEFAULT TABLESPACE 表空间名字第四步:为用户分配权限语法:GRANT 权限TO 用户名;例:grant connect,resource,dba to sxltest;第五步:导入数据imp mof/mof@127.0.0.1/orcl file=E:\data\数据库.DMP FULL=Y注解:imp 用户名/密码@地址/空间 file=地址 FULL=Y (当有此表存在时直接覆盖)。
Oracle建立表空间和用户
Oracle建立表空间和用户Oracle建立表空间和用户[sql]view plaincopy1建立表空间和用户的步骤:2用户3建立:create user 用户名 identified by "密码";4授权:grant create session to用户名;5grant create table to用户名;6grant create tablespace to用户名;7grant create view to用户名;[sql]view plaincopy8表空间9建立表空间(一般建N个存数据的表空间和一个索引空间):10create tablespace 表空间名11datafile ' 路径(要先建好路径)\***.dbf 'size*M 12tempfile ' 路径\***.dbf ' size *M13autoextend on--自动增长14--还有一些定义大小的命令,看需要15default storage(16initial 100K,17next100k,18);[sql]view plaincopy19例子:创建表空间20create tablespace DEMOSPACE21datafile 'E:/oracle_tablespaces/DEMOSPACE_TBSPACE.dbf'22size1500M23autoextend on next 5M maxsize 3000M;24删除表空间25drop tablespace DEMOSPACE including contents and datafiles[sql]view plaincopy26用户权限27授予用户使用表空间的权限:28alter user 用户名 quota unlimited on表空间;29或alter user用户名 quota *M on表空间;完整例子:[sql]view plaincopy30--表空间31CREATE TABLESPACE sdt32DATAFILE 'F:\tablespace\demo' size 800M33EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;34--索引表空间35CREATE TABLESPACE sdt_Index36DATAFILE 'F:\tablespace\demo' size 512M37EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;3839--2.建用户40create user demo identified by demo41default tablespace demo;4243--3.赋权44grant connect,resource to demo;45grant create any sequence to demo;46grant create any table to demo;47grant delete any table to demo;48grant insert any table to demo;49grant select any table to demo;50grant unlimited tablespace to demo;51grant execute any procedure to demo;52grant update any table to demo;53grant create any view to demo;[sql]view plaincopy54--导入导出命令55ip导出方式: exp demo/demo@127.0.0.1:1521/orcl file=f:/f.dmp full=y 56exp demo/demo@orcl file=f:/f.dmp full=y57imp demo/demo@orcl file=f:/f.dmp full=y ignore=y。
oracle创建用户,分配权限以及建立变空间
一、创建表空间及用户并授权1:创建临时表空间create temporary tablespace user_temptempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;2:创建数据表空间create tablespace user_dataloggingdatafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;第3步:创建用户并指定表空间create user username identified by passworddefault tablespace user_datatemporary tablespace user_temp;第4步:给用户授予权限grant connect,resource,dba to username;第二部分:删除用户及表空间//删除用户以及用户所有的对象drop user zfmi cascade;//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数//删除表空间前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除drop tablespace zfmi including contents and datafiles cascade onstraints;//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数//including datafiles 删除表空间中的数据文件//cascade constraints 同时删除tablespace中表的外键参照二、oracle数据库的导入和导出下面介绍的是导入导出的实例,向导入导出看实例基本上就可以完成,因为导入导出很简单。
oracle创建表空间、用户4个步骤
oracle创建表空间、⽤户4个步骤/*分为四步 *//*第1步:创建临时表空间(注意:D:\Project\OracleTableSpace\FHADMIN\ ⼿动创建路径) */create temporary tablespace C##FHADMIN_TEMPtempfile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_TEMP.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;/*第2步:创建数据表空间 */create tablespace C##FHADMIN_DATAloggingdatafile 'D:\Project\OracleTableSpace\FHADMIN\C##FHADMIN_DATA.dbf'size 50mautoextend onnext 50m maxsize 20480mextent management local;/*第3步:创建⽤户并指定表空间密码是root */create user C##FHADMIN identified by rootdefault tablespace C##FHADMIN_DATAtemporary tablespace C##FHADMIN_TEMP;/*第4步:给⽤户授予权限 */grant connect,resource,dba to C##FHADMIN;官⽹:-----------------------springboot框架 vue.js 前后分离--------------【框架平台】springboot 框架 vue.js 前后分离时尚风格即时通讯:⽀持好友,群组,发图⽚、⽂件,消息声⾳提醒,离线消息,保留聊天记录(即时聊天功能⽀持⼿机端,详情下⾯有截图)⼯作流模块----------------------------------------------------------------------------------------------------------1.模型管理:web在线流程设计器、预览流程xml、导出xml、部署流程2.流程管理:导⼊导出流程资源⽂件、查看流程图、根据流程实例反射出流程模型、激活挂起3.运⾏中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办⼈3.运⾏中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办⼈4.历史的流程:查看流程信息、流程⽤时、流程状态、查看任务发起⼈信息5.待办任务:查看本⼈个⼈任务以及本⾓⾊下的任务、办理、驳回、作废、指派⼀下代理⼈6.已办任务:查看⾃⼰办理过的任务以及流程信息、流程图、流程状态(作废驳回正常完成)注:当办理完当前任务时,下⼀任务待办⼈会即时通讯收到新任务消息提醒,当作废和完结任务时,任务发起⼈会收到站内信消息通知。
oracle12使用手册
oracle12使用手册Oracle 12 使用手册Oracle是一种广泛应用的关系型数据库管理系统(RDBMS),它提供了一种高效、可靠的数据存储和管理解决方案。
本文将向您介绍Oracle 12的使用手册,让您能够更好地了解和操作这个强大的数据库系统。
一、安装和配置Oracle 121. 下载Oracle 12c安装包,并解压缩到指定目录。
2. 执行安装程序,按照向导提示进行安装。
3. 配置数据库实例,包括设置监听器、初始化参数等。
4. 启动数据库实例,确保数据库能够正常运行。
二、创建和管理数据库1. 使用SQL*Plus或SQL Developer等工具登录数据库。
2. 创建数据库表空间,用于存储数据和索引。
3. 创建用户,并为其分配适当的权限。
4. 创建表、视图、索引等数据库对象。
5. 管理数据库对象的权限和存取控制。
6. 备份和恢复数据库,确保数据的安全性和可靠性。
三、数据查询与操作1. 使用SQL语言进行数据查询和操作。
2. 编写SQL查询语句,包括条件查询、排序、分组等。
3. 使用内置函数进行数据计算和转换。
4. 联接多个表进行复杂查询。
5. 插入、更新和删除数据。
6. 事务管理,确保数据的一致性和完整性。
四、PL/SQL编程1. 了解PL/SQL语言的基本语法和数据类型。
2. 编写存储过程、函数和触发器。
3. 使用游标进行数据检索和遍历。
4. 异常处理和事务控制。
5. 调用PL/SQL代码并进行测试。
五、性能优化和调试1. 了解Oracle的查询优化器和执行计划。
2. 使用索引和分区等技术提升查询性能。
3. 分析和优化SQL查询语句。
4. 监控和调优数据库的性能。
5. 诊断和解决数据库故障和性能问题。
六、高可用性和容灾备份1. 配置备份和恢复策略,确保数据的可靠性。
2. 实施数据复制和故障转移,提高系统的可用性。
3. 使用Oracle Data Guard实现数据库的容灾备份。
4. 备份和恢复数据库和表空间。
Oracle 12c 用户的创建
Oracle 12c 的账户可以分为公用账户和本地用户,共有账户是在CDB下创建,可以给所有的PDB用户使用,本地账户是只能在PDB中创建的账号创建公共用户alter session set container=CDB$ROOT;create USER C##u02 identified by oracle container=all;创建本地用户alter session set container=pdb4;create USER u01 identified by oracle container=current;SQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME='U01';USERNAME CON_ID USER_ID------------------------------ ---------- ----------U01 4 105在CDB中创建测试账号1 在CDB中创建账号必须以C##开头alter session set container=CDB$ROOT;SQL> create user orcl identified by a;create user orcl identified by a*ERROR at line 1:ORA-65096: invalid common user or role nameSQL> create user p##orcl identified by a;create user p##orcl identified by a*ERROR at line 1:ORA-65096: invalid common user or role nameSQL> create user c##a identified by a;User created.SQL> select username from dba_users where username like 'C##%';USERNAME--------------------------------------------------------------------------------C##A---说明本地用户不能以C##开头alter session set container=pdb4;SQL> create user c##B identified by B;create user c##B identified by B*ERROR at line 1:ORA-65094: invalid local user or role nameSQL> SELECT USERNAME,CON_ID,USER_ID FROM CDB_USERS WHERE USERNAME like 'C##%' ORDER BY USERNAME;USERNAME CON_ID USER_ID------------------------------ ---------- ----------C##BOSWLL 4 103C##BOSWLL 3 110C##BOSWLL 1 102C##BOSWLL 5 103C##U02 4 106C##U02 5 104C##U02 1 103C##U02 3 111---创建公共用户时,不能在pdb中创建,必须在cdb中创建公共用户SQL> alter session set container=pdb4;Session altered.SQL> create USER C##u02 identified by oracle container=all;create USER C##u02 identified by oracle container=all*ERROR at line 1:ORA-65050: Common DDLs only allowed in CDB$ROOT总结:1 公共用户必须以C##开头,本地用户只能以字母开头,不能以C##用户开头2 创建公共用户时,必须是在CDB$ROOT3 如果在PDB中已经存在一个用户或者角色,则在CDB中不能创建相同的账号或者角色名。
Oracle新建用户、角色,授权,建表空间
Oracle新建用户、角色,授权,建表空间oracle数据库的权限系统分为系统权限与对象权限。
系统权限( database systemprivilege )可以让用户执行特定的命令集。
例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。
对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。
例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。
每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。
oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。
用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。
一个用户也可以直接给其他用户授权。
一、创建用户oracle内部有两个建好的用户:system和sys。
用户可直接登录到system用户以创建其他用户,因为system具有创建别的用户的权限。
在安装oracle时,用户或系统管理员首先可以为自己建立一个用户。
例如:Sql代码create user user01 identified by u01;该命令还可以用来设置其他权限,详细情况参见自学资料。
要改变一个口令,可以使用alter user命令:<span style="white-space: pre;"> alter user user01 identified by usr01;</span><span style="white-space: pre;"><span style="white-space: normal;"> </span> </span>现在user01的口令已由“u01”改为“usr01”。
Oracle创建表空间_用户_并授予用户权限_绑定表空间
/*创建临时表空间TS_TEMP01*//*创建临时表空间TS_DA TA01 */create temporary tablespace TS_TEMP01tempfile 'D:\oracle\product\10.2.0\oradata\ynsp\TS_TEMP01.dbf' --与安装路径相关size 50mautoextend onnext 50m maxsize 20480mextent management local;/*创建数据表空间TS_DATA01 */create tablespace TS_DA TA01loggingdatafile 'D:\oracle\product\10.2.0\oradata\ynsp\TS_DATA01.dbf' --与安装路径相关size 50mautoextend onnext 50m maxsize 20480mextent management local;/*创建用户edata并绑定表空间*/create user edata identified by sa123 --创建用户edata及密码sa123default tablespace TS_DATA01 --给用户绑定默认表空间temporary tablespace TS_TEMP01;--给用户绑定临时表空间/*授予用户权限*/grant connect,resource,dba,create any view,select any table,create any procedure,unlimited tablespace to edata;/*删除某用户及表空间的步骤*/--步骤一:删除userdrop user ×× cascade--说明:删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace 的。
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建立表空间和用户
建表空间:Create database sm datafile ‘datafile地址’size 2048m autoextend on next 100m maxsize 20000m其中sm 为表空间名datafile地址为存放表空间路径,例如:E:\oracle\product\10.2.0\oradata\orcl\mof.dbfMof.dbf 为表空间文件,和表空间名一样。
建立用户:Create user zhangsan identified by 1 default tablespace sm其中zhangsan 为用户,sm是表空间给用户授权:Grant connect,dba to zhangsan;Zhangsan 是要授权的用户。
ORACLE日期时间函数大全TO_DATE格式(以时间:2007-11-02 13:45:25为例)Year:yy two digits 两位年显示值:07yyy three digits 三位年显示值:007yyyy four digits 四位年显示值:2007Month:mm number 两位月显示值:11mon abbreviated 字符集表示显示值:11月,若是英文版,显示novmonth spelled out 字符集表示显示值:11月,若是英文版,显示novemberDay:dd number 当月第几天显示值:02ddd number 当年第几天显示值:02dy abbreviated 当周第几天简写显示值:星期五,若是英文版,显示friday spelled out 当周第几天全写显示值:星期五,若是英文版,显示fridayddspth spelled out, ordinal twelfthHour:hh two digits 12小时进制显示值:01hh24 two digits 24小时进制显示值:13Minute:mi two digits 60进制显示值:45Second:ss two digits 60进制显示值:25其它Q digit 季度显示值:4WW digit 当年第几周显示值:44W digit 当月第几周显示值:124小时格式下时间范围为:0:00:00 - 23:59:59....12小时格式下时间范围为:1:00:00 - 12:59:59 ....1. 日期和字符转换函数用法(to_date,to_char)select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串select to_char(sysdate,'yyyy') as nowYear from dual; //获取时间的年select to_char(sysdate,'mm') as nowMonth from dual; //获取时间的月select to_char(sysdate,'dd') as nowDay from dual; //获取时间的日select to_char(sysdate,'hh24') as nowHour from dual; //获取时间的时select to_char(sysdate,'mi') as nowMinute from dual; //获取时间的分select to_char(sysdate,'ss') as nowSecond from dual; //获取时间的秒select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//2.select to_char( to_date(222,'J'),'Jsp') from dual显示Two Hundred Twenty-Two3.求某天是星期几select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;星期一select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;monday设置日期语言ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以这样TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4. 两个日期间的天数select floor(sysdate - to_date('20020405','yyyymmdd')) from dual;5. 时间为null的用法select id, active_date from table1UNIONselect 1, TO_DATE(null) from dual;注意要用TO_DATE(null)6.月份差a_date between to_date('20011201','yyyymmdd') and to_date('20011231','yyyymmdd')那么12月31号中午12点之后和12月1号的12点之前是不包含在这个范围之内的。
oracle新建用户与分配表空间
oracle新建用户与分配表空间1.创建表空间:create tablespace tablespacename datafile 'd:\data.dbf' size xxxm; tablespacename:表空间的名字d:\data.dbf':表空间的存储位置 xxx表空间的大小,m单位为兆(M)2. create user username identified by password;username:新用户名的用户名password: 新用户的密码3.将空间分配给用户:alter user username default tablespace tablespacename;将名字为tablespacename的表空间分配给username4.给用户授权:grant create session,create table,unlimited tablespace to username;5.然后再以楼主自己创建的用户登录,登录之后创建表即可。
conn username/password;6.查看服务名env |grep SID7.授予dba权限grant dba to username7.使用上面的用户名、密码、sid登录plsql每步执行的sql:(sjzx是数据库名、用户名、密码、表空间名)(1)create tablespace sjzx datafile 'D:\db\app\oradata\orcl\sjzx.dbf' size 100mautoextend on next 32m maxsize 2048m(2)create user sjzx identified by sjzx(3)alter user sjzx default tablespace sjzx(4)grant create session,create table,unlimited tablespaceto sjzx1.创建用户create user user_name identified by "user_password"default tablespace tbs_name temporary tablespace temp;2.授权grant connect to user_name;grant create indextype to user_name;grant create job to user_name;grant create materialized view to user_name;grant create procedure to user_name;grant create public synonym to user_name;grant create sequence to user_name;grant create session to user_name;grant create table to user_name;grant create trigger to user_name;grant create type to user_name;grant create view to user_name;grant unlimited tablespace to user_name;alter user user_name quota unlimited on tbs_name;。
Oracle创建用户及表空间
Oracle创建用户及表空间Oracle12c 创建用户及表空间-- 创建临时空间,找到D:\app\orcl\oradata\orcl目录,创建local 目录-- drop tablespace local_temp;create temporary tablespace local_temptempfile 'D:\app\orcl\oradata\orcl\local\local_temp.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local;-- 创建数据表空间,找到D:\app\orcl\oradata\orcl目录,创建local目录-- drop tablespace local_data;create tablespace local_dataloggingdatafile 'D:\app\orcl\oradata\orcl\local\local_data.dbf'size 32mautoextend onnext 32m maxsize 2048mextent management local;-- 创建用户并指定表空间create user c##wangxin identified by wangxinprofile defaultdefault tablespace local_datatemporary tablespace local_tempaccount unlock;-- 刚开始用户名为wangxin,提示错误ORA-65096:公用用户名或角色名无效-- 网上查资料,说是取名前缀必须为c##,所以用户名也变成了c#wangxin/*ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错ORA-00959:表空间‘LOCL_DATA’不存在(注:开始一直提示这个错误,我就纳闷,后来重启下Oracle服务之后,就不会报这个错了)*/-- 授权给c##wangxin ,ps:根据需要设置权限。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 12C用户创建与表空间分配
数据库安装完成后,首先用系统用户链接数据库容器(CDB),
在数据库容器(CDB)中创建表空间‘imei’
SQL>create tablespace iemi datafile'E:\Oracle_DB\ cdb_iemi.dbf'size 10240m autoextend on next 200m;
表空间已创建。
接下来在Oracle 12C数据库中创建用户时会报ORA-65096错误。
SQL> create user imei identified by imei default tablespace imei temporary tablespace imei_temp;
*
ERROR at line 1:
ORA-65096: invalid common user or role name
ORA-65096:公用用户名或角色名无效
以前没见过这个错误,通用用户(common user)是什么?之前的版本可是没这概念啊,上网搜索看到了下面的图片,原来和common user 对应的还有local user。
这个common user 和local user是和oracle 12c的新特性pluggable database(PDB)有关。
在PDB中创建的用户就是local user。
从上图可以看出,common user必须以大写或小写的c##开头,尝试建立以c##开头的common user。
SQL> create user c##imei identified by imei default tablespace imei temporary tablespace imei_temp;;
User created.
SQL> grant dba to c##imei;
Grant succeeded.
每个PDB都是独立的单元,有自己的用户(local user)、表空间、数据文件,每个local user只能访问自己的PDB,而common user只要权限足够,可以访问任意PDB。
Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。
CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。
在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。
而实例与数据库不可能是一对多的关系。
当进入ORACLE 12C后,实例与数据库可以是一对多的关系。
下面是官方文档关于CDB与PDB的关系图。
CDB组件(Components of a CDB)
一个CDB数据库容器包含了下面一些组件:
ROOT组件
ROOT又叫CDB$ROOT, 存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User 是指在每个容器中都存在的用户。
SEED组件
Seed又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。
一个CDB中有且只能有一个Seed.
PDBS
CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里指大多数常规操作。
这些组件中的每一个都可以被称为一个容器。
因此,ROOT(根)是一个容器,Seed(种子)是一个容器,每个PDB是一个容器。
每个容器在CDB中都有一个独一无二的的ID和名称。
用户名改好了,我们再次执行创建用户的语句
SQL> create user imei identified by imei default tablespace imei temporary tablespace imei_temp;
*
第一行出现错误:
ORA-65048: 在可插入数据库PDBORCL中处理当前DDL语句时出错ORA-00959: 表空间’imei’不存在
再上网查询,得知CDB容器数据库创建新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同表空间的时候进行,否则
会报错。
如果是在PDB与CDB有相同表空间的情况下给CDB用户分配表空间,则会分配CDB的表空间给用户PDB的表空间并不受影响。
首先看第一种情况,是在没有PDB的情况下创建用户“C##imei”并分配表空间(系统自带的表空间)。
SQL> create user imei identified by imei default tablespace SYSTEM temporary tablespace TEMP;
用户已创建。
SQL>grant dba to c##imei;
授权成功。
下来看第二种:
先用系统用户链接数据库容器(CDB),切换到PDB。
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID
NAME OPEN_MODE ---------- ---------- ------------------------------
----------
2 4048821679
PDB$SEED READ ONLY
3 3313918585
PDBORCL MOUNTED SQL> alter PLUGGABLE database PDBORCL open;
Pluggable database 已启动.
SQL> alter session set container=PDBORCL;
会话已更改。
SQL> show con_name;
CON_NAME
------------------------------
PDBORCL
SQL>create tablespace iemi datafile'E:\Oracle_DB\ pdb_iemi.dbf'size 10240m autoextend on next 200m;
表空间已创建。
再次用系统用户链接数据库容器(CDB),执行创建用户语句
create user c##imei2 identified by imei default tablespace imei temporary tablespace imei_temp;
用户已创建。
SQL>grant dba to c##imei2;。