当前位置:文档之家› 甲骨文数据库oracle个人学习(OCP-042)

甲骨文数据库oracle个人学习(OCP-042)

甲骨文数据库oracle个人学习(OCP-042)
甲骨文数据库oracle个人学习(OCP-042)

一、创建oracle数据库

1.数据库制定计划

1)组成表空间的多个数据文件实际存储在哪些磁盘驱动器上。

2)制定备份策略,通过变更数据库的逻辑存储结构或设计可以提高备份效率。

2.典型的数据库类型:

1)数据仓库:长期存放数据

2)事务处理数据库:处理数量很多但规模通常较小的事务。ATM.结账收款系统

3)通过数据库

3.删除数据库

1)数据库必须装载且已关闭

2)必须以独占方式而不是以共享模式装载数据库

3)数据必须装载为Restricted

4)删除语句Drop database,会删除数据文件、重做日志文件、控制文件和初始

化参数文件。对归档日志、数据库副本或备份不起作用。

5)如果数据文件保存在RAW设备中,则不会删除RAW设备专用文件。

二、管理ORACLE实例

1.启动和停止dababase control

1)emctl start|stop|status dbconsole

2)执行程序emctl在$oracle_home/bin 路径下

2.从SQL*PLUS 下调用SQL脚本

1)sqlplus hr/hr @script.sql

2)sql> @script.sql

3.初始化参数文件

1)服务器参数文件spfile.ora 路径:$ORACLE_HOME/dbs

2)文本初始化文件init.ora 路径:$ORACLE_HOME/dbs

4.关闭数据库

1)sql> shutdown abort| immediate | transactional | normal

5.启动数据库

1)sql> startup force | restrict | mount |open |nomount

6.预警日志记录:/u01/app/oracle/admin/orcl/bdump/alert_.log

7.动态性能视图

1)建立在根据数据库服务器内的内存结构构建的虚拟表基础上。

2)DICT和DICT_COLUMNS视图包含这些动态性能视图的名称。

3)几种常用性能视图:

①.v$fixed_table 了解所有性能视图名称

②.V$SQL

③.V$SESSION

④.V$DATAFILE查看数据库数据文件的状态

⑤.V$LOCK

三、O RACLE存储结构

1.数据库块:内容

1)块头:段类型(表、索引),数据块地址、表目录、行目录和事务处理查处插

槽。

2)行数据

3)空闲空间:位于上述两者之间

2.表空间和数据文件:

1)一个数据库最多可以包含65534个数据文件。

2)至少两个表空间SYSTEM SYSAUX

3)一个数据库至少有一个表空间,一个表空间至少一个数据文件。

4)事件记录:对表空间对象所做的更改会写入重做日志,如果未启用事件记录,

则使用SQLLOADER的任何直接加载和直接加载INSERT操作都不会写入到重做

日志。

3.预置表空间

1)system

2)sysaux

3)temp

4)undotbs1

5)users

6)example

4.查看表空间信息

1)表空间信息

①.dba_tablespaces

②.v$tablespace

2)数据文件信息

①.dba_data_files

②.v$datafile

3)临时文件信息

①.dba_temp_files

②.v$tempfile

5.ASM 自动存储管理

1)将文件系统与卷管理器纵向集成在一起。

2)提供冗余的数据副本来提供容错能力。数据管理是通过为数据类选择期望的可

靠性和性能特性实现的。

3)概念:

①.数据库文件可作为ASM文件进行存储,其层次上端是ASM磁盘组。任何

单个ASM文件只能包含在一个磁盘组中。但一个磁盘组可能包含属于多

个数据库的文件。一个数据库可能使用多个磁盘组中的存储空间。

②.ASM磁盘按分配单位进行分区,每个分配单位为一兆字节。

4)功能和特点

①.将文件划分为区,并均匀分布在所有磁盘上。

②.使用索引技术跟踪每个区的位置。

③.为每个文件提供镜像冗余

④.仅支持ORACLE数据库文件类型。

⑤.支持RAC,不再需要使用集群逻辑卷管理器或集群文件系统

四、管理用户安全

1.数据库用户账户

要访问数据库,用户必须指定有效的数据库用户帐户,而且还要根据该用户帐

户的要求成功通过验证。每一个数据库用户都有自己的数据库帐户。这是

Oracle 的最佳实践建议,这样可避免存在潜在的安全漏洞,为特定的审计活

动提供有意义的数据。但是,在极少数情况下,若干用户会共享一个公用数据

库帐户。此时,操作系统和应用程序必须为数据库提供足够的安全性。每一个

用户帐户包括:

1)唯一的用户名:用户名不能超过30 个字节,不能包含特殊字符,而且必须以

字母

开头。

2)验证方法:最常见的验证方法是口令,但是Oracle Database 10g 支持其它多

种验证方法,包括生物统计学验证、证书验证和标记验证。

3)默认表空间:如果用户未指定其它表空间,则可在这个表空间中创建对象。请

注意,具有默认表空间并不意味着用户具有在该表空间创建对象的权限,也不

意味着用户具有该表空间(用于创建对象)中的空间限额。这两项需要另外单

独授权。

4)临时表空间:用户可在其中创建临时对象(如排序和临时表)的表空间。

5)用户概要文件:分配给用户的一组资源与口令的限制。

6)使用者组:由资源管理器使用。

7)锁定状态:用户只可访问“未锁定”帐户。

2.预定义账户:SYS 和SYSTEM

1)默认情况下,SYS 和SYSTEM 帐户授予了数据库管理员(DBA) 角色。

此外,SYS 帐户还具有ADMIN OPTION 的所有权限,而且拥有数据字典。要连接到SYS 帐户,必须使用AS SYSDBA 子句(不管SQLPLUS 后跟的是其他

用户,如sqlplus tom/tom as sysdaba,sysdba是一种权限,同sysoper)。任何

授予了SYSDBA 权限的用户均可通过使用AS SYSDBA 子句连接到SYS 帐户。

只有授予了SYSDBA 或SYSOPER 权限的“授权”用户才可以启动或关闭数据

库实例。

注意:sql> show parameter o7显示O7_DICTIONARY_ACCESSIBILITY参数值。

该参数为true,表示any的范围包括sys的对象,可以使用conn sys/pass登录而

不加as sysdba选项,进入的是数据库的sys,是数据库的拥有者.而不是操作系统

的sys,conn / as sysdba 等于原来的internal.

若该参数为false,表示any的范围剔除sys的对象Select any table/Drop any table

等系统权限

2)默认情况下,SYSTEM 帐户授予了DBA 角色,而不是SYSDBA 权限。

3)最佳实践提示:如果应用最少权限原则,则不在例行程序操作中使用这些帐户。

需要DBA 权限的用户另外拥有授予了所需权限的独立帐户。例如,Jim 有一

个名为jim 的低权限帐户及一个名为jim_dba 的授权帐户。使用此方法可应

用最少权限原则,不需要共享帐户,而且可审计各项操作。

4)SYS 和SYSTEM 帐户是数据库中必需存在的帐户,不能将其删除。

SYS是操作系统级别的认证用户(即,可以登录到系统,就可以以SYS用户连

接数据库)

5)SYSTEM没有关闭、启动实例的权限。可以承担日常的管理任务,如创建表空

间。

6)密码文件$orache_home/dbs/orapw

7)授权用户:

grant sysdba to user_name

revoke sysdba from user_name

select * from v$PWFILE_USERS 查看管理员密码文件授权情况

3.验证用户:

验证指的是对要使用数据、资源或应用程序的用户、设备或其它实体的身份进行验证。通过对该身份进行验证可建立一种信任关系,从而可进一步执行交互。通过验证可将访问和操作与特定的身份联系起来,从而实现可靠性。完成验证后,验证流程可允许或限制该实体许可的访问和操作的级别。

创建用户时,必须确定要使用的验证方法,以后可修改此方法。

1)口令:又称为Oracle 数据库验证。创建的每一个用户都有一个关联口令,用

户尝试建立连接时,必须提供这个口令。设置口令时,可以使该口令立即失效,

这会强制用户在首次登录后更改口令。如果决定要使用户口令失效,请确保用

户能够更改口令。有些应用程序不具备此功能。

