详解Oracle建立用户和对用户的管理Oracle认证考试

文章作者 100test 发表时间 2009:04:09 23:22:33
来源 100Test.Com百考试题网


  # 合法的Oracle标识符号
  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 sys/sysadmin@hostname_services as sysdba.
  然后查看表空间
  0select tablespace_name,contents from dba_tablespacesorder by tablespace_name.
  使用USER表空间代替SYSTEM表空间
  alter user angeos default tablespace userstemporary tablespace temp.
  尝试建立一张表
  create table table1(fieldA varchar2(10))
  # 删除用户
  angeos
  0drop user angeos.
  由于用户angeos有一张表table1,所以删除用户时,我们需要指定关键字CASCADE
  0drop user angeos cascade.
  # 解释术语模式Schema
  数据库的模式定义为数据库对象的集合,而模式的名称就是拥有或者控制这个数据库对象集合的用户名称。
  所有数据库对象,例如表、视图、索引、触发器、Java存储过程、PL/SQL程序包,函数等,都是由Oracle
  数据库中的一个用户所拥有。甚至Oracle的数据词典,系统编目也是名为SYS的模式的一部分。
  用户的传统解释就是能够唯一标识一组信任凭证的名称和密码组合。
  # 解释系统特权
  在Oracle数据库中有两类特权:
  (1)对象级别特权是由用户赋予的访问或者操作数据库对象的特权。
  (2)系统特权不是控制对指定数据库对象的访问,而是用来许可对各种特性的访问,或者许可Oracle数据库中的特定任务。
  查询特权
  connect system/sysadmin
  desc dba_sys_privs.
  查询
  0select 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.] ( [default ] [][, [default ] []][,...]).
  # 建表的例子********************************************************************CREATE TABLE CD_COLLECTION (ALBUM_TITLE VARCHAR2(100),ARTISTVARCHAR2(100),COUNTRYVARCHAR2(25),RELEASE_DATE DATE,LABELVARCHAR2(25),PRIMARY KEY (ALBUM_TITLE, ARTIST)).********************************************************************CREATE TABLE seagal.SONGS (SONG_TITLEVARCHAR2(100),COMPOSER VARCHAR2(100),LENGTHNUMBER,TRACKNUMBER,ARTISTVARCHAR2(100),ALBUM_TITLE VARCHAR2(100),FOREIGN KEY (ARTIST, ALBUM_TITLE) REFERENCES seagal.CD_COLLECTION(ARTIST, ALBUM_TITLE),PRIMARY KEY (SONG_TITLE, ARTIST, ALBUM_TITLE)).
  ********************************************************************0select * from seagal.cd_collection.0select * 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_COLLECTIONVALUES(’Candy Apple Grey’, ’Husker Du’, ’USA’,to_date(’01/01/86’,’DD/MM/YY’), ’Warner Brothers’).
  INSERT INTO seagal.SONGSVALUES(’Black Sheets of Rain’,’Mould’, NULL,1, ’Bob Mould’, ’Black Sheets of Rain’).
  INSERT INTO seagal.SONGSVALUES(’Crystal’,’Mould’, 3.28, 1, ’Husker Du’, ’Candy Apple Grey’).
  INSERT INTO seagal.SONGSVALUES(’Don’’t want to know if you are lonely ’,’Hart’, 3.28, 2, ’Husker Du’, ’Candy Apple Grey’).
  INSERT INTO seagal.SONGSVALUES(’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 0select * from scott.emp. # 数据词典 每一个数据库都有一个数据词典,任何管理Oracle数据库,或者使用Oracle构建应用的用户都需 要使用数据词典。 数据词典是Oracle数据库的编目。 当建立用户、表、约束和其它数据库对象的时候,Oracle都会自动维护一个在数据库中存储的项 目编目。 例如:USER_TABLES视图可以展示当前用户所拥有的所有表的信息。 使用DESCRIBE命令查看USER_TABLES视图的结构信息。 具有DBA权限的用户可以查看DBA_TABLES0select owner ,table_name,tablespace_name from dba_tables
  where owner in(’SCOTT’,’HR’)
  order by owner,tablesapce_name,table_name

相关文章


Oracle资格认证:简单解决复杂的OracleIAS问题Oracle认证考试
详解Oracle建立用户和对用户的管理Oracle认证考试
solaris下silent方式安装oracleclientOracle认证考试
安装配置:几个步骤搞定度量基线的设置Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