`

SQL-- 用户,表空间,表,ORACLE

 
阅读更多

一:

sys 超级用户

system

scott/tiger

===============================================

在cmd里

1、用sys登录;

       sqlplus sys/1234@myoracle as sysdba

 --查询当前实例名

      select instance_name from v$instance;

--查询当前数据库名

      select name from v$database;

2、若scott/tiger用户被锁;

alter user scott account unlock;//解锁unlock、上锁lock

conn scott/tiger; //弹出修改密码框,更改scott密码即可

======

忘记密码,修改sys和system用户密码

----进入sqlplus 进行密码重置----

sqlplus/as sysdba

alter user sys identified by 1234;   //更改sys的密码为1234

conn sys/1234 as sysdba;     //切换到sys

alter user system identified by 1234;//按照此方式更改其余账号的密码

===============================================

1.查看所有用户名称

select username from dba_users; 

2.删除用户及用户下的表

drop user 用户名 cascade; 

3. 查出用户的session:

SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME='SCOTT';

4.杀掉用户SCOTT的session:

ALTER SYSTEM KILL SESSION 'SID, SERIAL#';

5.查看当前登录数据库的用户:

SELECT * FROM V$SESSION WHERE TYPE='USER';

6.查看所有用户信息

SELECT * FROM DBA_USERS

7.有时候需要导出某用户下的所有table、view、sequence、trigger等信息,下面的SQL可以将这些信息select出来:

select * from user_tables;

select * from user_views;

select * from user_sequences;

select * from user_triggers;

8.查看当前用户的默认表空间

 SQL>select username,default_tablespace from user_users;

9.查看当前用户的角色

 SQL>select * from user_role_privs;

10.查看当前用户的系统权限和表级权限

 SQL>select * from user_sys_privs;

 SQL>select * from user_tab_privs;

11.显示当前会话所具有的权限

  SQL>select * from session_privs;

  显示指定用户所具有的系统权限

  SQL>select * from dba_sys_privs where grantee=’GAME’;

 

===============================================

二:

表空间

 

查看表空间

select * form v$tablespace;

 

查看表空间详细的数据文件

select file_name,tablespace_name from dba_data_files;

 

创建表空间(创建表空间的时候,指定多个数据文件,以逗号隔开:)

create tablespace  表空间名 datafile '路径+数据文件名1.dbf' size 50m

autoextend on next 10m maxsize unlimited;//数据文件自动扩容,开启自动扩展,一次扩展10m,表空间最大的大小是无限大

 

查看表空间是否为自动扩展

select tablespace_name,autoextensible from dba_data_files;

 

alter database datafile '路径+数据文件名' autoextend off;//取消自动扩展

alter database datafile '路径+数据文件名' autoextend on;//开启自动扩展

 

增加数据文件2

alter tablespace 表空间名 add datafile '路径+数据文件2.dbf' size 50m;

 

删除表空间,没有删除内部文件

drop tablespace 表空间名;

删除表空间,同时删除内部文件

drop tablespace 表空间名 including contants and datafiles;

 

===============================================

简化权限管理,引入了角色的概念,角色是具有名称的一组权限的组合

------常用系统预定义角色

1.CONNECT:临时用户

2.RESOURCE:更为可靠和正式的用户

3.DBA:数据库管理员角色,拥有管理数据库的最高权限

创建用户,并授权

 

一、创建用户的时候指定表空间

create user 新用户 identified by 密码 default tablespace 表空间;//创建用户,并给他指定默认使用的表空间

conn 新用户/密码;//此时连接不了

 

grant connect,resource to 新用户;//给新用户connect和resource的权限,再conn就可以连接了; 

 

 

二、给已存在的用户指定表空间

     alter user username default tablespace userspace;

 

===============================================

创建表:=teacher表=======

create table teacher

(tno number(4) not null,

tname varchar2(14) not null,

tid char(18),

gender char(2),

birthdate date);

 

查看表:

desc teacher;

 

更改表:

alter table teacher add (sal number(7,2),hiredate date,wechat varchar2(30));

alter table teacher modify(tname varchar2(30));

alter table teacher drop column wechat;

更改列名:

alter table teacher rename column column to xingbie ;

 

 

edit,保存之后,/ 执行

 

增加主键:

alter table teacher add constraint pk_teacher 

primary key(tno);

 

增加唯一约束:

alter table teacher add constraint uk_teacher_tname unique(tname);

增加检查约束:

alter table teacher add constraint ck_teacher_gender 

check(gender in ('男','女'));

增加外键约束:

alter table teacher add constraint fk_teacher_deptno_dept foreign key(deptno) 

references dept(deptno);

 

SQL怎么样让表和序列有关系

1:先创建一个序列对象

    CREATE SEQUENCE sq_num
       INCREMENT BY 1
       START WITH 1
       NOMAXVALUE
       NOCYCLE

2:插入记录时,在主键上应用序列对象
   假设有一个顾客表,有一个主键bh,可以这样做
   INSERT INTO customer 
     VALUES( sq_num.NEXTVAL,'张三',........)

CREATE SEQUENCE sq_name --创建序列

[start with n] [increment by n][ maxvalue n|nomaxvalue][cycle|nocycle][cache n|nocache]
;
sq_name.currval --
当前序号
sq_name.nextval --下一个序号
DROP SEQUENCE sq_name; --删除序列
-------------------------------------
1.创建序列
CREATE SEQUENCE sq_teacher
       INCREMENT BY 1
       START WITH 1
       NOMAXVALUE
       NOCYCLE
2.查看当前序列值(在哑表 dual 查看)
    首先要初始化序列才可以查看
如下:
首先 nextval (初始化)
select sq_teacher.nextval from dual
再查看
select sq_currval from dual
-----------------------------------------------------------------------
1.先删除序列,然后重新创建。不过这不是当前要讲的重点。这个方法比较方便。
  2.通过Increment By来实现修改初始值。
  例如:若序列名称是SeqTest2010_S,初始值是13,而现在要设置初始值为1020,Increment By值为:1007(1020-13)
  2.1 执行:Alter Sequence SeqTest2010_S Increment By 1007;
  2.2 执行:Select SeqTest2010_S.NextVal From Dual;
  2.3 执行:Alter Sequence SeqTest2010_S Increment By 1;
  修改完成。简单吧
--------------------------------------

 

number(3,1) 99.9

number (3,-1)990

number(2)  99

number 表示无限大

 

     提供四种类型的约束保证完整性

域完整性

实体完整性

引用完整性

自定义完整性

分享到:
评论

相关推荐

    Oracle--创建表空间+用户+授权

    根据提供的文件信息,本文将详细解释如何在Oracle数据库中创建表空间、用户及进行权限授权的相关知识点。 ### 创建表空间 #### 1. 创建临时表空间 临时表空间主要用于存储临时对象,例如排序操作时产生的临时数据...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    以下将详细介绍如何在Oracle中创建表空间、临时表空间以及赋予用户对表空间的权限。 首先,我们来了解如何创建一个常规表空间: 1. **创建表空间**: 使用`CREATE TABLESPACE`语句来创建一个新的表空间。例如,...

    Oracle释放临时表空间脚本

    ### Oracle 临时表空间管理与释放脚本解析 在Oracle数据库管理中,临时表空间(Temporary Tablespace)的管理是一项非常重要的任务。合理的管理和优化临时表空间不仅可以提高系统的性能,还可以帮助解决空间不足等...

    benchmarksql-5.0-pg-oracle-mysql.tar.gz

    1. **安装与解压**:首先,用户需要将"benchmarksql-5.0-pg-oracle-mysql.tar.gz"文件解压到本地文件系统中,获取里面的程序文件和配置文件。 2. **配置数据库连接**:在解压后的配置文件中,用户需要配置所要测试...

    Oracle使用SQL语句创建用户及表空间

    Oracle使用SQL语句创建用户和表空间,比进EM创建更方便,更好控制,特别是对于不是自己创建的实例,对服务器也没有取得完全控制权的时候很方便。

    获取oracle表空间脚本

    本文将详细介绍如何编写并运行一个SQL查询来获取Oracle表空间的DDL(数据定义语言)脚本。 #### Oracle表空间概念 在Oracle数据库中,表空间是存储空间的逻辑划分。每个表空间由一个或多个数据文件组成,并且可以...

    Oracle-SQL-Developer 操作指南

    此外,Oracle SQL Developer 还提供了默认的JDBC瘦驱动程序连接方式,这使得用户在连接数据库时不需要安装完整的Oracle客户端,从而减少了安装配置的工作量和占用的空间。安装 Oracle SQL Developer 本身也是一个...

    Oracle-SQL.rar_oracle_oracle sql_sql

    在“Oracle-SQL.rar”这个压缩包中,包含了一份名为“Oracle SQL.ppt”的文件,这可能是一个PowerPoint演示文稿,用于详细讲解Oracle数据库的基础知识和SQL语言的使用。下面,我们将深入探讨一些Oracle SQL的基础...

    oracle创建表空间和用户.sql

    oracle创建表空间和用户.sql 适合初学者实用。

    oracle数据库用户 表空间创建

    根据给定的文件信息,我们可以总结出以下关于Oracle数据库中用户和表空间创建的相关知识点: ### 一、Oracle表空间创建 #### 1. 表空间概念 在Oracle数据库中,表空间是逻辑存储单元,它由一个或多个数据文件组成...

    Oracle可视化工具sqldeveloper-23.1.0.097.1607-x64

    SQL Developer 支持多个版本的 Oracle 数据库,包括最新的 Oracle 19c 和旧版本如 11g、12c 等,确保用户能够在各种环境中顺利工作。 综上所述,Oracle SQL Developer 是一个全面的数据库管理工具,适用于数据库...

    oracle创建表空间创建用户分配权限例程详解

    ### Oracle 创建表空间、创建用户及分配权限的例程详解 #### 一、概述 在 Oracle 数据库管理中,创建表空间、用户以及为这些用户分配相应的权限是一项基础且重要的任务。通过合理地规划和设置,可以有效地管理和...

    oracle创建表,索引,表空间,触发器,schema用户,序列的Sql文

    以上是Oracle数据库中创建表、索引、表空间、触发器、用户和序列的基本操作。在实际应用中,根据业务需求可能还需要考虑其他因素,如分区、约束、存储过程、视图等。掌握这些基本操作对于理解和管理Oracle数据库至关...

    oracle创建表空间用户等

    ### Oracle 创建表空间、用户及分配权限详解 在Oracle数据库管理中,创建表空间和用户是常见的基础操作之一。本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自...

    Oracle-DBA-数据库日常维护手册-常用SQL-脚本.pdf

    监控表空间使用情况有助于发现空间碎片化问题,从而决定是否需要整理或扩展表空间。 **SQL 查询示例:** ```sql SELECT tablespace_name, COUNT(*) chunks, MAX(bytes / 1024 / 1024) max_chunk FROM dba_free_...

    查看Oracle表空间的sql语句

    查看oracle表空间和临时表空间的使用情况、当前用户下的表所占空间大小表空间物理文件的名称和大小,是oracle DBA的利器哦

    oracle表空间学习整理,包括常用sql

    本篇文章将深入探讨Oracle表空间的概念、作用、创建方法以及常用的SQL语句,帮助你更好地理解和管理数据库资源。 一、Oracle表空间概念 在Oracle数据库中,表空间是逻辑存储单元,用于组织数据库对象,如表、索引和...

    linux下创建oracle用户表空间

    "Linux 下创建 Oracle 用户表空间" Linux 下创建 Oracle 用户表空间是指在已有的数据库实例上创建一个新的帐号,访问一些新的表操作。以下是创建用户表空间的步骤: 第一个步骤是登录 Linux,以 oracle 用户登录...

    oracle建立用户表空间脚本

    ### Oracle建立用户与表空间脚本详解 #### 一、Oracle表空间概念解析 在Oracle数据库中,数据存储的基本单位是表空间(Tablespace)。一个表空间由一个或多个数据文件组成,这些数据文件用于存储数据库中的数据。...

    脚本-Oracle释放过度使用的Undo表空间

    当用户进行增删改操作时,系统会自动在Undo表空间中生成对应的Undo记录,以便在需要时能够恢复到之前的状态。 #### 2. Undo表空间的管理与优化 为了确保数据库高效运行,合理地管理和优化Undo表空间是非常必要的。...

Global site tag (gtag.js) - Google Analytics