①.在(客户机/服务器之间和服务器/服务器之间)建立网络连接期间,系统

总是先通过使用修改过的数据加密标准(DES) 算法,以自动透明方式对

口令加密,然后通过网络发送这些口令。

2)外部验证:又称操作系统验证。用户可以在不指定用户名或口令的情况下连接

到Oracle 数据库。使用外部验证时,数据库依赖于基础操作系统或网络验证

服务来限制对数据库帐户的访问。数据库口令不会用于此类登录。如果操作系

统或网络服务允许的话,可以使用外部验证来验证用户。如果要执行此操作,

请设置OS_AUTHENT_PREFIX 初始化参数,并在Oracle 用户名中使用此前缀。

OS_AUTHENT_PREFIX 参数定义了一个前缀,Oracle 数据库会在每个用户的操

作系统帐户名之前添加此前缀。为了实现与Oracle 软件早期版本的向后兼

容,此参数的默认值为OPS$。用户尝试建立连接时,Oracle 数据库会将带前

缀的用户名与数据库中的Oracle 用户名进行比较。例如,假定

OS_AUTHENT_PREFIX 设置如下:

OS_AUTHENT_PREFIX=OPS$

如果某个用户的操作系统帐户名为tsmith,它需要连接到Oracle 数据库而且

已由操作系统验证,那么Oracle 数据库会检查是否存在一个对应的数据库用

户OPS$tsmith,如果存在这样的用户,则允许该用户建立连接。在用户(已

由操作系统验证)的所有引用中必须包含OPS$tsmith 中显示的前缀。

注:在某些操作系统中,OS_AUTHENT_PREFIX 初始化参数的文本是区分大小

写的。有关此初始化参数的详细信息,请参阅特定操作系统的Oracle 文档。

3)全局验证:使用Oracle Advanced Security 选项时,可通过全局验证(一种严

格的验证方法)并使用生物统计学、x509 证书、标记设备和Oracle Internet

Directory 来识别用户。

4.管理员验证

1)操作系统安全性

2)管理员安全性

①.通过口令文件或操作系统验证SYSDBA和SYSOPER连接。

②.对于sysdba\sysoper,操作系统验证优先于口令文件验证

③.口令文件验证会按名称记录DBA 用户。

④.操作系统验证并不记录具体用户。

5.权限:

1)系统权限

①.SYSDBA&SYSOPER: 使用这两个权限可以在数据库中执行关闭、启动、恢

复及其它管理任务。使用SYSOPER 用户可执行基本操作任务,但不能查

看用户数据。

②.RESTRICTED SESSION:使用此权限您可以登录,即使数据库是在受限模式

下打开的。

③.GRANT ANY OBJECT PRIVILEGE:使用此权限,您可以授予对他人所拥有的

对象的对象权限。

④.ALTER DATABASE 和ALTER SYSTEM:这些权限的作用很强,可用于修改数

据库和Oracle 实例,如重命名数据文件或刷新缓冲区高速缓存。

2)对象权限

6.撤销具有ADMIN OPTION 的对象权限

1)不能级联收回权限(被二次授予他人的权限)

7.撤销具有GRANT OPTION 的对象权限

1)能级联收回权限(被二次授予他人的权限)

8.保护角色

1)alter role role_name identified by password

2)set role role_name [identified by password]

3)alter user user_name default role none

4)alter user user_name default role role_name

5)select * from dba_roles

6)select * from dba_role_privs

7)select * from dba_sys_privs

五、管理用户方案

1.定义

1)方案是指由特定用户拥有的数据库对象的集合,方案对象是指直接引用数据库

数据的逻辑结构。

2)方案不一定需要与单个表空间直接相关。可以定义一些配置,以使一个方案中

的对象可以保存在不同的表空间中,一个表空间也可以保存不同方案中的对

象。

2.命名数据库对象

1)数据库名称为8个字节。其他对象是1-30字字节。

2)不带引号的名称不能采用ORACLE保留字。

3)强烈反对在不带引号的标识符中使用$ 和#。

3.完整性约束条件:

1)几种约束:

①.NOT NULL

②.UNIQUE KEY

③.PRIMARY KEY:唯一索引、NOT NULL

④.引用完整性约束条件:对于每个表行,引用完整性约束条件要求外键中的

值必须与父键中的值匹配。

被引用的列有唯一约束或者主键约束,因为引用的是索引的键值,而不是

真正的表。目的是维护数据的完整性。

alter table e add constraint fk_e foreign key (deptno) references d(deptno)

⑤.检查约束条件:单个列或一组列的CHECK 完整性约束条件要求为每个表

行指定的条件必须为真或未知。如果数据操纵语言(DML) 语句对CHECK

约束条件的求值为假,则会回退语句。

Create table t1(name varchar2(8) check (length(name)>4), Mail

varchar2(10) );

2)查看约束:

select CONSTRAINT_NAME,CONSTRAINT_type,TABLE_NAME,column_name from user_constraints natural join user_cons_columns;

如果DDL语句中没有提供约束名称,则分配系统提供的名称,该名称是以SYS_开头。

3)查看索引:

Select table_name,index_name,column_name from user_ind_columns;

4)违反约束条件:提交不符合约束条件的DML时就会出现此情况:

插入重复的主键值

删除引用完整性约束条件中的子行的父行。

更新后的列值超出了检查约束条件的范围

5)建立及删除级连的外键

alter table e add constraint fk_e foreign key (deptno) references d (deptno ) on delete set null

父表的值被删除,子表的相关列自动被赋予NULL值。

alter table e add constraint fk_e foreign key (deptno) references d (deptno ) on

delete cascade

父表的值被删除,子表的相关行自动被删除。

6)约束条件状态:

①.?DISABLE NOVALIDATE:不检查现有的数据和新数据

②.?DISABLE VALIDATE:不检查新数据,但对现在数据进行检查

③.?ENABLE NOVALIDATE:检查新数据,对现有数据不做检查

④.?ENABLE VALIDATE:检查新数据和现有数据

4.删除和截断表

1)删除

①.DROP TABLE TABLE_NAME

②.如果不加PURGE关键字,则删除的表的空间仍计在用户使用的限额中

2)截断

①.truncate table table_name

②.该语句是DDL,不生成还原数据,会隐式提交。不能回滚。

5.索引

1)索引类型:

①.B树索引

②.位图索引(适用于记录条数多,但基数低的列),每一位的位置都表示一行。

每个建立索引的独特值都有一个位图

2)索引不能修改。

6.序列

1)序列号不会回退

2)?CURRVAL:返回序列的当前值

3)?NEXTVAL:递增序列,返回下一个值

7.表空间:

1)查看现有表空间的数据文件:

select tablespace_name,file_name,bytes,status from dba_data_files;

2)建立表空间数据文件

create tablespace ts1 datafile 'D:\ORACLE\ORADATA\Ora10\ts1.1' SIZE 2M;

3)加入新的数据文件到表空间

alter tablespace ts1 add datafile‘D:\ORACLE\ORADATA\Ora10\ts1.2' size 2m;

4)从表空间删除数据文件

alter tablespace ts1 drop datafile‘D:\ORACLE\ORADATA\Ora10\ts1.2' size 2m;

5)数据文件手工增长&自动增长

alter database datafile ‘…’autoextend on next 1m maxsize 100m;

alter database datafile ‘…’autoextend off

查看数据文件扩展情况:

select FILE_NAME,AUTOEXTENSIBLE,MAXBLOCKS,

INCREMENT_BY from dba_data_files;

6)查看表空间状态(OFFLINE ONLINE)

select tablespace_name,status from dba_tablespaces;

alter tablespace [name] offline

7)表空间重命名

alter tablespace ts1 rename to ts2;

①.SYSTEM\SYSAUX表空间不能重命名

②.表空间状态必须是ONLINE,read write。

③.oracle版本10以上。

8)表空间数据文件重命名

①.先使数据文件OFFLINE

alter database datafile ‘name’ offline

②.操作系统复制到新数据文件

host copy [old_file_name] [ new_file_name]

③.再修改控制文件的指针描述

alter database rename file ‘old_file_name’ to ‘new_file_name’;

④.数据文件联机

alter database datafile ‘name’ online

在归档状态下让数据文件脱机再联机,首先需要做RECOVER

RECOVER DATAFILE ‘name’

9)修改数据库默认的数据表空间

alter database default tablespace [newtablespace]

8.临时表

1)可专用于事务自带,也可专用于会话。

2)对于专用于事务处理的临时表而言,数据存在于事务处理期间;对于专用于会

话的临时表而言,数据存在于会话期间。在这两种情况下,会话插入的数据专

用于会话。每个会话仅可查看和修改自己的数据。因此,临时表的数据从不会

获得DML 锁

3)语句:

①.建立:

create global temporary table

[on commit delete rows] 指定插入行的生存期仅为事务处理的持续时间

[on commit preserve rows] 指定插入行的生存期仅为会话的持续时间

②.添加临时文件到临时表空间

alter tablespace TEMP2 add tempfile'd:\oracle\oradata\ora10\temp03.dbf'

size 3m;

③.删除临时表空间的临时表文件

alter tablespace temp2 drop tempfile

'/u01/app/oracle/oradata/orcl/temp03.dbf';

④.查看:

select * from v$tempfile

select * from dba_temp_files

⑤.修改默认临时表空间:

alter database default temporary tablespace temp2

9.数据字典

1)常见字典应用。

六、并发性处理

1.insert

1)insert into table_name ( select …..)

insert into table_name(column1,column2…) ( select …)

可以插入多条记录

2.update

3.merge

4.锁定机制

1)用于数据库中提供尽可能高的数据并发处理能力。事务处理修改数据时会获取

行级锁定,而不是块级或表级锁定。

2)数据查询不需要锁定。

3)如果多个事务处理需要锁定同一资源,则事务会排除处理,排除机制是自动进

行。

4)几种锁定级别:

①.exclusive mode 尝试更新锁定表中的行的任何其它事务处理都必须等

待,直到发出锁定请求的事务处理完成为止。

②.row share 允许并发访问锁定的表,但禁止会话锁定整个表进行独占访

问。

③.row exclusive 同ROW SHARE,还禁止以SHARE模式锁定。更新、插

入或删除数据时会自动获取ROW EXCLUSIVE 锁定

④.share 允许并发查询,但禁止更新锁定的表

⑤.SHARE ROW EXCLUSIVE:用于查询整个表,允许其他人查询表中的行,但

禁止其他人在SHARE 模式下锁定表或更新行。

Lock Table TABLE_NAME IN <级别>

⑥.特殊的参数NOWAIT

与任何锁定请求一样,手动锁定语句会一直等待,直到持有锁定(或先前

请求锁定)的会话释放锁定为止。LOCK 命令接受用于控制等待行为的特

殊参数NOWAIT。

如果指定表已经由另一会话锁定,NOWAIT 会立即将控制权还给当前用户5.DML 锁定

每个DML 事务处理必须获取两个锁定:

1)针对正在更新的一行或多行的EXCLUSIVE 行锁定

2)针对包含这些行的表的ROW EXCLUSIVE 表级锁定,这可避免在进行更改时另

一会话锁定整个表

6.锁定冲突的可能原因

1)未提交更改commit

2)长时间运行事务处理

3)不必要的高锁定级别

7.解决锁定冲突:

1)查看冲突

①.select blocking_session in v$session

②.select sid, serial#, username

from v$session where sid in

(select blocking_session from v$session)

2)终止冲突

alter system kill session‘,’ immediate;

8.死锁

1)ORACLE自动检测死锁,将发现死锁的交易回退。

2)将死锁的信息写入bdump下的报警日志。

七、管理还原数据

1.数据操纵

1)DML 数据操纵语言包括:INSERT\UPDATE\DELETE\MERGE

2)DML始终作为事务处理的一部分,可以执行ROLLBACK\COMMIT

2.还原数据

1)原始的、修改之前的数据副本

2)读取一致性查询,提供与查询开始时的数据一致的结果

3)闪回查询:有目的地查询,可用来查找过去某个时间存在的某个版本的数据。

4)从失败的事务处理中进行恢复

3.事务处理与还原数据

1)每个事务处理开始时,将会将其分配到一个还原段。如果占满该还原段的区的

空间后,则获取下一个区的空间。占满所有区后,则自动转回到第一个区或请

求系统为还原段分配新区。

2)一个还原段可以同时服务于多个事务处理。

select * from v$transaction;

3)还原段可根据需要自动增长和收缩,对于所分配的事务处理它充当一个循环存

储缓冲区。

4.存储还原信息

1)还原段只存在于特定形式的、称为还原表空间的表空间中。

2)一次只能有一个被指定为可写入还原数据的当前还原表空间。

3)还原表空间是永久的、本地管理的表空间,可以自动分配区.

4)还原表空间只在实例处于MOUNT状态时可恢复

5.还原数据与重做数据

6.监视还原

1)需要注意的情况:

①.还原空间不足: 还原信息始终保留,直至事务处理结束

②.用户收到ORA-01555 snapshot too old 错误消息

7.管理还原

1)还原表空间中出间空间错误:

①.调整段大小(包括最大区)和调整区大小

②.找出并清除阻塞事务处理

③.创建足够的回退段以处理事务处理(手动模式下,还原段也称为回退段)

④.选择表空间以包含回退段(还原表空间仅用于自动还原管理)

2)快照太旧

①.配置适当的还原保留期间隔

UNDO_RETENTION 指定了还原保留期的低阈值(秒数)

alter system set UNDO_RETENTION=900

必须设置该参数的三种情况:

还原表空间启用了AUTOEXTEND 选项

要设置LOB 的还原保留期

要确保保留期

注意:若是固定大小的还原表空间,系统根据还原表空间大小和使用历史

记录,自动调整可能的最大还原保留期。系统会忽略UNDO_RETENTION 3)可以使用自动还原管理

UNDO_MANAGEMENT=AUTO

UNDO_TABLESPACE=UNDOTBS1

4)还原信息分为三类:

①.未提交的还原信息

②.提交的还原信息:如果活动事务处理不是因为缺少空间而失败,就会保留

已提交和还原信息。

③.过期的还原信息:活动事务需要空间时会覆盖过期的还原信息。

5)确保还原保留期

①.默认还原行为是覆盖已提交的但尚未过期的事务处理,以防止活动事务处

理因缺少还原空间而失败。

②.可以通过确保保留期来更改此行为。确保了保留期后,即使会导致事务处

理失败,仍会强制实施还原保留期设置。

alter tablespace undotbs1 retention guarantee

alter tablespace undotbs1 retention ungurantee

6)调整还原表空间的大小

①.必须调整还原表空间的大小,以便还原表空间包含所有事务处理的原始信

②.不要对与还原表空间相关联的数据文件启用自动扩展,可避免单个用户因

忽略提交事务处理而无意中占用大量的磁盘空间。

7)相关命令

①.显示参数配置情况

show parameter UNDO

②.UNDO类型

a)NON-SYSTEM

i.自动模式,配置参数:undo_management=auto

undo_tablespace=tablespace_name

创建UNDO表空间:

create undo tablespace space_name datafile ‘…’ size nM

ii.手工模式

b)system:用于SYSTEM表空间的对象

i.修改一个UNDO表空间

alter tablespace space_name add datafile ‘…’size nM autoextend

on

ii.切换UNDO表空间

alter system set undo_tablespace= space_name

iii.删除UNDO表空间

drop tablespace space_name

③.查看UNDO信息

SELECT... FROM V$UNDOSTAT;回滚段的使用频度

select … from DBA_ROLLBACK_SEGS

八、实施ORACLE数据库安全性

1.显示AUDIT参数:

show parameter audit

1)audit_file_dest :存放外部审计文件位置/u01/app/oracle/admin/orcl/adump

强制审计保存的位置

2)audit_trail:NONE,DB,OS,

2.启用AUDIT,设置级别(NONE,DB,OS):

1)alter system set audit_trail=DB SCOPE=spfile;

2)shutdown immediate

3)startup

3.AUDIT类型:

1)强制性审计,都会审计特定的操作。存在强制性审计日志。

2)标准审计:设置AUDIT_TRIAL参数,启用审计后,可选择审计的对象和权限

