精华内容
下载资源
问答
  • oracle schema

    2015-08-20 09:29:32
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。 我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.). Schema objects are...

    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。

    我们先来看一下他们的定义:
    A schema is a collection of database objects (used by a user.).
    Schema objects are the logical structures that directly refer to the database’s data.
    A user is a name defined in the database that can connect to and access objects.
    Schemas and users help database administrators manage database security.

    从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schema,schema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

    一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。

    一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。类似如果我们在创建对象时不指定该对象的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果我们在创建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,我们需要在创建对象时指定该对象的表空间。

    咳,说了这么多,给大家举个例子,否则,一切枯燥无味!
    SQL> Gruant dba to scott

    SQL> create table test(name char(10));
    Table created.

    SQL> create table system.test(name char(10));
    Table created.

    SQL> insert into test values('scott');
    1 row created.

    SQL> insert into system.test values('system');
    1 row created.

    SQL> commit;
    Commit complete.

    SQL> conn system/manager
    Connected.

    SQL> select * from test;
    NAME
    ----------
    system

    SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改变用户缺省schema名
    Session altered.

    SQL> select * from test;
    NAME
    ----------
    scott

    SQL> select owner ,table_name from dba_tables where table_name=upper('test');
    OWNER TABLE_NAME
    ------------------------------ ------------------------------
    SCOTT TEST
    SYSTEM TEST
    --上面这个查询就是我说将schema作为user的别名的依据。实际上在使用上,shcema与user完全一样,没有什么区别,在出现schema名的地方也可以出现user名。

    展开全文
  • Oracle Schema

    2017-03-20 13:50:00
    1、这是Schema的definition: A schema is a collection of database objects (used by a user.)Schema objects are the logical structures that directly refer to the database’s data.A user is a name defined...

    1、这是Schema的definition:

    A schema is a collection of database objects (used by a user.) 
    Schema objects are the logical structures that directly refer to the database’s data.
    A user is a name defined in the database that can connect to and access objects.
    Schemas and users help database administrators manage database security.

    Schema是数据库对象(Not 数据库)的一个集合,为了区分各个集合,我们需要给集合取个名字。方便管理数据库对象。

    我们在登录PL/SQL Development开发工具后会看到

    展开红框

    左图这些类似用户名的节点就是Schema,一个Schema对象包括了

     左图都是属于schema的对象

    2、Schema和Oracle 用户的关系

    Note:This statement does not actually create a schema. Oracle Database automatically creates a schema when you create a user (see CREATE USER). 

    大致的意思是:Schema是当你创建一个Oracle用户时,Oracle会自动给你创建一个Schema。

    一个用户有一个默认的Schema,该用户的Schema名就等于用户名,Oracle数据库不能新建一个Schema,要想新创建一个Schema,只能通过新建一个用户的方式,Oracle 中虽然有create schema的语句,但是他不是用来创建Schema的,下面是文档对Create Schema的作用的解释

    use the create schema statement to create multiple tables and views and perform multiple grants in your own schema in a single transaction.
    To execute a CREATE SCHEMA statement, Oracle Database executes each included statement. If all statements execute successfully, then the database commits the transaction. If any statement results in an error, then the database rolls back all the statements.

    大致意思是:在单个事务中创建多个表和视图,并在自己的schema中执行对这些表和视图的授权。后面的则是说明执行create schema语句,遵守事务的原则,如果其中的一条语句执行失败,那么整个操作会回滚。

     

    3、使用Schema

    (1)、当我们访问一个表时,如果没有在表前面加上Schema名(也就是用户名),那么Oracle就会给我们加上默认的Schema名(也就是当前登录的用户名),比如我们在访问数据库时,访问scott用户下的emp表,通过

    select * from emp;

    其实,这sql语句的完整写法为

    select * from scott.emp

    (2)、在Oracle中表示一个数据库对象应该是Schema.object  而不是user.object 虽然在代码上是一样的,但是意义上是不一样的

     

    (3)、创建数据库对象(不是创建数据库,而是创建table之类的数据库对象)时,需要注意的是:如果我们在创建数据库对象时,不指定Schema,那么Oracle就会使用默认的Schema(即当前用户的用户名)

     

    转载于:https://www.cnblogs.com/GreenLeaves/p/6588342.html

    展开全文
  • Oracle schema

    2008-06-18 09:11:00
    我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data.A user is a name ...

    我们先来看一下他们的定义:

     A schema is a collection of database objects (used by a user.).

    Schema objects are the logical structures that directly refer to the database’s data.

    A user is a name defined in the database that can connect to and access objects.

    Schemas and users help database administrators manage database security.

    从定义中我们可以看出schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字,这些名字就是我们在企业管理器的方案下看到的许多类似用户名的节点,这些类似用户名的节点其实就是一个schemaschema里面包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。

    一个用户一般对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema。这也就是我们在企业管理器的方案下看到schema名都为数据库用户名的原因。Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决(Oracle中虽然有create schema语句,但是它并不是用来创建一个schema的),在创建一个用户的同时为这个用户创建一个与用户名同名的schem并作为该用户的缺省shcema。即schema的个数同user的个数相同,而且schema名字同user名字一一 对应并且相同,所有我们可以称schema为user的别名,虽然这样说并不准确,但是更容易理解一些。

    一个用户有一个缺省的schema,其schema名就等于用户名,当然一个用户还可以使用其他的schema。如果我们访问一个表时,没有指明该表属于哪一个schema中的,系统就会自动给我们在表上加上缺省的sheman名。比如我们在访问数据库时,访问scott用户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。在数据库中一个对象的完整名称为schema.object,而不属user.object。类似如果我们在创建对象时不指定该对象的schema,在该对象的schema为用户的缺省schema。这就像一个用户有一个缺省的表空间,但是该用户还可以使用其他的表空间,如果我们在创建对象时不指定表空间,则对象存储在缺省表空间中,要想让对象存储在其他表空间中,我们需要在创建对象时指定该对象的表空间。

    咳,说了这么多,给大家举个例子,否则,一切枯燥无味!

    SQL> Gruant dba to scott
    
    
    
    SQL> create table test(name char(10));
    
    Table created.
    
    
    
    SQL> create table system.test(name char(10));
    
    Table created.
    
    
    
    SQL> insert into test values('scott'); 
    
    1 row created.
    
    
    
    SQL> insert into system.test values('system');
    
    1 row created.
    
    
    SQL> commit;
    
    Commit complete.
    
    
    SQL> conn system/manager
    
    Connected.
    
    
    SQL> select * from test;
    
    NAME
    
    ----------
    
    system
    
    
    SQL> ALTER SESSION SET CURRENT_SCHEMA = scott; --改变用户缺省schema名
    
    Session altered.
    
    
    
    SQL> select * from test;
    
    NAME
    
    ----------
    
    scott
    
    
    SQL> select owner ,table_name from dba_tables where table_name=upper('test');
    
    OWNER TABLE_NAME
    
    ------------------------------ ------------------------------
    
    SCOTT TEST
    
    SYSTEM TEST

    --上面这个查询就是我说将schema作为user的别名的依据。实际上在使用上,shcema与user完全一样,没有什么区别,在出现schema名的地方也可以出现user名。

    展开全文
  • 修改oracle 用户schema

    2019-09-13 07:10:24
    oracleschema用户是一一对应的关系,当创建一个用户默认会为创建一个与用户名相同的schema。现在系统中有部分表在用户A下,业务需求创建用户B能够查询A用户创建的表;登录B用户发现表不存在,于是网上找了...

    在oracle 中schema与用户是一一对应的关系,当创建一个用户默认会为创建一个与用户名相同的schema。现在系统中有部分表在用户A下,业务需求创建用户B能够查询A用户创建的表;登录B用户发现表不存在,于是网上找了一番,最终有一下方案解决:

    方案一:

        B用户查询时带上A用户的schema,例:

    select * from A.table

     

    方案二:

        临时修改当前用户的schema,执行下面SQL

    alter session set current_schema= A(schema);
    
    select * from table;
    

     

    方案三:

        after log on事件上做触发器执行上面的语句

    create or replace trigger set_default_schema
    after logon on B.schema
    begin
    execute immediate 'alter session set current_schema=A(schema)';

     

    转载于:https://my.oschina.net/u/2321834/blog/2907107

    展开全文
  • oracle schema 详解

    千次阅读 2013-09-10 14:48:56
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。 我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.). Schema objects are the...
  • Oracle schema理解

    2012-03-16 12:14:03
    A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data. A user is a name defined in the
  • oracle schema 方案

    2011-04-22 11:27:00
    <br />我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data....
  • Hibernate oracle schema

    2014-05-27 11:15:13
    jdbc.driverClass=oracle.jdbc.driver.OracleDriver jdbc.url=jdbc:oracle:thin:@xxx.xxx.xx.xx:1521:ORCL jdbc.user=XY_THANG jdbc.password=123 hibernate.dialect=org....
  • Oracle schema 方案!

    2011-09-07 22:38:53
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。 我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.).  Schema obj
  • Oracle schema 级别的数据迁移

    千次阅读 2011-10-18 14:11:25
    Oracle schema 级别的数据迁移    最近一段时间,跟着两个项目组,做ORACLE DB相关的支持工作,因为项目属于开发阶段,总有一些数据库的复制工作,比较了几种方法,感觉用EXPDP/IMPDP还不错,能顺利实现开发人员...
  • oracle schema objects 模式对象

    千次阅读 2011-10-19 12:32:50
    schema是特定用户拥有的数据库对象的集合,schema和数据库用户有相同的名字,因此两个术语是同义的(synonymous) schema objects包含你在表空间中看到的段(表,索引等),也包含用户拥有的非段的数据库对象。这些...
  • ORACLE Schema 的理解

    2009-12-25 14:12:00
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。我们先来看一下他们的定义:A schema is a collection of database objects (used by a user.). Schema objects are the ...
  • Oracle schema的理解

    千次阅读 2009-08-23 03:03:00
    A schema is a collection of database objects (used by a user.). Schema objects are the logical structures that directly refer to the database’s data. A user is a name defined in the
  • 什么是oracle schema

    千次阅读 2007-06-19 23:06:00
    1 schema的翻译问题 在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据...
  • 用于比较用户下面的表、索引,并生成同步SQL。 可以比较表、列、主键、外键、索引。
  • Oracle Schema和user的区别

    千次阅读 2010-07-20 13:14:00
    user即Oracle中的用户,和所有系统的中用户概念类似,用户所持有的是系统的权限及资源; 非所有者如果需要访问这个容器下的对象就需要在对象前面写上schema(owner)的名字,如果不想写而又没有创建syn
  • Oracle上进行一些操作例如:upgrades,patches和DDL操作会导致某些schema objects的失效。Oracle是提供了在需要调用时自动重新编译的功能,但是有时这会比较耗时(可能会引发某些锁),特别是针对一些有复杂依赖...
  • oracleschema

    2012-03-28 22:41:33
    oracle中什么是schemaschema定义: A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user. Schema objects are logical structures ...
  • Oracleschema理解

    2018-12-15 14:37:28
    Oracle中,一个用户就是一个Schema,表都是建立在Schema中的,也可以理解为每个用户拥有不同的表。一个用户想访问另外一个用户,也就是另外一个schema的表的时候, 可以用 username.tablename的形式来访问,完全不...
  • Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。创建新用户:CREATE USER 用户名IDENTIFIEDBY 密码DEFAULT TABLESPACE 表空间(默认USERS)TEMPORARY TABLESPACE 临时表空间...
  • Oracle新建Schema

    千次阅读 2018-03-27 11:36:06
    转载地址:...Oracle新建Schema 1.首先,创建(新)用户: create user username identified by password; username:新用户名的用户名 password: 新用户的密码 也可以不创建新用户,而仍然...
  • oracle HR schema create

    2010-11-29 10:11:30
    如果在安装ORACLE时没有安装HR schema,可以通过以下的资源对其进行创建。资源内包含了创建HR用户所需要的.sql档和具体操作说明。 路径可以根据自己的实际情况进行修改。
  • Oracle 创建 Schema

    千次阅读 2016-09-18 10:49:59
    -- 查看当前已有的用户 SELECT Username FROM dba_users;-- 创建临时 CREATE USER gzmpc IDENTIFIED BY PASSWORD;-- 授权 GRANT CREATE SESSION TO gzmpc;CREATE TABLESPACE gzmoc_wk DATAFILE 'gzmoc_wk.dat' SIZE ...
  • Oracle 创建 schema

    2011-05-07 10:03:16
    schema就是一些数据库对象的集合 ,如 表 索引 sequence等(查看文档或者oracle10g EM)。一个用户一般对应一个schema(什么情况不对应一个schema还不知道)。这么设计是方便用户和数据库对象的管理。因此,创建...
  • oracle查看schema_name

    千次阅读 2020-12-04 12:52:49
    oracle查看当前用户schema_name select SYS_CONTEXT('USERENV','CURRENT_SCHEMA') CURRENT_SCHEMA from dual;
  • oracleschema

    千次阅读 2019-05-21 23:02:29
    看来有的人还是对schema的真正含义不太理解,现在我再次整理了一下,希望对大家有所帮助。 我们先来看一下他们的定义: A schema is a collection of database objects (used by a user.).Schema objects are the ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,899
精华内容 30,759
关键字:

oracleschema用户