oracle笔记
发表于:2007-07-02来源:作者:点击数:
标签:
一、数据库语言部分 1. SQL语言:关系数据库的标准语言 2. PL/SQL:过程化语言Procedural Language 3. SQL*Plus:简单的报表,操作系统接口 4. Oracle 8.01后出现: (1) 数据分区技术:只适用8.01后的版本,数据分散存放,不要放在一个硬盘上,I/O 性能 好,
一、数据库语言部分
1. SQL语言:关系数据库的标准语言
2. PL/SQL:过程化语言Procedural Language
3. SQL*Plus:简单的报表,操作系统接口
4. Oracle 8.01后出现:
(1) 数据分区技术:只适用8.01后的版本,数据分散存放,不要放在一个硬盘上,I/O
性能好,
安全性能好。
(2) 对象技术:存储过程、函数、包、数据库触发器、动态SQL编程
(3) 数据库权限管理
(4) 数据完整性约束(Data Integrity Constraints)
二、Oracle 数据库核心,数据库管理员DBA
数据库的管理与日常维护
数据库总体设计
数据库存储结构设计:物理结构、逻辑结构
/**************************************************************************************************
可以运行Oracle的操作系统:
UNIX:Sun Solaris, HP-UX, AIX, Compaq-Tru64, SCO-UNIX和
Linux(运行在PC机上)
Windows NT/2000
P4机器上不能安装Oracle,要想安装需要对安装文件进行修改或者
下载补丁程序
在P4机器上安装Oracle的方法(只限于Intel P4机器):
将Oracle的安装光盘拷贝到硬盘上,然后将 tage\components\
oracle.swp.jre\win32\bin ymcjit.dll 文件改名为symcjit.org,然后再开始安装。
***************************************************************************************************/
数据库的备份与恢复
优化与性能调整
三、应用系统
开发四、应用服务器OAS
五、在Windows NT/2000下清除Oracle8i运行环境(重新安装前的准备工作):
1. 删除Oracle8i注册表:
regedit.exe => HKLM => Software => ORACLE
2. 删除Oracle8i服务:
regedit.exe => HKLM => System => CurrentControlset => Services => 以Oracle开头的服务
3. 删除Oracle8i事件日志:
regedit.exe => HKLM => System => CurrentControlset => Services => Eventlog => Application => 以Oracle开始的事件
4. 删除Windows NT/2000安装磁盘\Program Files\Oracle目录。
5. 删除Oracle8i环境变量
控制面板 => 系统 => 高级 => 环境变量
(1) 删除CLASSPATH
(2) 编辑PATH,将其中与Oracle有关系的路径删除。
6. 删除Oracle8i菜单
7. 重新启动Windows NT/2000,停止服务。
8. 删除Oracle8i主目录。
/*
IP: 75.64.16.X
Mask: 255.255.248.0
GateWay: 75.64.16.3
DNS: 75.64.16.3
*/
[七、Oracle
网络配置]
/*
(1) 查询数据库名:
SQL> select name from v$database;
(2) 查询数据库实例名:
SQL> select instance_name from v$instance;
(3) 查询数据库服务名:
SQL> select value from v$parameter where name=@#service_names@#; // (小写)
(4) 查询全局数据库名(sys用户):
SQL> select value$ from props$ where name=@#GLOBAL_DB_NAME@#; // 字符串区分大小写
*/
1. Oracle网络驱动使用SQL*Net v2.0 连接
Oracle for Win98 -> SQL*Net Easy Configuration
2. Oracle 网络驱动使用Net8 连接
3. Oracle 网络驱动使用Net8i 连接
Oracle程序组-> Network Administration -> Net8 Assistant
[创建TNS连接过程]:
(1) 启动Net8 Assistant
(2) 本地->服务命名
(3) 编辑->创建...
(4) 第一页:网络服务名:给要使用的网络数据库在本机指定一个Host String,自己定义。
(5) 第二页:协议:TCP/IP(Inte
.net协议)
(6) 第三页:
主机名:输入对方机器的IP地址或域名。
端口号:默认是1521,一般不需要修改。
(7) 第四页:(Oracle8i)服务名:输入网络数据库的服务名
(8) 第五页:完成。
(9) 菜单:文件->保存网络配置。
监视用户会话:
SQL> select username, sid, serial#, machine from v$session;
删除用户会话:
SQL> alter system kill session @#sid,serail#@#;
/* 练习
sqlplus stud01/stud01
SQL> show user
SQL> select * from emp;
SQL> select * from dept;
*/
[ // 使用下面的方法可以重复执行上一条SQL语句(在SQL*Plus中)
SQL> l //小写字母L,显示上一条SQL语句
1* select username, sid, serial#, machine from v$session
SQL> / // 正斜杠:重复执行上一条SQL语句
SQL> set linesize 1000 //将SQL*Plus中显示行宽设成1000个字符。
SQL> connect system/manager@orasjz // 在SQL*Plus中直接连接到另一台机器上的数据库,@字符后是另一台机器的tnsname
]
4. 手工配置Oracle网络连接:主要是配置"tnsnames.ora"文件。
A. 手工配置Oracle网络连接配置文件:tnsnames.ora
(1) 在UNIX中:/u01/app/oracle/product/8.1.6/network/admin/tnsnames.ora
(2) 在Windows 98/NT/2000中:d:\oracle\ora81\network\admin\tnsnames.ora
B. 手工配置Oracle监听进程配置文件:listener.ora
(1) 在UNIX中:/u01/app/oracle/product/8.1.6/network/admin/listener.ora
UNIX下启动进程命令:
$ lsnrctl start // 启动监听进程
$ lsnrctl status // 显示监听进程状态
$ lsnrctl stop // 停止监听进程
(2) 在Windows 98/NT/2000中:d:\oracle\ora81\network\admin\listener.ora
启动进程的命令与UNIX相同。
# LISTENER.ORA Network Configuration File: d:\Oracle\Ora81\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ORA54)(PORT = 1521))
//注意:上面一行的HOST必须是你的主机名,否则监听会出问题,也可以使用你的机器的IP地址
)
)
(DESCRIPTION =
(PROTOCOL_STACK =
(PRESENTATION = GIOP)
(SESSION = RAW)
)
(ADDRESS = (PROTOCOL = TCP)(HOST = ORA54)(PORT = 2481))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\Oracle\Ora81)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ora54)
(ORACLE_HOME = d:\Oracle\Ora81)
(SID_NAME = ora54) // 注意:ora54为数据库的SID名称,不能更改,否则监听出问题
)
)
5. 将主机字符串(Host String)写入注册表(简化SQL*Plus的登录)
regedit.exe -> HKLM -> Software -> Oracle -> home0
增加关键字: local(字符串),键值:主机字符串名。
/* 将下面的内容复制到一个.reg文件中,在Windows 2000中双击执行,即可实现增加或者修改local键值的作用
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE OFTWARE\ORACLE\HOME0]
"local"="ora54"
*/
[SVRMGRL: Server Manager的使用方法]
D:\>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
版权所有 (c) 1997,1999,Oracle Corporation。保留所有权利。
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> connect internal //使用svrmgrl,进入后使用的第一个命令必须是这个命令。
口令: // 如果要求输入口令,请输入oracle
连接成功。
SVRMGR> select name from v$database; // 检查当前使用的数据库名
NAME
---------
ORA44
已选择 1 行。
SVRMGR> shu
tdown immediate //关闭当前使用的数据库
已关闭数据库。
已卸下数据库。
已关闭 ORACLE 实例。
SVRMGR> startup //启动当前使用的数据库,如果无效,请使用startup force
已启动 ORACLE 实例。
系统全局区域合计有 24433932个字节
Fixed Size 70924个字节
Variable Size 7507968个字节
Database Buffers 16777216个字节
Redo Buffers 77824个字节
ORA-00205: ?????????????????????
SVRMGR>
[另一个启动oracle数据库的例子]
d:\> sqlplus internal/oracle
SQL> startup force //强行重新启动数据库。
[修改口令字]
SQL> grant connect to system identified by NewPassword; //如果用数字作口令,需要使用双引号括起来
SQL> grant connect to sys identified by NewPassword;
SQL> alter user system identified by NewPassword;
SQL> alter user sys identified by NewPassword;
SQL>password //需要输入原口令
// 注:以上修改口令的方法等价;sys与system用户可以互相修改口令;如果sys与system用户的口令都忘记了,使用如下方法:
D:\>svrmgrl
Oracle Server Manager Release 3.1.6.0.0 - Production
版权所有 (c) 1997,1999,Oracle Corporation。保留所有权利。
Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
SVRMGR> connect internal/oracle
连接成功。
SVRMGR> grant connect to system identified by manager;
语句已处理。
SVRMGR> exit
服务器管理程序结束。
原文转自:http://www.ltesting.net