重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
表创建完成后使用下列命令添加列的注释:
永修网站建设公司创新互联,永修网站设计制作,有大型网站制作公司丰富经验。已为永修1000+提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的永修做网站的公司定做!
comment on column 表名.字段名 is '注释';表的注释:yang@rac1desc user_col_comments
Name Null? Type
-------------------------- -------- ------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
COMMENTS VARCHAR2(4000)
yang@rac1comment on table tchar is ' 这是一个测试表';
Comment created.
yang@rac1select table_name ,comments from user_tab_comments;
TABLE_NAME COMMENTS
------------------------------ -----------------------
TCHAR 这是一个测试表
表中字段的注释:
yang@rac1desc user_col_comments
Name Null? Type
------------------------ -------- ----------------------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
COMMENTS VARCHAR2(4000)
yang@rac1comment on column tchar.val is ' 测试 来自客户 ';
Comment created.
yang@rac1col comments for a45
yang@rac1select comments from user_col_comments where table_name='TCHAR' and column_name='VAL';COMMENTS
测试 来自客户
使用comment on,举个例子:
create table EMP
(
empid NUMBER
);
comment on table EMP
is '员工信息'; --添加表描述
comment on column EMP.empid
is '员工编号'; --添加列描述
Oracle添加注释的语法为:
comment on column 字段名 is '注释名';
举例:
创建表:
CREATE TABLE t1(
id varchar2(32) primary key,
name VARCHAR2(8) NOT NULL,
age number,
);
添加表注释:
COMMENT ON table t1 IS '个人信息';
添加字段注释:
comment on column t1.id is 'id';
comment on column t1.name is '姓名';
comment on column t1.age is '年龄';
1 audit
用审记来记录用户的操作信息
2 trigger
用系统触发器来记录用户登录
3 logmnr
从log文件中挖出用户登录信息
推荐使用第3种,不占用系统资源,而且很方便。
===============================
Oracle 中记录用户登录信息
我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使Oracle 性能下降,甚至导致 Oracle 崩溃。那我们如何才能记录用户登录信息呢?其实我们可以通过建立触发器的方式来实现。方法如下:
1. 用 sys 用户登录 Oracle
2. 创建记录用户登录信息的表
CREATE TABLE LOG$INFORMATION
(
ID NUMBER(10),
USERNAME VARCHAR2(30),
LOGINTIME DATE,
TERMINAL VARCHAR2(50),
IPADRESS VARCHAR2(20),
OSUSER VARCHAR2(30),
MACHINE VARCHAR2(64),
PROGRAM VARCHAR2(64),
SID NUMBER,
SERIAL# NUMBER,
AUSID NUMBER
)
/
3. 创建一个 Sequence,作为登录信息的主键
CREATE SEQUENCE LOGIN_SEQ
minvalue 1
maxvalue 9999999999
start with 1
increment by 1
cache 20
/
4. 创建触发器,记录用户登录信息
CREATE OR REPLACE TRIGGER LOGIN_RECORD_TR
AFTER logon ON DATABASE
DECLARE
mtSession v$session%ROWTYPE;
CURSOR cSession(iiQuerySid IN NUMBER) IS
SELECT * FROM v$session
WHERE audsid = iiQuerySid;
BEGIN
OPEN cSession(userenv('SESSIONID'));
FETCH cSession INTO mtSession;
IF cSession%FOUND AND SYS_CONTEXT ('USERENV','IP_ADDRESS') IS NOT NULL THEN
INSERT INTO log$information(
id,
username,
logintime,
terminal,
ipadress,
osuser,
machine,
program,
sid,
serial#,
ausid
) VALUES(
login_seq.nextval,
USER,
SYSDATE,
mtSession.Terminal,
SYS_CONTEXT ('USERENV','IP_ADDRESS'),
mtSession.Osuser,
mtSession.Machine,
mtSession.Program,
mtSession.Sid,
mtSession.Serial#,
userenv('SESSIONID')
);
END IF;
CLOSE cSession;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
/
5. 将 SYS.LOG$INFORMATION 授权给需要查看登录记录的用户
Grant select on SYS.LOG$INFORMATION to XXX
/
=======================================
审计用户登录和登出
记录每个用户每次登录数据库和退出数据库的日期和事件。设置步骤如下:
1. 设置系统审计相关的参数
2. 重新启动数据库
3.以SYSTEM帐号登录数据库执行下列语句,设置CONNECT审计并检查是否设置成功:
SQL connect system/password
SQL audit connect
SQL col user_name format a11
SQL col audit_option format a14
SQL select user_name, audit_option, success, failure
from sys.dba_stmt_audit_opts;
USER_NAME AUDIT_OPTION SUCCESS FAILURE
----------- -------------- ---------- ----------
CREATE SESSION BY ACCESS BY ACCESS
4.查询 AUD$表就可以查看到审计结果了
SQL col userid format a8
SQL select sessionid, to_char(timestamp#,'DD-MON-YY:HH24:MI:SS') login,
userid, to_char(logoff$time,'DD-MON-YY:HH24:MI:SS') logoff
from sys.aud$ where userid='SCOTT';
SESSIONID LOGIN USERID LOGOFF
---------- ------------------ -------- ------------------
132 22-FEB-00:13:55:06 SCOTT 22-FEB-00:14:04:05
注意:不同的版本的ORACLE数据库AUD$字典会有所不同,实际情况请参照你当前版本的数据库的AUD$表。
1.4.11 审计SYS用户的操作(ORACLE 9i Release 2)
在ORACLE 9.2之前,SYS帐户是系统中的一个唯一不受审计的帐户。在ORACLE 9I Release 2和以后的版本中,通过一些设置就可以对SYS帐号进行审计。
在ORACLE 9.2以后的版本中,可以通过设置AUDIT_SYS_OPERATIONS可以实现对具有SYS/SYSDBA/SYSOPER权限的用户的审计。
1.4.12 使用WINDOWS 事件管理器来记录审计信息
和UNIX系统不同,WINDOWS的审计结果不是存储在操作系统文件中,而是直接存储在WINDOWS 事件日志中。本节介绍如何配置数据库审计,并用事件管理器来查看审计记录。
在WINDOWS下设置数据库审计,需要按照如下的步骤:
1、配置审计
首先要确认WINDOWS的事件日志(EVENTLOG)服务是否启动。可以通过“控制面板/管理工具/服务”工具来查看。
然后通过修改ORACLE的参数(参数修改方法参见前面的关于ORACLE参数文件的描述)AUDIT_TRAIL:
AUDIT_TRAIL=0S
在WINDFOWS平台下要注意的是:
不管AUDIT_TRAIL设置为什么值,有部分ORACLE的操作会记录在事件日志中
在WINDOWS下不支持AUDIT_FILE_DEST参数,如果设置了该参数,数据库会报错
LRM-00101: UNKNOWN PARAMETER NAME 'AUDIT_FILE_DEST'
ORA-01078: FAILURE IN PROCESSING SYSTEM PARAMETERS
在使用审计前,要确保事件日志有足够大的空间来存储审计信息
2、检查是否安装好AUDIT相关的对象
最简单的检查方法是看看AUD$是否存在。如果AUDIT相关对象安装不正确,可以通过%ORACLE_HOME%\rdbms\admin\cataudit.sql脚本来安装AUDIT相关对象。如果要删除审计,可以执行%ORACLE_HOME%\rdbms\admin\catnoaud.sql。
3、配置审计
在配置审计之前,首先要说明的是,审计是一种会带来额外开销的操作。因此在可能的情况下,尽量减少审计操作。另外,如果打开审计操作,那么对一些数据库事件的审计是缺省的,这些审计事件包括:
实例关闭
通过SYSOPER和SYSDBA连接数据库
在WINDOWS下配置审计的步骤和在UNIX下配置审计类似,这里就不再描述了。审计信息会自动写入WINDOWS的事件日志种,通过事件管理器可以查看日志。
装好oracle后,装DB,然后IMP你的DMP档。
根据你导出的DMP档,导入的步骤可能有所不同,一般如果是按schema导出的话,导入前需建立tablespace,相应schema,授权,然后IMP,格式类似如下:
imp username/password@db file=DMP NAME full=y
1:首先打开oracle,在左侧中右击选择新建表。
2:然后选择添加数据,添加完一组数据之后,紧接着还可以添加一组数据,把自己要填写的数据都上传之后就可以了。
3:点击另存为,这个时候会出现一个窗口,出入文件的名字,点击确定即可。
4:在表的下方就会出现一个名为Class的表,这个时候就已经创建好了,如果不行,可以按照上述步骤重新操作,看看是不是哪里出现了问题。