数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora
10gstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 10gstandby)
)
)
2、创建数据库链接,
create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName';
注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。
SQL>create public database link dvd connect to system identified by system using 'orcl10g';
则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据:
......
Oracle Connect By用法
oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是:
select ... from <TableName>
where <Conditional-1>
start with <Conditional-2>
connect by <Conditional-3>
;
<Conditional-1>:过滤条件,用于对返回的所有记录进行过滤。
<Conditional-2>:查询结果重起始根结点的限定条件。
<Conditional-3>:连接条件
数据组织结构如下图:
数据库表结构如下:
create table t2(
root_id number,
id number,
name varchar(5),
description varchar(10)
);
insert into t2(root_id,id,name,description) values(0,1,'a','aaa');
insert into t2(root_id,id,name,description) values(1,2,'a1','aaa1');
insert into t2(root_id,id,name,description) values(1,3,'a2','aaa2');
insert into t2(root_id,id,name,description) values(0,4,'b','bbb');
insert into t2(root_id,id,name,description) values(4,5,'b1','bbb1');
insert into t2(root_id,id,name,description) values(4,6,'b2','bbb2');
获取完整树: ......
Oracle 权限设置
一、权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
二、系统权限管理:
1、系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、系统权限授权命令:
[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]
授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;
[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]
例:
SQL> connect system/manager
SQL> Create user user50 identified by user50;
SQL> grant connect, resource to user50;
查询用户拥有哪里权限:
SQL> select * from dba ......
1. Oracle安装完成后的用户名和密码
sys/change_on_install
system/manager
scott/tiger
sysman/oem_temp
internal/oracle
2.修改用户的密码
SQL> conn sys/change_on_install as sysdba
Connected.
SQL> alter user sys identified by ******;
User altered.
3.为用户解锁
SQL> conn scott/tiger
ERROR:
ORA-28000: the account is locked
Warning: You are no longer connected to ORACLE.
SQL>conn sys/change_on_install as sysdba
Connected.
SQL> alter user scott account unlock;
User altered.
锁定用户:
SQL> alter user scott account lock;
4.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
5.查看用户或角色系统权限:
select * from dba_sys_privs;
select * from user_sys_privs;
6.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
7..查看所有角色:
select * from dba_roles;
......
Oracle 10G 如何使用超过1.7G的内存
2009-07-08 12:52:46
如果你的ORACLE 版本是32位的,如果不做一些配置你是无论如何使用不到1.7G以上内存的。
前两天公司里一个软件系统,需要配置这样的环境,对于我这样的ORACLE所谓的高手,有点不知所措,甚至要硬着头皮去搞定它,
这可是到新公司接到的第一件活。必须搞定,否则ORACLE DBA就图有虚名了。 于是马上上网搜一下,文章果然,但是大都雷同,
而且针对的是ORACLE9I 的。我在实验的时候,也把客户的环境搞杂了,实在惭愧呀。不过经过一天多的折腾,也算是搞出来了。
软件环境:
Oracle 10.2.0.1
OS:Windows 2003 Server SP2 32bit
硬件环境:
内存:4G
CPU:Intel Core(TM)2 6300 1.86Ghz
这个环境很重要,特别是ORACLE的版本,跟ORACLE9i的配置肯定是不一样的。
1) 操作系统配置AWE,主要是修改boot.ini文件
右击"我的电脑",选择"属性"-->高级选项卡,找到“启动与故障恢复”,单击“设置”,然后单击“编辑”,
加/PAE选项,修改后的文件如下:
[boot loader]
timeout=30
default= ......
软件环境:
1、Windows XP + Oracle 10g
2、Oracle安装路径为:d:\Oracle
实现方法:
1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务;
2、开始->程序->Oracle – OraDb10g_home1>Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除;
3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口;
4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口;
5、运行refedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口;
6、开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定;
7、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标;
8、删除c:\Program Files\Oracle目录;
9、重新启动计算机,重起后才能完全删除Oracle所在目录 ;
10、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows ......