`
younglibin
  • 浏览: 1207594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle--1 用户管理

 
阅读更多

1、不能是保留关键字
      2、必须使用1到30个字符。数据库的名称最多是8个字符。
3、必须以数据库字符集中的字母字符开头
4、只能够包含数据库字符集中的字母字符,以及以下字符:#、$、_,另外数据库链接可以包含
              @符号和'.'(句号)
5、不能包含引号

# 建立用户
create user angeos identified by angeos;
建立了用户:angeos,密码为:angeos


# 对用户授权
grant connect,resource to angeos;
对用户angeos授予了连接数据库和访问资源的权限


# 对用户授权
grant create session,dba to angeos;
CREATE SESSION是一个系统特权,它可以为用户提供连接数据库的能力。
DBA是一个具有超过120个系统特权的角色,所以它可以让用户在数据库中完成几乎任何工作。

# 改变用户的密码
alter user angeos identified by oracle;
将用户angeos的密码改变为:oracle

# 锁定帐号以及解锁
alter user oe account unlock;
然后用用户oe登录数据库服务器,密码为oe
注意:用户解锁后,要重启服务。

# 修改表空间的设置
默认情况下,它会使用表空间SYSTEM和TEMP(用于存放临时数据)。
不推荐采用这种方法。所以我们需要改变表空间。

通过系统用户连接数据库服务器
conn as sysdba;
然后查看表空间
select tablespace_name,contents from dba_tablespaces
order by tablespace_name;
使用USER表空间代替SYSTEM表空间
alter user angeos default tablespace users
temporary tablespace temp;

尝试建立一张表
create table table1
(
     fieldA varchar2(10)
)

# 删除用户angeos
drop user angeos;
由于用户angeos有一张表table1,所以删除用户时,我们需要指定关键字CASCADE
drop user angeos cascade;

# 解释术语模式Schema
数据库的模式定义为数据库对象的集合,而模式的名称就是拥有或者控制这个数据库对象集合的用户名称。
所有数据库对象,例如表、视图、索引、触发器、Java存储过程、PL/SQL程序包,函数等,都是由Oracle
数据库中的一个用户所拥有。甚至Oracle的数据词典,系统编目也是名为SYS的模式的一部分。

用户的传统解释就是能够唯一标识一组信任凭证的名称和密码组合。

# 解释系统特权
在Oracle数据库中有两类特权:
(1)对象级别特权是由用户赋予的访问或者操作数据库对象的特权。
(2)系统特权不是控制对指定数据库对象的访问,而是用来许可对各种特性的访问,或者许可Oracle数据库中的
         特定任务。

     查询特权
     connect system/sysadmin
     desc dba_sys_privs;
     查询
            select distinct privilege from dba_sys_privs order by privilege

     赋予系统特权的语句
     GRANT system_priviege to username [with admin option];
     撤销系统特权的语句
     REVOKE system_priviege from username;

     注意:在任何用户能够连接到Oracle数据库之前,都需要向它们赋予CREATE SESSION特权,为他们提供连接许可。

##################################
# 建立数据表
##################################

# 语法规则
CREATE TABLE [SCHEMA.] <tablename>(
     <coloumn_name> <datatype> [default <expression>] [<constraint>]
     [,<coloumn_name> <datatype> [default <expression>] [<constraint>]]
     [,...]
);

# 建表的例子
********************************************************************
CREATE TABLE CD_COLLECTION (
     ALBUM_TITLE     VARCHAR2(100),
     ARTIST      VARCHAR2(100),
     COUNTRY      VARCHAR2(25),
     RELEASE_DATE     DATE,
     LABEL      VARCHAR2(25),
     PRIMARY KEY (ALBUM_TITLE, ARTIST)
);
********************************************************************
CREATE TABLE seagal.SONGS (
     SONG_TITLE      VARCHAR2(100),
     COMPOSER     VARCHAR2(100),
     LENGTH      NUMBER,
     TRACK      NUMBER,
     ARTIST      VARCHAR2(100),
     ALBUM_TITLE     VARCHAR2(100),
     FOREIGN KEY (ARTIST, ALBUM_TITLE) REFERENCES seagal.CD_COLLECTION(ARTIST,         ALBUM_TITLE),
     PRIMARY KEY (SONG_TITLE, ARTIST, ALBUM_TITLE)
);


********************************************************************
select * from seagal.cd_collection;
select * from seagal.songs;
********************************************************************

********************************************************************
INSERT INTO seagal.CD_COLLECTION
VALUES('Black Sheets of Rain', 'Bob Mould', 'USA',to_date('01-01-92','DD-MM-YY'), 'Virgin');

INSERT INTO seagal.CD_COLLECTION
VALUES('Candy Apple Grey', 'Husker Du', 'USA',to_date('01/01/86','DD/MM/YY'), 'Warner Brothers');

INSERT INTO seagal.SONGS
VALUES('Black Sheets of Rain','Mould', NULL,1, 'Bob Mould', 'Black Sheets of Rain');

INSERT INTO seagal.SONGS
VALUES('Crystal','Mould', 3.28, 1, 'Husker Du', 'Candy Apple Grey');

INSERT INTO seagal.SONGS
VALUES('Don''t want to know if you are lonely ','Hart', 3.28, 2, 'Husker Du', 'Candy Apple Grey');

INSERT INTO seagal.SONGS
VALUES('I don''t know for sure','Mould', 3.28, 3, 'Husker Du', 'Candy Apple Grey');

INSERT INTO SONGS VALUES('Black Sheets of Rain','Mould', NULL,1, 'Bob Mould', 'Black Sheets of Rain');

COMMIT;
*******************************************************

******************************************************
DROP TABLE FRUITS;

CREATE TABLE FRUITS (
FRUIT VARCHAR2(12),
COLOR VARCHAR2(12),
QUANTITY NUMBER,
PRICE NUMBER,
PICKED DATE
);

INSERT INTO FRUITS VALUES('Apple', 'Green', 12, 0.5, '12-Sep-2002');
INSERT INTO FRUITS VALUES('Apple', 'Red', 12, 0.5, '15-Sep-2002');
INSERT INTO FRUITS VALUES('Mango', 'Yellow', 10, 1.5,
'22-Sep-2002');
INSERT INTO FRUITS VALUES('Mangosteen', 'Purple', 5, 2,
'25-Sep-2002');
INSERT INTO FRUITS VALUES('Durian', 'NULL', 2, 15, NULL);
INSERT INTO FRUITS VALUES('Orange', 'Orange', 10, 1.5, '28-Aug-2002');

COMMIT;
*********************************************************
COMMIT;

# CREATE TABLE AS SELECT的语句
通过查询一个表,并且将查询结果集物化到一个常规表中来建立表。
复制表的结构,但是约束、索引和触发器等对象不会被放入新的表中。

例子:
create table emp_copy as
select * from scott.emp;

# 数据词典
每一个数据库都有一个数据词典,任何管理Oracle数据库,或者使用Oracle构建应用的用户都需       要使用数据词典。
数据词典是Oracle数据库的编目。
当建立用户、表、约束和其它数据库对象的时候,Oracle都会自动维护一个在数据库中存储的项        目编目。

例如:USER_TABLES视图可以展示当前用户所拥有的所有表的信息。
     使用DESCRIBE命令查看USER_TABLES视图的结构信息。

具有DBA权限的用户可以查看DBA_TABLES
select owner ,table_name,tablespace_name from dba_tables
where owner in('SCOTT','HR')
order by owner,tablesapce_name,table_name

分享到:
评论

相关推荐

    oracle-xe-11.2.0-1.0.x86_64.rpm.zip

    RPM 包含了 Oracle XE 的所有必要组件和配置文件,使得用户能够在支持 RPM 的操作系统上便捷地安装和管理 Oracle 数据库。 "oracle-xe-11.2.0" 这个标签强调了这个版本的具体信息,Oracle XE 11.2.0 是在 2011 年...

    oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

    这个特定的版本,“oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm”,是针对64位Linux系统的,版本号为12.1.0.2.0,它包含了一些基本的组件,以支持客户端应用程序连接到Oracle数据库服务器。 Oracle ...

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm”文件是Oracle Instant Client的11.2版本的基本组件,适用于64位(x86_64)的Linux系统,并采用RPM(Red Hat Package Manager)格式进行打包,便于安装和管理。...

    安装oracle11gR2数据库环境快速准备神器oracle-rdbms-server-11gR2-preinstall

    2. **创建Oracle用户和组**:数据库服务通常以特定的用户身份运行,这个工具会自动创建名为"oracle"的用户和相应的用户组,为数据库提供安全的运行环境。 3. **配置内核参数**:根据Oracle的最佳实践,工具会自动...

    oracle-database-server-12cR2-preinstall

    1. **依赖管理**:该包自动处理Oracle数据库所需的各种库和工具的安装,如GCC编译器、开发工具包、kernel-headers和kernel-devel等,确保系统满足所有必要的先决条件。 2. **系统调整**:预安装过程会检查并调整...

    sqlplus 11.2 安装包oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm"是一个专为64位Linux系统设计的Oracle Instant Client Basic组件,包含了SQL*Plus工具,便于用户在不完整安装Oracle数据库的情况下,进行数据库管理和开发...

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64/sqlplus/devel

    这个特定的版本,“oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64”,是指Oracle Instant Client的11.2版,基础组件,适用于64位(x86_64)Linux系统。此版本号中的“11.2.0.4.0”代表Oracle数据库的版本,而...

    oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.zip

    "oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm"是Red Hat Package Manager (RPM)格式的安装包,这是Linux发行版中常见的软件包管理方式。用户可以通过RPM工具来安装、升级或卸载这个组件,简化了部署和...

    geoserver-2.13.2-oracle-plugin.zip

    总的来说,GeoServer 2.13.2与Oracle插件的结合,为用户提供了一套强大的地理空间数据发布平台,无论你是GIS专业人士还是初学者,都可以通过这个组合轻松地管理和分享地理信息。通过学习和掌握GeoServer的使用,以及...

    oracle-instantclient.11.2.zip

    这个"oracle-instantclient.11.2.zip"压缩包包含了版本11.2的Instant Client,适用于那些希望在不安装完整Oracle数据库客户端的情况下进行数据库交互的用户。以下是对这个组件的详细介绍以及如何使用Navicat进行连接...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar

    在本案例中,我们讨论的是Oracle Instant Client的11.2版本,特别是针对SQL*Plus组件的安装包,文件名为"oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.rar",这表明这是一个RAR格式的压缩包,内含一个适用于x86_...

    oracle-instantclient-12.2.0.1.0-1.x86_64的rpm格式

    总结来说,“oracle-instantclient-12.2.0.1.0-1.x86_64.rpm”的安装和使用涉及到Oracle数据库连接技术、Linux软件包管理、64位架构支持以及系统环境变量配置等多个方面,对于需要与Oracle数据库交互的应用程序或...

    cx_oracle-5.12-10g-win32(py2.7and3.+).rar

    1. **Oracle 10g**:Oracle 10g是Oracle公司发布的一款关系型数据库管理系统,其名称中的"g"代表"grid",强调网格计算能力。它提供了一整套数据库解决方案,包括高性能、高可用性、安全性以及易管理性等特性。 2. *...

    oracle-support oracleasmlib kmod-oracleasm包

    Oracle Support for Oracle ASM (Automatic Storage Management) 和 Kmod-OracleASM 包是Oracle数据库系统在Linux环境下进行存储管理的关键组件。这些包确保了在Red Hat Enterprise Linux (RHEL)、CentOS以及Oracle ...

    twp-oracle-database-in-memory-2245633-zhs.pdf

    Oracle Database In-Memory还能够自动优化数据,提供用户定义的自动数据优化(ADO)策略,以及自动内存管理功能,从而为用户提供智能化的数据管理体验。 对于RAC(Real Application Clusters)的支持,使得Oracle ...

    oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64

    本压缩包"oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64"是针对11.2版本的Oracle Instant Client,并包含了SQL*Plus组件,适用于x86_64架构的Linux系统。RPM(Red Hat Package Manager)格式则是Linux系统...

    oracle-instantclient11.2-devel-和-sqlplus.rpm.zip

    2. `oracle-instantclient11.2-devel-11.2.0.4.0-1.i386.rpm`:这是Oracle Instant Client的开发包,包含头文件和库,用于在32位系统上构建和运行与Oracle数据库连接的应用程序。开发人员可以使用这些资源来编译和...

Global site tag (gtag.js) - Google Analytics