audit| noaudit:

①.audit create table by ;

②.audit by by access/session whenever [not]

successful

3)细粒度审计:DMBS_FGA, 可捕获已发出的SQL语句

4)值审计:用户自已用触发器

5)DBA审计:记录数据库关闭时DBA的登录

①.alter system set audit_sys_operations = TRUE scope = spfile

4.标准审计:

1)审计SQL语句

altet table

2)审计系统权限

alter select any table ,create any trigger by by session;

3)对象权限审计

audit select on dba1.tt01 by session;

by session :只生成一条

by sussess:生成多条

5.查看标准审计配置

1)select user_name,audit_option,success,failure from dba_stmt_audit_opts

2)select user_name,success,failure from dba_obj_audit_opts

3)select user_name,success,failure from dba_priv_audit_opts

①.select * from dba_stmt_audit_opts 语句审计

②.select * from dba_obj_audit_opts 系统权限审计

③.select * from dba_priv_audit_opts 对象权限审计

6.查看标准审计记录

1)select * from dba_audit_trail

2)select username ,returncode,action_name,obj_name ,extended_timestamp from

dba_audit_trail;

需要对退出的用户来审计。

7.AUDIT审计数据字典

1)select * from audit_actions;

8.audit table 表明对创建、删除、截断表进行审计

1)没有单独的DROP TABLE审计。

九、配置ORACLE网络环境

1.区分几个不同的名字:

1)db_domain 域名,作为后缀,来避免数据库重名,便于管理

2)instance_name 实例名,可以与数据库名不一样。运行在内存中

3)service_name 服务名默认规则是db_name.domain_name

4)db_name 数据库名

2.服务端设置:oracle net 配置文件

1)/network/admin/listener.ora

动态注册:

默认状态下,动态注册不能注册到非默认端口(非1521),如果要注册到非1521,

需要用静态注册

alter system register; 立即注册(动态注册需要时间等待)

静态注册:

如果lsnrctl status中

status UNKNOWN 表明是静态注册

status READY 表明是动态注册

2)/network/admin/sqlnet.ora

3.客户端设置:本地解析文件

/network/admin/tnsnames.ora

4.连接方式:

1)简单连接方式

sql> connect hr/hr@https://www.doczj.com/doc/8717048843.html,:1521/

2)本地连接方式

sql>connect hr/hr@

5.共享模式—专用模式

1)数据库的客户端发出请求,有两种模式连接到服务器:共享模式、专用模式,

由服务器的配置和客户端的配置两方面决定。

①.初始化参数dispatchers, shared_servers, local_listener

②.监听的配置

2)共享模式不能停止数据库。小的事务走共享。批处理走专用,数据库管理员连

接走专用。

3)客户端的配置:tnsnames.ora

上者是专用。

Oracle数据库课程设计报告学生成绩管理系统

Oracle数据库课程设计 题目学生成绩管理系统 _______ 班级10级软工数据库一班 姓名________ 谢铮________________ 学号_______ 105151640043 扌旨导老0帀 ____ 刘杨涛 ________

2013年1月5日 目录 一、前言 (2) 二、需求分析 (3) 三、系统设计 (5) 四、数据库设计 (7) 五、编程步骤 (19) 六、测试 (25) 七、课程设计总结 (33) 八、参考资料 (34) 九、附录 (34)

学生成绩管理是一个学校必不可少的部分,随着计算机和计算机知识的普及,学生成绩管理系统得到了更大的发展空间,通过对学生成绩管理系统的开发,可以提高校务人员的工作效率。 本次课程设计以java web 技术设计学生成绩管理系统为前台,使用oracle 数据库作为后台数据存储。 学生成绩管理是一个学校不可缺少的部分,一个良好的学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。学生成绩管理系统对学校加强学生成绩管理有着极其重要的作用.由于各个大学都在持续扩招,学生的数量日益庞大,对于如何管理如此庞大的学生成绩数据显得更为复杂,传统的手工成绩管理不仅工作量大,而且容易出现问题,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。已不能适应时代的发展。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点。例:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高管理者管理的效率,也是学校走向科学化、正规化管理,与世界接轨的重要条件。 因此,开发设计这样一套学生成绩管理软件成为很有必要的事情.

Oracle数据库系统紧急故障处理方法

Oracle数据库系统紧急故障处理方法 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理。 控制文件损坏: 控制文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。控制文件的损坏,会导致数据库异常关闭。一旦缺少控制文件,数据库也无法启动,这是一种比较严重的错误。 损坏单个控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定所有控制文件的路径。 3. 用操作系统命令将其它正确的控制文件覆盖错误的控制文件。 4. 用下面的命令重新启动数据库: svrmgrl>startup; 5. 用适当的方法进行数据库全备份。 损坏所有的控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件。 3. 用下面的命令来创建产生数据库控制文件的脚本:

svrmgrl>startup mount; svrmgrl>alter database backup controlfile to trace noresetlogs; 4. 修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql. 注意: Trace文件的具体路径可以在执行完第3)步操作后查看 $ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。 5. 用下面命令重新创建控制文件: svrmgrl>shutdown abort; svrmgrl>startup nomount; svrmgrl>@createcontrol.sql; 6. 用适当的方法进行数据库全备份。 重做日志文件损坏: 数据库的所有增、删、改都会记录入重做日志。如果当前激活的重做日志文件损坏,会导致数据库异常关闭。非激活的重做日志最终也会因为日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的异常终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的情况,而不考虑单个重做日志成员损坏的情况。 确定损坏的重做日志的位置及其状态: 1. 如果数据库处于可用状态: select * from v$logfile; svrmgrl>select * from v$log; 2. 如果数据库处于已经异常终止: svrmlgr>startup mount; svrmgrl>select * from v$logfile;

甲骨文的历史意义

如果说钻木取火标志着人类告别了茹毛饮血的野蛮岁月,那么文字的出现就意味着人类走出了结绳记事的洪荒年代。甲骨文的发现,正是照亮中华文明的一盏明灯。甲骨文不仅仅是一个文明的符号、文化的标志,它还印证了包括《史记》在内的一系列文献的真实,把有记载的中华文明史向前推进了近5个世纪。在世界四大古文字体系中,唯有以殷墟甲骨文为 代表的中国古汉字体系,历经数千年的演变而承续至今,书写出了一部博大精深的中华文明史。目前,安阳殷墟共出土甲骨15万片,单字约4500个,其中约有1500个单字已被释读。3000多年以来,甲骨文虽然经过了金文、篆书、隶书、楷书等不同书写形式的变化,但是以形、音、义为特征的文字和基本语法保留至今,成为今天世界上五分之一人口仍在使用的方块字,对中国人的思维方式、审美观产生了重要的影响,为中国书法艺术的产生与发展奠定了基础。 所以,对于甲骨文的出土以及对其的相关研究,我们可以归结出甲骨文的四点意义: 1、是证实了中国早期国家——商王国的存在。在殷墟甲骨文发现以前,人们只能从有限的文献记载中知道历史上有个商王朝,而且这些文献无一是成于商代的。而殷墟甲骨文的发现,将大量的商人亲手书写、契刻的文字展现在学者面前,使商史与传说时代分离而进入历史时代。特别是1917年王国维写了《殷卜辞中所见先公先王考》及《续考》,证明《史记·殷本纪》与《世本》所载殷王世系几乎皆可由卜辞资料印证,是基本可靠的。同时,他根据缀合的两片卜辞,发现上甲以后几位先公之次序应是报乙、报丙、报丁,《史记》以报丁、报乙、报丙为序,是后世传抄而成的。这篇著名的论文,无可辩驳地证明《殷本纪》所载商王朝是确实存在的。这不仅是中国历史研究的一件大事,而且鉴于殷商文明在世界文明史上的重要地位,这一发现也是世界历史研究中一件值得大书特书的事。 2、在于王国维用甲骨文证实了《殷本纪》的史料价值,使《史记》之类历史文献有关中国古史记载的可信性增强,其意义不仅局限于商史。因为这一发现促使史学家们想到,既然《殷本纪》中的商王世系基本可信,司马迁的《史记》也确如刘向、扬雄所言是一部“实录”,那么司马迁在《夏本纪》中所记录的夏王朝与夏王世系也恐非是向壁虚构。特别是在20年代疑古思潮流行时期,甲骨文资料证实了《殷本纪》与《世本》的可靠程度,也使历史学家开始摆脱困惑,对古典文献的可靠性恢复了信心。 3、是引发了震撼中外学术界的殷墟发掘。“五四”运动促使中国的历史学界发生两大变化,一是提倡实事求是的科学态度,古史辨派对一切经不住史证的旧史学的无情批判,“使人痛 感到中国古史上科学的考古资料的极端贫乏”。二是历史唯物主义在史学界产生巨大影响。1925年王国维在清华国学研究院讲授《古史新证》,力倡“二重证据法”,亦使中国历史学 研究者开始重视地下出土的新材料。这些历史因素对近代考古学在中国的兴起起了催生作用。1927年秋,前中央研究院历史语言研究所开始发掘殷墟,其最初的目的就是为了继续在此地寻找甲骨。当李济主持第二次发掘时,已开始从主要寻找甲骨变成对整个遗址所有遗存的科学发掘,认识到“凡是经过人工的、埋在地下的资料,不管它是否有文字,都可以作研究 人类历史的资料”。并从而取得以后14次发掘的重大收获,所以可以说,正是甲骨文的发现揭开了中国现代考古学的序幕。

关于甲骨文心得体会的范文

关于甲骨文心得体会的范文 是最新的《关于甲骨文心得体会的范文》,觉得应该跟大家分享,为了方便大家的阅读。 “月”作为最常见也是最开始出现的字之一,在漫长的历史长河中有着相当丰富的发展。而关于甲骨文字“月”的考释,许慎、罗振玉等大家都作了相关的研究,且各自抱有独特的见解。针对各大家的不同观点,笔者特查阅相关资料并进行探究。本文将从“月”字的形、音、义三方面出发,综合各大家的考释,来阐述个人的观点。 一、“月”字本义指“月亮” 及其字义经历过发展“月”甲骨文作,象半月形。因月亮缺的时候多,圆的时候少,所以取上阙也。太阴之精。象形。凡月之属皆从月。鱼厥切。”下弦时的月形。许慎:“(《说文解字卷七》)用“阙”释“月”义是音训。因月、阙的收音都是阿摄入声,二字叠韵,所以属音训。所谓“阙也”,即残缺。这是就月亮的通像来说的,也就是说月亮圆时少,缺时多。“太阴之精”是它的补充说明。由此可见,“月”,象形,本义指“月亮”。 另外,“月”的字义也经历过发展。下面试举例说明: 1.月亮。名词。王昌龄《出塞》诗:秦时明月汉时关(月亮还是秦时的月亮,... 边关还是汉朝时的边关),万里长征人未还(许多离家

万里的军人在塞外作战,不得回家)。 2.后引申指“月光”。名词。卢纶《塞下曲》诗:月黑雁飞高(没有月光的...夜晚,大雁高飞),单于夜遁逃(匈奴首领趁黑夜遁逃)。 现指“月光”或“象月亮形状的”。用作形容词。如:月白风清、月饼等。 3.后来人们把月亮由圆到缺,由缺到圆所经历的一个周期的时间称为月,一年有十二个月。名词。白居易《大林寺桃花》诗:人间四月芳菲尽(农历四月,TOP100范文排行..大地的繁花已凋谢),山寺桃花始盛开(大林寺的桃花才开始盛开)。 其中,在罗振玉的考释中有提及“月”之“月份”含义,但他亦认同“月”的本义指“月亮”。他以“岁月”一词为例,认为“岁月”之“月”为月份之意,但此“月”乃借用“日月”之“月”,“月”的本义指月亮,实为合理。见“。以岁字例之。当为岁月之月本字。作月者。日月之本字。然卜辞中凡某月巳借用日月之月。而罕用本字之矣。”(《增订殷墟书契考释卷中》) 由上可见,“月”字本义指“月亮”,字义经历过“月亮”、“月光”、“象月亮形状的”以及“月亮由圆到缺,由缺到圆所经历的一个周期的时间”的发展。 二、“月”“夕”二字不同

ORACLE数据库学习心得

ORACLE数据库结课论文 一个好的程序,必然联系着一个庞大的数据库网路... 今年我们学习了oracle数据库这门课程,起初的我,对这个字眼是要多陌生有多陌生,后来上课的时候听一会老师讲课,偶尔再跟上上机课,渐渐的学会了不少东西,但我感觉,我学到的仍是一些皮毛而已,怀着疑惑和求知的心态,我在网上搜索了关于oracle数据库的一些知识。 1.ORACLE的特点: 可移植性ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 2.ORACLE的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,

用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON (Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。

Oracle数据库startup和shutdown方式

Oracle数据库startup和shutdown方式 昨天晚上,回去好好整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方 式",然后,自己就回去就写了个示例. 其中,就出现了1个问题: ORA-12528: TNS:listener: all appropriate instances are blocking new connections 于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下. 一:注意事项 要启动和关闭数据库,必须要以具有Oracle 管理员权限用户登陆,通常也就是以具有SYSDBA 权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接同义词)。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户,所以我们最还是设置DBA用户具有SYSDBA权限。 二:启动一个数据库需要三个步骤 1、创建一个Oracle实例(非安装阶段) 2、由实例安装数据库(安装阶段) 3、打开数据库(打开阶段) 三:Startup(启动数据库命令) 1、STARTUP NOMOUNT NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例配置,包括内存结构大小和启动后台进程数量和类型等。实例名根据Oracle_SID设置,不一定要与打开数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小列表,如下所示: SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 35431692 bytes Fixed Size 70924 bytes Variable Size 18505728 bytes Database Buffers 16777216 bytesu Redo Buffers 77824 bytes 2、STARTUP MOUNT 该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"提示。 3、STARTUP

oracle数据库索引的理解与总结

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 例如这样一个查询:SELECT * FROM TABLE1 WHERE ID = 44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),直接在索引里面找44(也就是在ID这一列找),就可以得知这一行的位置,也就是找到了这一行。可见,索引是用来定位的。 建立索引的目的是加快对表中记录的查找或排序。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。 虽然建立索引能加快对表中记录的查询或者排序速度,但是并不是索引建得越多越好,这就需要我们了解使用索引过程中,索引的一些优点以及缺陷: 使用索引的好处: 创建索引可以大大提高系统的性能: 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。使用索引的一些不足: 第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。 第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 索引是建立在数据库表中的某些列的上面。在创建索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引: ?在经常需要搜索的列上,可以加快搜索的速度;在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; ?在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; ?在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; ?在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间; ?在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。 同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点: ?对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。 ?对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了

完美Oracle数据库知识学习文档总汇

