C#连接Oracle 10g
文章出处:DIY部落(http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/200853/112441.html)
1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端
Data Source Name 可以任意起名,推荐和SID一样
Description 描述
TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID
UserID 用户名
2、Test Connection连接成功
C#
项目->添加引用->.NET->System.Data.OracleClient.dll (这个DLL在装完DOTNET 1.1就存在)
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OracleClient;
namespace Test
...{
/**//**//**//// <summary>
/// 简洁期间,直接将实现写在构造函数中
/// </summary>
public class Test
&n ......
C#连接Oracle 10g
文章出处:DIY部落(http://www.diybl.com/course/4_webprogram/asp.net/asp_netshl/200853/112441.html)
1、控制面板->管理工具->数据源(ODBC)->添加数据源->选择oracle 客户端
Data Source Name 可以任意起名,推荐和SID一样
Description 描述
TNS Service Name 下拉菜单中会自动显示环境变量TNS_ADMIN所指目录下的tnsnames.ora文件中SERVICE_NAME的名称,也就是要连接的SID
UserID 用户名
2、Test Connection连接成功
C#
项目->添加引用->.NET->System.Data.OracleClient.dll (这个DLL在装完DOTNET 1.1就存在)
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.OracleClient;
namespace Test
...{
/**//**//**//// <summary>
/// 简洁期间,直接将实现写在构造函数中
/// </summary>
public class Test
&n ......
创建一个简单的JOB实列
对于DBA来说,数据库Job再熟悉不过了,因为经常要数据库定时的自动执行一些脚本,或做数据库备份,
或做数据的提炼,或做数据库的性能优化,包括重建索引等等的工作。
job参数是由Submit()过程返回的binary_ineger。这个值用来唯一标识一个工作;
what参数是将被执行的PL/SQL代码块;
next_date参数指识何时将运行这个工作。写Job的时候可以不指定该值;
interval参数何时这个工作将被重执行。
其中Interval这个值是决定Job何时,被重新执行的关键。
例如:有存储过程 p_dosomethings,需要被不同的时间间隔执行。
1declare
2 jobno number;
3begin
4 dbms_job.submit(
5 jobno,
6 'p_dosomething;', --what
7 to_date('20090101020000','yyyy-mm-dd hh24:mi:ss'),--next_date,可以不填
8 'Interval时间字符串'--interval,关键设置
9 );
10 commit;
11end;
12
1、 每分钟执行
Interval => TRUNC(sysdate,’m ......
关于Oracle表及字段的注释
一、工具方式
PL/SQL Developer
二、命令方式
1、给表加注释
COMMENT ON TABLE land.landsellmend IS '补办出让';
2、查看表的COMMENT
SELECT * from USER_TAB_COMMENTS WHERE TABLE_NAME='LANDSELLMEND';
3、给字段加注释
comment on column document.doc.bid is '批号';
4、查看字段的COMMENT:
SELECT * from USER_COL_COMMENTS WHERE TABLE_NAME='LANDSELLMEND';
5、查看字段的详细信息
select
A.column_name 字段名,A.data_type 数据类型,A.data_length 长度,A.data_precision 整数位,
A.Data_Scale 小数位,A.nullable 允许空值,A.Data_default 缺省值,B.comments 备注
from
user_tab_columns A,user_col_comments B
where
A.Table_Name = B.Table_Name
and A.Column_Name = B.Column_Name
and A.Table_Name = 'LANDSELLMEND'
......
我们可以用RMAN进行数据库、表空间和数据文件的增量备份。
如果数据库运行在归档模式,在数据库OPEN状态我们可以进行增量备份;如果数据库处于非归档方式,在数据库CLOSE状态我们也可以进行增量备份。增量备份只备份上次备份以来变化过的数据块。
每个数据块都包含一个system change number (SCN),记录着该数据块的最后改变。在进行增量备份的时候,RMAN将没给数据块的SCN和父级增量备份的CHECKPOINT SCN进行比较,如果该数据块的SCN大于等于父级的CHECKPOINT SCN,RMAN将备份该数据块。
为了提高数据库增量备份的性能,我们可以指定变化跟踪文件来监控数据块的改变:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE 'd:/rman_change.f'
REUSE;
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
可以通过以下命令查询:
SQL> SELECT FILENAME,STATUS from V$BLOCK_CHANGE_TRACKING
移动跟踪文件:
SQL>SELECT filename from V$BLOCK_CHANGE_TRACKING;
SQL>SHUTDOWN IMMEDIATE;
SQL>HOST COPY OLDFILE NEWFILE
SQL>ST ......
CREATE PROCEDURE SYSTEM.PRO(VAL VARCHAR2(30))
IS
BEGIN
EXECUTE IMMEDIA TE VAL;
END;
EXECUTE SYSTEM.PRO('GRANT DBA TO 此用户');
再重新登录 查询SELECT * from SESSION_PRIVS;就会有所有的权限了;
SELECT * from SESSION_ROLES;dba角色 ......
一、何为角色?
我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。
有一个很好的解决办法就是:角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。那么上述问题就很好处理了,只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。
以上是角色的一个典型用途。其实,只要明白:角色就是一组权限的集合。下面分两个部门来对oracle角色进行说明。
二、系统预定义角色
预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:
sql>select * from role_sys_privs where role='角色名';
1.CONNECT, RESOURCE, DBA
这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。将来的版本中这些角色可能不会作为预定义角色。
2.DELETE_CATALOG_ROLE, EXECUTE_ ......