? ?ORACLE 一.DDL(数据定义语言) Oracle自动在语句执行前后都加上commit, 则DDL之前的没提交改变被隐式提交, 不能回滚. 数据类型 1.合法表示符(标示符) 1-30个字符,以字符(可以# $ _ )开始,数据库链接可以包含(@ , )两个特殊符号. 不能包含引号,不能是保留字. 特殊情况: 数据库名称最多8个字符, 数据库链接最多128个字符, 把列名放入引号可以使用保留字作为列名. ORACLE数据库的端口默认是1521 2.NUMBER Number(precision[,scale]) precision: 有效位数总数, 1---38 , 包括小数位 scale: 小数位数,没有小数可以省略小数和小数点; 省略此参数表示一个整数;当 scale> precision,则会在有效位之前加0 3.CHAR char(size) size: 1---2000字节, 值不足size时,会自动在值后面补充空格. char(size [CHAR|BYTE]) 指出基于字符或字节,9i以上版本 考虑数据库参数 NLS_LENGTH_SEMATICS (show parameters nls_length_semantics 可以看当前设置). 4.NCHAR 与char差别在于它规定的是最大字符个数.支持Unicode可变长度的字符集. 最大也是2000字节容量. 5.VarChar2 与char差别仅仅是:不会自动在值后面补充空格.最大4000字节,默认基于字节. 6.NVarChar2 存储可变长度且基于字符数量的数据. 7.RAW

Oracle数据库的启动与关闭

以下资料来自Oracle数据库精讲与疑难解析,仅供学习 一、Oracle数据库的启动 Oracle数据库的启动要经历3个阶段。 阶段一:启动实例 (Start An Instance)--nomount 阶段二:装载数据库 (Mount The Database)--mount 阶段三:打开数据库 (Open The Database)--open 1.启动实例 ①读取参数文件(Initialization Parameter File, PFILE 或者 Server Parameter Files, SPFILE) ②Oracle根据参数文件中的参数,分配系统全局区(System Global Area, SGA) ③启动后台进程(DBWR: 数据库写入进程,LGWR:日志写入进程,CKPT:检查点进程,SMON: 系统监控进程,PMON:进程监控进程,ARCH归档进程等)。 这些内存和后台进程组合起来组成实例(Oracle Instance)。 参数文件(PFILE或者SPFILE)还指定了控制文件(Control File)的位置。 2.装载数据库 打开控制文件(Control File),从控制文件中获得数据文件(Data File)和联机日志文件(Redo Log File)的名字和位置。这时候,Oracle已经把实例和数据库关联起来。对于普通用户,数据库 还是不可访问。 3.打开数据库 Oracle打开数据文件 (Data Files) 和联机日志文件 (Redo Log File) 。这时候,数据库可以使用。 普通可以登录数据库,对数据库进行操作。 4.分步启动Oracle STARTUP NOMOUNT; ALTER DATABASE MOUNT; ALTER DATABASE OPEN; 5.直接启动Oracle STARTUP (相当于上面三个过程依次进行) 6.使用特定初始化参数文件 (Initialization Parameter File, FILE) 启动数据库 STARTUP PFILE='C: \oracle\product\10.2.0\db_1\dbs\PFILEORCL.ORA'; 7.把数据库启动到限制模式(RESTRICT) 在限制模式下,只有CREATE SESSION 和RESTRICTED SESSION权限的用户可以访问数据库。 ①如果数据库是关闭的 STARTUP RESTRICT; ②如果数据库是开启的 ALTER SYSTEM enable restricted session; 8.以只读模式(Read Only)打开数据库 ①如果数据库是关闭的 STARTUP open read only; ②如果数据库是开启的 ALTER DATABASE OPEN read only; 在直读模式下,数据文件和日志文件都禁止写操作。整个数据库是只读的。 但是允许数据库恢复(Database Recovery)及其他不会产生回滚的操作。 9.把数据库启动到回复模式 (RECOVER) STARTUP OPEN RECOVER; 10.重启数据库(RESET) STARTUP FORCE

Oracle数据库试题

constraint pk_spj primary key (sno,pno,jno), constraint fk_spj_sno foreign key (sno) references s(sno), constraint fk_spj_pno foreign key (pno) references p(pno), constraint fk_spj_jno foreign key (jno) references j(jno) 实验二游标和函数 1、定义一个游标完成显示所有供应商名。 declare v_sname s.sname%type; cursor cursor_sname is select sname from s; begin for curso in cursor_sname loop dbms_output.put_line(curso.sname); end loop; end; 2、定义、调用一个简单函数:查询返回指定供应商编号的供应商名及其供应零件总数量。create or replace function fun(f_sno in s.sno%type,f_sname out s.sname%type) return number as f_qty number; begin SELECT s.sname,sum(qty) into f_sname,f_qty from s,spj WHERE s.sno=spj.sno GROUP BY s.sname,spj.sno having spj.sno=f_sno; return f_qty; end; declare v_sno s.sno%type:='&sno'; v_sname s.sname%type; v_qty spj.qty%type; begin v_qty:=fun(v_sno,v_sname); dbms_output.put_line(v_sname||v_qty); end; 3、定义一个函数:对于给定的供应商号,判断是否存在,若存在返回0,否则返回-1。写一段程序调用此函数,若供应商号存在则在spj插入一元组。

甲骨文与甲骨文书法艺术

汉字是民族文化的“脊梁骨”,是民族文化之根。甲骨文是早于篆籀、青铜铭文的古文字。是“千年神甲、文字始祖”,是中国已发现的古代文字中时代最早、体系较为完整的文字。与埃及的纸草文、巴比伦的泥版文书等同为人类社会最珍贵的文化遗产。纸草文字和泥板文书都已失传,而中国的甲骨文,在失传近3000年后,直到1899年在河南安阳的殷墟破土重现。 甲骨文是中国商代后期(公元前14~前11世纪)王室用于占卜记事而刻(或写)在龟甲和兽骨上的文字。因所刻多为卜辞,学者称这种记录为卜辞,因发现于安阳小屯村一带殷墟,又称殷墟文字;是商王般庚迁殷以后到纣王亡国时的遗物,距今已3600多年的历史。 甲骨文是比较成熟的文字,它以象形、假借、形声为主要造字方法。今天的汉字,仍是以象形字为基础的形符文字,因此甲骨文已具备后代汉字结构的基本形式。从语法上看,甲骨文中有名词、代名词、动词、形容词等,其句子形式、结构也与后代语法基本一致。 目前出土数量在15万片之上,出土的单字共有4500个,已识2000余字,公认千余字。 一八九九年殷墟甲骨文的出土,它和本世纪初面世的敦煌写经、汉晋简牍和内阁大库档案,被誉为我国近代新史料的四大发现。 一甲骨文发现 三千年前,安阳市西北25公里的小屯村正是晚商都城。商朝第20位的帝王盘庚、从山东“奄”(今曲阜)迁都到“殷”,当年的殷都,到处是雄伟的宫殿和巍峨的宗庙,是当时政治、经济、文化中心。大约在公元前一零四六年,武王联合诸侯伐纣,商纣王牧野兵败,逃至鹿台自焚而亡。从盘庚到纣王,商王室在此共传八代十王。历经273载,史称殷朝,亦称殷商。周灭商后,国都他移,小屯一带的繁华王都逐渐荒芜,光华闪烁的商文化被淹没地下,沦为一片废墟,后人称“殷墟”。 安阳殷墟鸟瞰图 星移斗转,岁月流逝。3000年过去了,清末小屯村人,耕耘土地时,常翻掘出一些骨片,不知为何物,因胛骨较大,近代无此兽类,遂称为“龙骨”,有一个农民叫李成,身上生了许多疥疮,又疼有痒,没钱医治,无意中,捡起人们随手扔掉的白龙骨片,用力捏碎,竟然成了白面面。李成把白面面撒到自己身上生疮的地方,很快就被脓血吸收了。说来也奇怪,身上的疥疮竟然好了。这下李成高兴了,他把乡亲们扔掉的白片片收集起来,跑到几里以外的城里去卖。他告诉中药店的掌柜的,这东西是药材,能治疗疥疮和外伤。李成第一个发现龙骨并卖给药店治疗疟疾和创伤,一斤仅值六文钱。

甲骨文的临摹与书写

甲骨文的临摹与书写 一.甲骨文的文字特点 从字体的数量和结构方式来看,甲骨文已经是发展到了有较严密系统的文字了。汉字的“六书”原则,在甲骨文中都有所体现。但是原始图画文字的痕迹还是比较明显。 (1)字形多变: 在字的构造方面,有些象形字只注重突出实物的特征,而笔画多少、正反向背却不统一。

(2)体式丰富: 甲骨文的一些会意字,只要求偏旁会合起来含义明确,而不要求固定。因此甲骨文中的异体字非常多,有的一个字可有十几个甚至几十个写法。

(3)因字成型 甲骨文的形体,往往是以所表示实物的繁简决定大小,有的一个字可以占上几个字的位置,也可有长、有短。

(4)线条瘦硬 因为字是用刀刻在较硬的兽骨上,所以笔画较细,方笔居多。

(5)形象生动 甲骨文是师法自然,合众美的结果,大部分字在大自然中可以找到相对应的形状、声音、轨迹等。 万[萬] 形如蝎子.蝎子为胎生昆虫,母蝎产子,每胎可达数一甚而 百集幼蝎不等.幼蝎产出后,即自动攀附于母蝎身上,背部尤多, 密密麻麻若不可胜数,古人见之,即以蝎子之形不可胜数之“万”字. 春 上方是草木抽发的曲芽,下面那一部份是一个计时的标志, 组合起来,表示草木遨生开始的时序. 至 一支箭由远方而来,射到靶上,一横代表箭靶

观 是一只猫头鹰的特写,最上面是羽,角中间一竖是 喙,两侧是一双眼睛.显出一副主神贯注观贯注观察的样子,最下面的是乌,表明猫头鹰的类属.此字充分的掌握住了猫头鹰的表情。 二.甲骨文的艺术特点 由于甲骨文是用刀刻成的,而刀有锐有钝,骨质有细有粗,有硬有软,所以刻出的笔画粗细不一,甚至有的纤细如发,笔画的连接处又有剥落,浑厚粗重。结构上,长短大小均无一定,或是疏疏落落,参差错综;或是密密层层十分严整庄重,故能显出古朴多姿的无限情趣。 甲骨文,结体上虽然大小不一,错综变化,但已具有对称、稳定的格局。所以有人认为,中国的书法,严格讲是由甲骨文开始,因为甲骨文已备书法的三个要素,即用笔、结字、章法。殷墟甲骨文是目前所知我国最早的系统文字,也是比较成熟的文字。而上古文字的点横撇捺、疏密结构,用今天的眼光去看,确实初具用笔、结体、章法等书法要旨,孕育着书法艺术的美,很值得欣赏与品味。以甲骨文而言,郭沫若在1937年出版的《殷契粹编》的序言中,就对其书法体现非常赞赏:“卜辞契于龟骨,其契之精而字之美,每令吾辈数千载后人神往。文字作风且因人因世而异,大抵武丁之世,字多雄浑,帝乙

学习oracle数据库的总结(图文整理)

1、在开发环境中连接到数据库,进行基本的select查询操作; 2、熟悉plsql的使用; 3、熟悉sqlplus相关命令(登录、查询、导入导出等) 登录sqlplus: 第一:使用dos窗口登录sqlplus Sqlplus 用户名/密码@数据库实例名 Sqlplus system/密码@数据库实例名as sysdba 第二:使用oracle自带的一个sqlplus登录,提供界面,显得更简单一些。 显示当前用户名:show user; 创建一个用户:create user 用户名identified by 密码; 给用户赋予登录的权限:grant connect to 用户名;(此时才可以使用这个用户来登录这个数据库。)给其赋予dba的权限。 修改用户的密码:alter user 用户名identified by 新密码; 查询: Select * from t_user; Select id from t_user; Select name from t_user; Select birthday from t_user; Select id,name from t_user; 导入导出: 导出表: (注意,导出表的exp命令不是在sqlplus下使用的,是在dos窗口下使用的命令。) exp userid=test/sa@test tables=(qx) file=d:\e1223.dmp exp userid=test/sa@test tables=(t_user,qx) file=f:\test.dmp 导出方案: Exp userid=test/sa@test owner=test file=f:\test2.dmp 导出数据库: Exp userid=test/sa@test full=y inctype=complete file=f:\all.dmp 导入表: 下面以一个例子来说明: 看下面的图,我的用户名test,密码sa,数据库实例名test,所有的表都在这里 现在我执行导出表JD的操作:exp userid=test/sa@test tables=(jd) file=f:\jd.dmp 在我的f盘下就出现了这么一个.dmp文件

甲骨文工具书

第十一章 甲骨学与殷商史研究要籍 一、甲骨文字考释的专书 1.《契文举例》孙诒让,撰于1904年,但直到1913年此书原稿才在上海被王国维发现,后方得到出版。是甲骨学史上第一部研究著作。该书所据材料,仅《铁云藏龟》一书。1917年《吉金盦丛书》本一册,1927年上海蟫隐庐石印本二册。 《契文举例》共分十章。即: 月日第一贞卜第二卜事第三 鬼神第四卜人第五官事第六 方国第七典礼第八文字第九 杂例第十 这是将甲骨文按内容进行分类的最早尝试。《契文举例》一书所考释的文字,在今天看来,基本已无可取,但从历史的发展观点来看,此书“在甲骨学史上筚路蓝缕,它的草创之功是不能抹煞的”。 2.《殷墟书契考释》罗振玉,1914年石印本一册,1927年东方学会石印增订本三卷三册。他在文字考证的基础上,结合史籍,再考求商代典制,“所得则有六端”:“一曰帝系”,“二曰京邑”,“三曰祀礼”,“四曰卜法”,“五曰官制”,“六曰文字”。共考释并加以解说四八五字。至1927年有将其增订出版,《增订殷墟书契考释》增至五七一字。罗振玉《殷墟书契考释》及《增订殷墟书契考释》在甲骨学史上占有重要地位。 3.《殷卜辞中所见先公先王考》、《续考》及《戬寿堂所藏殷墟文字考释》《先公先王考》及《续考》,王国维1917年发表,收入《学术丛书》及《观堂集林》卷九。此二文不仅考证了甲骨文中所见殷代先公先王,而且是“把甲骨文学研究推向一个新阶段,标志着‘文字时期’进入了‘史料时期’”的重要论文。 4.《甲骨文字研究》郭沫若,1931年大东书局石印本二册,1982年科学出版社合《甲骨文字研究》、《殷契余论》、《安阳新出土的牛胛骨及其刻辞》等为一编,以《甲骨文字研究》为书名,作为《郭沫若全集》考古编第一卷出版。郭沫若此书,不仅对断片缀合、残辞互补、缺刻横划、分期断代等方面多有发现,而且在文字考释方面也颇有创获。此书开辟了用历史唯物主义研究甲骨文字的新途径,在甲骨学史上占有重要地位。 5.《双剑誃殷契骈枝三编》于省吾,初编1940年石印本一册,续编1941年石印本一册,三编1944年石印本一册。全书共收考释文章98篇,文字考释简练、精到、严谨,并将所释就之字再放到有关卜辞中去核校,做到了文从字顺,在学术界有重大影响。 6.《甲骨文字释林》于省吾,1979年中华书局出版。本书上卷是将《双剑誃殷契骈枝三编》所收98篇论文加以删订,共存53篇而成。本书的中、下卷,一部分是经过删削的作者解放前所写《骈枝》四编中的文章,有十篇是重新改写的。另一部分是改写、改定的解放后在报刊上发表的一系列文字考释论文。全书共收入文字考释之作190篇。《甲骨文字释林》一书是于省吾研究甲骨文的总结,考证并加以解说了300个甲骨文字,为甲骨学的研究作出了重大贡献。 7.《积微居甲文说卜辞琐记》杨树达,中国科学院1954年出版。该书卷上说字的论文共三三篇,分识字、说义、说通读、说形等四类。卷下考史论文共二〇篇,分人名、国名、水名、祭祀、杂考等五项。《卜辞琐记》之部则收入考证四九条。书中所考文字及史事皆较允当,而且文字精练,至今仍有参考价值。 8.《耐林庼甲文说卜辞求义》杨树达,1954年群联出版社印行。本书《耐林庼甲文说》之部

《古汉语文字学概要》期末作业

《古汉语文字学概要》期末作业答案 下编古文字学 第一章甲骨文 习题解析 一、填空:一、填空: 1、《铁云藏龟》是一部甲骨文著录书,作者是清代刘鹗;《殷墟文字甲编》和《殷墟文字乙编》的编者是董作宾,《卜辞通纂》的著者是郭沫若。 2、甲骨学先驱期的代表人物有王懿荣、刘鹗、孙诒让,奠基时期的代表人物有罗振玉、王国维,形成时期的代表人物有董作宾、郭沫若、唐兰,低潮时期的代表人物有董作宾、于省吾,高潮时期的代表人物有陈梦家、李学勤,停止时期的代表人物有裘锡圭、张政烺,繁荣时期的代表人物有李学勤、裘锡圭。 二、解释下列名词术语。 1、殷墟:商王朝晚期都城的遗址,是殷商甲骨文的出土地,在今天河南省安阳市西北小屯村一带。 2、甲骨文:殷周时期刻在龟甲和兽骨上的文字,是最古老的汉字。其中商代的甲骨文记载了商代晚期270多年间的占卜、祭祀、战争、农业、畜牧、渔猎等社会活动,是研究商代社会的重要材料。 3、王懿荣:清末山东福山人,金石学家,发现甲骨文的第一人。 4、刘鹗:清末江苏丹徒人,字铁云,《老残游记》的作者,是第一部甲骨文著录书《铁云藏龟》的编者。 5、孙诒让:清末浙江瑞安人,国学大家、教育学家,第一个对甲骨文进行考释工作的人,著作《契文举例》。 6、罗振玉:清末江苏山阳人,著名学者,在保存整理古籍、确定甲骨文出土地以及考释甲骨文等方面做出了重要贡献。 三、董作宾甲骨文断代学说的具体内容是什么? 董氏根据世系、称谓、贞人、坑位、方国、人物、事类、文法、字形、字体等十项标准 四、罗振玉、王国维、唐兰、陈梦家在甲骨文研究方面的著作各有哪些?

罗振玉的著作有《殷墟书契》《殷墟书契菁华》《殷墟书契后编》《殷墟书契考释》等。 王国维的著作有《戬寿堂所藏殷墟文字考释》《殷卜辞中所见先公先王考》《续考》(论文)等。 唐兰的著作有《殷虚文字记》《天壤阁甲骨文存考释》等。 陈梦家的著作有《甲骨断代学》(论文)《殷虚卜辞综述》等。 五、简述甲骨文的发现及研究概况。 甲骨文于1899年被发现,第一个发现甲骨文的学者是金石学家王懿荣。刘鹗第一个将收集到的甲骨片选拓著录成《铁云藏龟》一书。孙贻让研读《铁云藏龟》,写出了第一部考释甲骨文的著作《契文举例》。罗振玉经过多年调查,发现了甲骨文的真正出土地安阳小屯村,同时对甲骨文作了大量的收集整理和考释工作。王国维对甲骨文的考释做出了重要贡献,他根据甲骨文发现了商代晚期殷王的世系,证明了《史记·殷本纪》殷王世系的真实性,同时纠正了其中的错误。其后在郭沫若、董作宾、唐兰、于省吾、陈梦家、李学勤、裘锡圭等人的相继努力下,甲骨文在发掘、整理、考释、断代等方面都取得了重要进展,成为一门成熟的学科。 六、将下列作者与其相应的著作连线。 刘鹗契文举例 王国维卜辞通纂 郭沫若古文字学导论 孙诒让殷墟卜辞所见先公先王考 罗振玉甲骨文断代研究例 董作宾铁云藏龟 唐兰殷墟书契(前编)、殷墟书契后编 陈梦家殷墟卜辞综述 于省吾殷墟文字甲编 殷墟文字乙编 甲骨文合集 甲骨文字释林 两周金文辞大系 第二章殷周金文 习题解析 一、填空: 1、标准器断代法 2、《西周铜器断代》; 1、郭沫若创立的金文断代法是标准器断代法。 2、陈梦家有关金文断代的论文是《西周铜器断代》,该文将西周12王分为武王铜器、成王铜器、成康铜器、康王铜器、昭王铜器、穆王铜器、共王铜器、懿王铜器、孝王铜器、夷王铜器、厉王铜器、宣王铜器、幽王铜器期? 二、解释词语: 1、金文:古代铜器上所铸、刻的文字,通常指殷、周、秦、汉铜器上的文字,又称“钟鼎文”、“吉金文字”等。 2、吉金:指鼎彝等古器物。“吉金文字”即铸、刻在鼎彝等古器物上的文字。“吉”是

oracle培训计划

oracle培训计划 篇一:oracle学习计划 10天学习oracle计划 20XX年05月02日星期五11:56 oracle10G十天学习计划 共计10天(每天按6小时计算) 三、预期目标: 1.安装oracledatabase10g并配置数据库 2.管理oracle例程 3.管理数据库存储结构 4.创建和管理用户帐户 5.执行备份和恢复数据库 6.监控数据库、解决使用数据库时出现的问题和维护数据库 7.配置oraclenetservices 8.在数据库和文件之间移动数据 9.使用Rman创建和管理备份集和映像副本 10.将数据库恢复到过去某一时刻的状态 11.使用oracle安全备份来备份和恢复数据库 12.使用oracle闪回技术恢复数据库 13.检测块损坏情况并采取相应的措施修复损坏的块

14.使用各种数据库advisor来监控和提高数据库的性能 15.使用资源管理器来控制数据库资源的使用情况 16.使用调度程序来简化管理任务 17.复查数据库日志文件以便进行诊断 18.为数据库和单独的会话自定义基于语言的行为 19.管理VLdB;实施安全数据库 四、培训指导思想: 以oracle公司的官方培训教材为基础,结合客户的实际需求,适当增加客户感兴趣的内容,删除一些理论性强而客户又很少用到的内容。 五、具体授课安排: 时间授课内容主要实验 第一天内容一:简介(数据库体系结构) 1.描述课程目标 2.研究oracle10g数据库体系结构 内容二:安装oracle数据库软件 1.解释dBa核心任务和工具 2.计划oracle安装 3.使用最佳的灵活的体系结构 4.使用oracleUniversalinstaller(oUi)安装软件 内容三:创建oracle数据库 1.使用数据库配置助手(dBca)创建数据库 2.使用dBca创建数据库设计模板

甲骨文基础知识

甲骨学基础知识 我国古代流行过一种习俗,用龟甲或者兽骨(主要是牛的肩胛骨)加以烧灼,观察所形成裂痕的形状,认为可以判断吉凶。所用的龟甲、兽骨埋藏在遗址中,发掘出来就是考古学上说的甲骨。根据现有考古材料,甲骨占卜在新石器时代晚期已经出现了,至商代而大盛,商亡以后延续未绝,在某些少数民族甚至保存到现代。古书有不少记述这种卜法的,传世专书较早的有《玉灵照胆经》等,可能是唐代作品。清人胡煦有《卜法详考》,附于他的《周易函书约存》,征引了许多材料。 商代的甲骨常刻有文字,绝大多数都与占卜有关,称为卜辞。由于当时人笃信占卜,事无大小都求决于卜法,所以卜辞的内容非常丰富,在不同程度上反映了社会的各方面,因而有重要的史料价值。迄今为止,有字甲骨只在两处商代遗址发现,一处是河南安阳的殷墟,另一处是郑州。郑州只找到两片带字的骨,均为采集品,所以我们研究的商代甲骨,实际上主要是殷墟甲骨。 殷墟以洹水南岸的小屯为中心,是面积约二十四平方公里的大型遗址。早在北宋时,这里便出土过商代带铭文的青铜器,见于记载。有字甲骨的发现,时在一八九八年的下半年,曾有古董商拿了一些给天津的孟定生、王襄看过,他们认为是古简。一八九九年,在北京的著名金石学家王懿荣对甲骨作了鉴定,这种珍贵文物才为世所知。到一九零八年,罗振玉首先弄清楚甲骨的出土地点,随后他和王国维考定殷墟是商朝晚期的旧都。甲骨的发现以及殷墟性质的推定,最后导致一九二八年开始的殷墟发掘,这是中国现代考古学的肇端。因此,甲骨的发现,不仅在我国,在世界考古学史上也有很重大的意义。 从甲骨发现到现在共八十几年,殷墟陆续出土了大量甲骨,而且看来还会有更多的发现。现已出土的有字甲骨,整版的不多,大多数是残碎的。不管是整版的还是残碎的,可以片为单位来统计。已发现的究竟有多少片,学术界有不同的估计,我们的意见是约十万片左右。这个数字,可以说相当庞大了。 上面说过,殷墟是商朝晚年的首都。在这里建都的,有盘庚、小辛、小乙、武丁,祖庚、祖甲、廩辛、康丁、武乙、文丁(卜辞称文武丁)、帝乙、帝辛十二位商王(依古本《竹书纪年》说)。殷墟甲骨的时代,目前有明确证据判定的是武丁到帝乙的卜辞。是否发现了盘庚到小乙的卜辞,帝辛卜辞是否存在,还有待进一步探索。其中武丁时的甲骨为数最多,占到甲骨总数的一半。武丁被称为殷高宗,在位长达五十九年,国力强盛,战国时还有学者称颂他是“天下之盛君”。属于他的时期的甲骨最多,是很自然的事。

相关主题
文本预览
相关文档 最新文档