知识大全 Oracle管理及常用基础脚本
Posted 数据库
篇首语:同时赶两只兔,一只也捉不到。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Oracle管理及常用基础脚本相关的知识,希望对你有一定的参考价值。
Oracle管理及常用基础脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
性能监控
检测数据库中的事件和等待
SELECT event total_waits total_timeouts time_waited average_wait
FROM v$system_event
查询会话中的事件和等待时间
select sid event total_waits average_wait
from v$session_event where sid= ;
查询等待进程
SELECT sid seq# event wait_time state
FROM v$session_wait;
监控全局区的性能
select * from v$sgastat;
查询命中率
select gethitratio
from v$librarycache
where namespace = SQL AREA ;
当前 sql 语句
select sql_text users_executing
executions loads
from v$sqlarea;
查询高速缓存中的命中率
select sum(pins) Executions sum(reloads) Cache Misses
sum(reloads)/sum(pins)
from v$librarycache;
查询全局字典中的有效装载次数
select namespace pins reloads invalidations
from v$librarycache;
回滚段的争用情况
select name waits gets waits/gets Ratio
from v$rollstat a v$rollname b
where a usn = b usn;
监控表空间的 I/O 比例
select df tablespace_name name df file_name file f phyrds pyr
f phyblkrd pbr f phywrts pyw f phyblkwrt pbw
from v$filestat f dba_data_files df
where f file# = df file_id
order by df tablespace_name;
监控文件系统的 I/O 比例
select substr(a file# ) # substr(a name ) Name
a status a bytes b phyrds b phywrts
from v$datafile a v$filestat b
where a file# = b file#;
在某个用户下找所有的索引
select user_indexes table_name user_indexes index_name uniqueness column_name
from user_ind_columns user_indexes
where user_ind_columns index_name = user_indexes index_name
and user_ind_columns table_name = user_indexes table_name
order by user_indexes table_type user_indexes table_name
user_indexes index_name column_position;
监控 SGA 中字典缓冲区的命中率
select parameter gets Getmisses getmisses/(gets+getmisses)* miss ratio
( (sum(getmisses)/ (sum(gets)+sum(getmisses))))* Hit ratio
from v$rowcache
where gets+getmisses <>
group by parameter gets getmisses;
监控 SGA 中共享缓存区的命中率 应该小于 %
select sum(pins) Total Pins sum(reloads) Total Reloads
sum(reloads)/sum(pins) * libcache
from v$librarycache;
select sum(pinhits reloads)/sum(pins) hit radio sum(reloads)/sum(pins) reload percent
from v$librarycache;
显示所有数据库对象的类别和大小
select count(name) num_instances type sum(source_size) source_size
sum(parsed_size) parsed_size sum(code_size) code_size sum(error_size) error_size
sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required
from dba_object_size
group by type order by ;
监控 SGA 中重做日志缓存区的命中率 应该小于 %
select name gets misses immediate_gets immediate_misses
Decode(gets misses/gets* ) ratio
Decode(immediate_gets+immediate_misses
immediate_misses/(immediate_gets+immediate_misses)* ) ratio
FROM v$latch WHERE name IN ( redo allocation redo copy );
监控内存和硬盘的排序比率 最好使它小于 增加 sort_area_size
SELECT name value FROM v$sysstat WHERE name IN ( sorts (memory) sorts (disk) );
监控字典缓冲区
select (sum(pins reloads)) / sum(pins) lib cache from v$librarycache;
select (sum(gets getmisses usage fixed)) / sum(gets) row cache from v$rowcache;
select sum(pins) executions sum(reloads) cache misses while executing from v$librarycache;
后者除以前者 此比率小于 % 接近 % 为好
select sum(gets) dictionary gets sum(getmisses) dictionary cache get misses
from v$rowcache
找 ORACLE 字符集
select * from sys props$ where name= NLS_CHARACTERSET ;
监控 MTS
select busy/(busy+idle) shared servers busy from v$dispatcher;
此值大于 时 参数需加大
select sum(wait)/sum(totalq) dispatcher waits from v$queue where type= dispatcher ;
select count(*) from v$dispatcher;
select servers_highwater from v$mts;
servers_highwater 接近 mts_max_servers 时 参数需加大
碎片程度
select tablespace_name count(tablespace_name) from dba_free_space group by tablespace_name
having count(tablespace_name)> ;
alter tablespace name coalesce;
alter table name deallocate unused;
create or replace view ts_blocks_v as
select tablespace_name block_id bytes blocks free space segment_name from dba_free_space
union all
select tablespace_name block_id bytes blocks segment_name from dba_extents;
select * from ts_blocks_v;
select tablespace_name sum(bytes) max(bytes) count(block_id) from dba_free_space
group by tablespace_name;
查看碎片程度高的表
SELECT segment_name table_name COUNT(*) extents
FROM dba_segments WHERE owner NOT IN ( SYS SYSTEM ) GROUP BY segment_name
HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);
表 索引的存储情况检查
select segment_name sum(bytes) count(*) ext_quan from dba_extents where
tablespace_name= &tablespace_name and segment_type= TABLE group by tablespace_name segment_name;
select segment_name count(*) from dba_extents where segment_type= INDEX and owner= &owner
group by segment_name;
找使用 CPU 多的用户 session
是 cpu used by this session
select a sid spid status substr(a program ) prog a terminal osuser value/ / value
from v$session a v$process b v$sesstat c
where c statistic#= and c sid=a sid and a paddr=b addr order by value desc;
空间管理
察看数据库的大小 和空间使用情况
SQL> col tablespace format a 在显示中指明列的输出格式
SQL> select b file_id 文件 ID
b tablespace_name 表空间
b file_name 物理文件名
b bytes 总字节数
(b bytes sum(nvl(a bytes ))) 已使用
sum(nvl(a bytes )) 剩余
sum(nvl(a bytes ))/(b bytes)* 剩余百分比
from dba_free_space a dba_data_files b
where a file_id=b file_id
group by b tablespace_name b file_name b file_id b bytes
order by b tablespace_name
/
dba_free_space 表空间剩余空间状况
dba_data_files 数据文件空间占用情况
查看现有回滚段及其状态
select segment_name owner tablespace_name segment_id file_id status from dba_rollback_segs;
表空间大小
select tablespace_name count(*) sum(blocks) sum(bytes)/ /
from dba_data_files
group by tablespace_name;
表空间使用情况
select df tablespace_name 表空间名 totalspace 总空间 M freespace 剩余空间 M round(( freespace/totalspace)* ) 使用率 %
from (select tablespace_name round(sum(bytes)/ / ) totalspace
from dba_data_files
group by tablespace_name) df
(select tablespace_name round(sum(bytes)/ / ) freespace
from dba_free_space
group by tablespace_name) fs
where df tablespace_name=fs tablespace_name;
删除表空间
select t name d name from v$tablespace t v$datafile d where t name= DATA_HOST_A and t ts#=d ts#;alter tablespace DATA_HOST_A offline;
drop tablespace DATA_HOST_A including contents;
查看数据文件的位置
select tablespace_name file_id bytes/ / file_name from dba_data_files order by file_id;
为这个表空间增加一个数据文件
alter tablespace 表空间名 add datafile /u /oradata/userdata_ ora size m; Unix
alter tablespace 表空间名 add datafile c:\\oradata\\userdata_ ora size m; Windows NT
重新调整数据文件的大小
alter database datafile /u /oradata/userdata_ ora resize M; Unix
alter database datafile c:\\oradata\\userdata_ ora resize M; Windows NT
临时表空间和排序表空间的使用状态
select substr(vses username ) ORA_USER substr(osuser ) OS_USER
substR(sql_text ) SQL_STMT
from
V$sqlarea vsql V$session vses V$sort_usage vsort
where
vsort tablespace = TEMP and vsort sqladdr=vses sql_address and vsql address=vsort sqladdr
select tablespace_name extent_size total_extents used_extents free_extents max_used_size
from v$sort_segment;
确定盘区和盘区内容及表或者空间的碎片程度
select segment_name exten from dba_extents 确定盘区的内容
desc dba_segments 确定段的内容
返回了结果表明碎片的严重
select segment_name tablespace_name extents segment_type from dba_segments where extents>
空间碎片严重程度
select tablespace_name count(tablespace_name) from dba_free_space group by tablespace_name
having count(tablespace_name) >
基本知识
为一个事务指定一个回滚段
set transaction use rollback segment rollback_segment_name 指定回滚段
如何创建和使用光标
光标的使用
declare @name char( )
declare @homebase char( )
declare @style char( )
declare @arttist_id int
create artist_cursor cursor
for select * from dim_age
open artist_cursor
fetch artist_cursor into @arttist_id @homebase @style
while (@@sqlstatus= )
begin
print @homebase
print @style
print @arttist_id
end
close artist_cursor
deallocate cursor artist_cursor
go
如何导出和导入数据
数据导出导入
exp dss/dss@oralce query=\\ where day_id > \\ tables=(customer) file= d:\\sample dmp log=
rows=n
full=y tables=() owner= 三种导出方式
imp userid/pwd@oracle_sid fromuser =( dss dwh) touser =(dss dwh) dwh file=sample dmp
分区表的到导出 user table_name:px 分区 px
exp user_id/pwd@oracle_sid tables=(user table_name:px) file=sample dmp
如何使数据库运行于归档模式
打开 ini ora 文件
修改文件内容
log_archive_start = true
log_archive_dest_ = location=D:\\Oracle\\oradata\\ORACLE\\archive
log_archive_format = %%ORACLE_SID%%T%TS%S ARC
进入服务管理器输入
shutdown
startup mount
alter database archivelog
alter database open
此时数据库运行与归档模式下可以查询输入
archive log list
如何做数据库的热备份和恢复
要对数据库做热备份需要数据库运行在归档模式下 :
首先使表空间处于备份状态
拷贝数据文件
使表空间回复到正常状态
进入 sqlplus 输入
alter tablespace users begin backup ;
$ copy d:\\oracle_home\\usr ora d:\\backup\\user dbf;
alter tablespace users end backup ;
alter system checkpoint ;
恢复数据库需要做如下的步骤
将映像备份文件拷贝到各个表空间对应的正确的位置
svrmgrl
connect internal
startup mount
alter database open
recover database
如何查看所有的表和创建结构相同的表
查看当前所有对象
SQL> select * from tab;
建一个和 a 表结构一样的空表
SQL> create table b as select * from a where = ;
SQL> create table b(b b b ) as select a a a from a where = ;
如何查看当前日期
SQL> select to_char(sysdate yyyy mm dd hh :mi:ss ) from dual;
如何在用户间复制数据
SQL> copy from user to user create table using select * from table ;
视图中不能使用 order by 但可用 group by 代替来达到排序目的
SQL> create view a as select b b from b group by b b ;
通过授权的方式来创建用户
SQL> grant connect resource to test identified by test default tablespace users;
SQL>alter user test quota M on users 在指定的表空间中为某个用户分配资源
SQL> conn test/test
如果不给用户 connect 和 resource 角色的话那么他们在指定的表空间中将
无法创建对象 比如 create table
如何锁定用户的账号和密码
alter user test account unlock/lock;
如何在命令行安装
runInstaller responsefile filename [ silent] [ nowele]
如何使用操作系统认证
Set REMOTE_LOGIN_PASSWORDFILE to NONE
CONNECT / AS SYSDBA
CONNECT / AS SYSOPER
如何通过密码文件认证
$orapwd file=$ORACLE_HOME/dbs/orapw SID password=admin entries=
Set REMOTE_LOGIN_PASSWORDFILE to EXCLUSIVE or SHARED
CONNECT INTERNAL/CONNECT
如何进行管理例程
STARTUP PFILE=/DISK /initU ora
STARTUP[FORCE][RESTRICT][PFILE=filename][OPEN RECOVER][ database]|MOUNT|NOMOUNT]
ALTER DATABASE database MOUNT;
ALTER DATABASE database OPEN READ
ALTER DATABASE database OPEN READ ONLY;
ALTER DATABASE MOUNT | OPEN
ALTER DATABASE OPEN [READ WRITE| READ ONLY]
如何创建物化视图
CREATE MATERIALIZED VIEW LOG ON sales
WITH SEQUENCE ROWID
(prod_id cust_id time_id channel_id promo_id quantity_sold amount_sold)
INCLUDING NEW VALUES; 首先创建视图日志
CREATE MATERIALIZED VIEW sum_sales
PARALLEL
BUILD IMMEDIATE
REFRESH FAST ON MIT
AS
SELECT s prod_id s time_id COUNT(*) AS count_grp SUM(s amount_sold) AS sum_dollar_sales
COUNT(s amount_sold) AS count_dollar_sales SUM(s quantity_sold) AS sum_quantity_sales
COUNT(s quantity_sold) AS count_quantity_sales
FROM sales s
GROUP BY s prod_id s time_id; 然后创建视图
分区表的创建 更改和删除等管理
创建表空间
create tablespace space_name datafile /oradata/space_name dbf size m
创建分区表
create table mx_xsmx (cat char( ) product varchar( ))
partition by range(cat) 有 range hash list 三种分区方法
(partition xsmx_ values less than ( B ) tablespace space_name
partition xsmx_ values less than (maxvalue) tablespace space_name )
添加分区
alter table mx_xsmx add partition xsmx_ values less than ( Z )
将某一个分区割裂
alter table mx_xsmx split partition xsmx_ at ( G ) into (partition xsmx_ partition xsmx_ )
删除分区
alter table mx_xsmx drop partition xsmx_
alter table mx_xsmx truncate partition xsmx_
alter table mx_xsmx rename partition xsmx_ to xsmx_
alter table mx_xsmx modify partition xsmx_
storage (next m pctincrease )
分区表的导出 某个分区
exp sales/sales_password tables=mx_xsmx:xsmx_ rows=Y
file=sales _q dmp
IMPORT 分区
ORACLE 的 IMPORT 工具可在表的分区以及导入数据 例如在 年 用户要查看 年的数据 DBA 必须导入 年的数据 使之在线 操作如下 STEP 建立表的 年的四个表空间和相应的分区 参照( ) STEP 导入数据
oracle$ imp sales/sales_password FILE =sales _q dmp
TABLES = (sales:sales _q ) IGNORE=y
选择指定的分区来查询结果
select * from mx_xsmx partition (xsmx_ ) where DeptNo beeen and
对分区表来作索引
create index index_name on table_name(DeptNO 列名 )
local (partition part tablespace space_idx partition part tablespace space_idx )
创建表的语句中参数的含义
创建表及其参数含义
CREATE TABLE MB_CPZ (
YWFWDM VARCHAR ( )
CPZDM VARCHAR ( ))
TABLESPACE DWSDATA
PCTFREE 本参数设置为非零的时候后台 SMON 进程会自动合并相邻的自由范围
PCTUSED 为恢复 INSERT 操作而设定的
INITRANS
MAXTRANS
STORAGE (
INITIAL 初始范围为 个字节就是 K oracle 的块大小我们设定为 K 这也是 Oracle 给出的默认值
NEXT Oracle 将不会考虑这个设置的值
MINEXTENTS 最少 个范围
MAXEXTENTS 最大范围 Oracle 将不会考虑这个设置的值
FREELISTS FREELIST GROUPS )
NOCACHE; 不放入高速缓存
[LOGGING|NOLOGGING] 所有的对表的操作都要记入 REDOLOG ORACLE 建议使用 NOLOGGING
手动修改表的参数
ALTER TABLE 名称 PCTFREE PCTUSED STOAGE ( MAXEXTENTS )
手工分配空间
ALTER TABLE 名称 ALLOCATE EXTENT ( SIZE K DATAFILE )
索引的基本知识
一 索引的分类
逻辑上
单列索引 复合索引 唯一索引 非唯一索引
物理上
B TREE OR BITMAP
B TREE ( NORMAL 和反向索引)
二 CREATE INDEX
CREATE INDEX 名称 ON 表名(列名) PCTFREE STORAGE ( ) TABLESPACE 名称没有定义 PCTUSED 索引是按照一定存储的 如果通过 PCTUSED 允许恢复对 BLOCK 的 INSERT 操作 可能影响 INDEX 的效率
三 建立索引的注意事项
索引对查询性能有提高 但对 DML 语句有影响
索引也应该放在一个专用的表空间
定义索引的 EXTENT 的大小时 = *DB BLOCK
建立索引时 应采用 NOLOGGING 方式
四 修改索引
ALTER INDEX 名称 STORAGE (新值)
五 分配空间给索引
ALTER INDEX 名称 ALLOCATE EXTENT ( SIZE K DATAFILE )
六 重建索引
提高查询性能
当一个索引重建时 老的索引会在新索引建立完成后 被删除
新索引建立过程中 老的索引仍可用于查询
硬盘的开销大
七 DROP 一个索引
DROP INDEX 名称
八 信息获取
DBA_INDEXES: 建索引的参数
DBA_IND_COLUMNS:
ORACLE 中用户管理
一 ORACLE 的安全域
TABLESPACE QUOTAS 表空间的使用定额
DEFAULT TABLESPACE 默认表空间
TEMPORARY TABLESPACE 指定临时表空间
ACCOUNT LOCKING 用户锁
RESOURCE LIMITE 资源限制
DIRECT PRIVILEGES 直接授权
ROLE PRIVILEGES 角色授权先将应用中的用户划为不同的角色
二 创建用户时的清单
选择一个用户名称和检验机制 A 看到用户名 实际操作者是谁 业务中角色
选择合适的表空间
决定定额
口令的选择
临时表空间的选择 先建立一个临时表空间 然后在分配 不分配 使用 SYSTEM 表空间
CREATE USER
授权 A 用户的工作职能 B 用户的级别
三 用户的创建
命令
CREATE USER 名称 IDENTIFIED BY 口令 DEFAULT TABLESPACE 默认表空间名 TEMPOARAY TABLESPACE 临时表空间名 QUOTA M ON 表空间名
[PASSWORD EXPIRE] 当用户第一次登陆到 ORACLE 创建时所指定的口令过期失效 强迫用户自己定义一个新口令 [ACCOUNT LOCK] 加用户锁
QUOTA UNLIMITED ON TABLESPACE 不限制 有多少有多少
[PROFILE 名称 ] 受 PROFILE 文件的限制
四 如何控制用户口令和用户锁
强迫用户修改口令 ALTER USER 名称 IDENTIFIED BY 新口令 PASSWORD EXPIRE
给用户加锁 ALTER USER 名称 ACCOUNT [LOCK|UNLOCK]
注意事项
A 所有操作对当前连接无效
B 的操作适用于当用户忘记口令时
五 更改定额
命令 ALTER USER 名称 QUOTA ON 表空间名
ALTER USER 名字 QUOTA (数值) K|M|UNLIMITED ON 表空间名
使用方法
A 控制用户数据增长
B 当用户拥有一定的数据 而管理员不想让他在增加新的数据的时候
C 当将用户定额设为零的时候 用户不能创建新的数据 但原有数据仍可访问
六 DROP 一个 USER
DROP USER 名称 适合于删除一个新的用户
DROP USER 名称 CASCADE 删除一个用户 将用户的表 索引等都删除
对连接中的用户不好用
七 信息获取
DBA_USERS: 用户名 状态 加锁日期 默认表空间 临时表空间
DBA_TS_QUOTAS: 用户名 表空间名 定额
两个表的连接字段 USERNAME
GRANT CREATE SESSION TO 用户名
PROFILE 的管理(资源文件的管理)
一 PROFILE 的管理内容
CPU 的时间
I/O 的使用
IDLE TIME (空闲时间)
CONNECT TIME (连接时间)
并发会话数量
口令机制
二 DEFAULT PROFILE
所有的用户创建时都会被指定这个 PROFILE
DEFAULT PROFILE 的内容为空 无限制
三 PROFILE 的划分
CALL 级 LIMITE
对象是语句
当该语句资源使用溢出时
A 该语句终止
B 事物回退
C SESSION 连接保持
SESSION 级 LIMITE
对象是 整个会话过程
溢出时 连接终止
四 如何管理一个 PROFILE
CREATE PROFILE
分配给一个用户
象开关一样打开限制
五 如何创建一个 PROFILE
命令 CREATE PROFILE 名称
LIMIT
SESSION_PER_USER
CPU_PER_SESSION
IDLE_TIME
CONNECT_TIME
六 限制参数
SESSION 级 LIMITE
CPU_PER_SESSION: 定义了每个 SESSION 占用的 CPU 的时间 ( / 秒)
SESSION_PER_USER: 每个用户的并发连接数
CONNECT_TIME: 一个连接的最长连接时间(分钟)
LOGICAL_READS_PER_SESSION: 一次读写的逻辑块的数量
CALL 级 LIMITE
CPU_PER_CALL: 每个语句占用的 CPU 时间
LOGICAL_READS_PER_CALL:
七 分配给一个用户
CREATE USER 名称
PROFILE 名称
ALTER USER 名称 PROFILE 名称
八 打开资源限制
RESOURCE_LIMT: 资源文件中含有
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE
默认不打开
九 修改 PROFIE 的内容
ALTER PROFILE 名称参数 新值
对于当前连接修改不生效
十 DROP 一个 PROFILE
DROP PROFILE 名称
删除一个新的尚未分配给用户的 PROFILE
DROP PROFILE 名称 CASCADE
注意事项
A 一旦 PROFILE 被删除 用户被自动加载 DEFAULT PROFILE
B 对于当前连接无影响
C DEFAULT PROFILE 不可以被删除
十一 信息获取
DBA_USERS:
用户名 PROFILE
DBA_PROFILES:
PROFILE 及各种限制参数的值
每个用户的限制 PROFILE (关键字段)
十二 PROFILE 的口令机制限制
限制内容
A 限制连续多少次登录失败 用户被加锁
B 限制口令的生命周期
C 限制口令的使用间隔
限制生效的前提
A RESOURCE_LIMIT:=TRUE
B ORACLE\\RDBMS\\ADMIN\\UTLPWDMG SQL
如何创建口令机制
CREATE PROFILE 名称
SESSIONS_PER_USER
password_life_time
failed_log_attempts
password_reuse_time
参数的含义
A FAILED_LOGIN_ATTEMPTS:
当连续登陆失败次数达到该参数指定值时 用户加锁
B PASSWORD_LOCK_TIME: 加锁天数
C PASSWORD_LIFE_TIME: 口令的有效期(天)
D PASSWORD_GRACE_TIME: 口令修改的间隔期(天)
E PASSWORD_REUSE_TIME: 口令被修改后原有口令隔多少天被重新使用
F PASSWORD_REUSE_MAX: 口令被修改后原有口令被修改多少次被重新使用
ORACLE 的权限管理
一授权的两种分类 :
SYSTEM 授权 : 允许特定的用户对特定的一类对象做特定的操作 可操作的对象 :TABLES INDEXES PROCEDURES SEGMENTS; 系统授权是对某一类对象
GRANT SELECT ANY TABLE TO ZT
OBJECT( 对象授权 ):
A 允许一个特定的用户对一个特定的对象做特定的操作 对象 :TABLE INDEX SEGMENT
GRANT UPDATE ON EMP TO ZT
二系统授权的特点
ORACLE 中有超过 种以上的 SYSTEM 授权
几乎所有的 SYSTEM 授权包含 ANY 关键字
SYSTEM 授权 :GRANT 授权
SYSTEM 授权 :REVOKE 回收
允许用户做系统一级的操作 建表空间 建 SESSION
最常用的系统授权 :
INDEX:CREATE ANY INDEX
ALTER ANY INDEX
DROP ANY INDEX
TABLE:CREATE ANY TABLE
ALTER
DROP
SELECT
UPDATE
SESSION:CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
TABLESPACE: CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
三如何授权 :
命令格式
GRANT CREATE SESSION SELECT ANY TABLE TO [USERNAME|PUBLIC|ROLE]
带有转授权限 :
A 转授 : 当 A 用户得到系统授权后 如果可以将这个权限授给别人 称转授
GRANT CREATE SESSION SELECT ANY TABLE
TO [USERNAME|PUBLIC|ROLE] WITH ADMIN OPTION
举例 :
SYSTEM >ZT
GRANT CREATE SESSION TO ZT WITH ADMIN OPTION
ZT 用户可以拥有 CREATE SESSION 权限
ZT >OLM
GRANT CREATE SESSION TO OLM
ZT OLM 也有了
四 SYSDBA 和 SYSOPER 系统权限
SYSOPER:SYSTEM OPERATOR: 系统操作员
STARTUP SHUTDOWN;
ALTER DATABASE[MOUNT|OPEN];
RECOVER TABLESPACE
BACKUP DATABASE
ARCHIVELOG OR NOARCHIVELOG;
SYSDBA
SYSTEM DABASE ADMIN: 数据库管理员
SYSOPER WITH ADMIN OPTION
RECOVER DATABASE
CREATE DATABASE
五信息获取
DBA_SYS_PRIVS
GRANTEE: 得到权限的人
PRIVILEGE: 得到何种权限
ADMIN OPTION: 是否可以转授
想知道 SCOTT 有多少权限
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE= SCOTT
六回收权限 :
REVOKE 权限 FROM [USERNAME|PUBLIC|ROLE]
举例 :
SYSTEM >ZT(CREATE SESSION WITH ADMIN OPTION)
ZT >OLM(CREATE SESSION)
七对象授权
TABLE: ALTER DELETE SELECT UPDATE INSERT
INDEX:DELETE INSERT SELECT UPDATE
CREATE 对象是已经存在的事物 授权者是所有者
一 授权 :
GRANT UPDATE(ENAME) ON EMP TO ZT WITH GRANT OPTION
二信息获取
DBA_TAB_PRIVS:
GRANTEE: 得到者
GRANTOR: 授权者
PRIVILEGE: 权限
GRANTABLE: 是否可以转授
OWNER: 所有者
三 回收对象授权
REVOKE 权限 FROM 用户
第十五章 : 角色管理
一 角色及其特点 :
角色实际上是若干权限的集合体
DBA 通过为应用中的不同用户 不同职责 定义不同的角色 可以达到减少工作量的目的
角色的使用同授权一样 可以用 GRANT 授权 REVOKE 回收
角色可以象开关一样打开关闭
角色的使用可以提高性能
角色的使用可以大大减少工作量
二 建立角色
CREATE ROLE 名
CREATE ROLE 名
IDENTIFIED BY 口令
三 修改角色
ALTER ROLE 名称 IDENTIFIED BY 口令
将没有口令的加一个口令
ALTER ROLE 名称 NOT IDENTIFIED
将有口令的变为没有口令
三 分配一个角色
GRANT ROLE 名 TO 用户名
四 回收一个角色
REVOKE ROLE 名 FROM 用户名
五 如何创建一个默认角色
只有设为默认角色 才可以在用户登录时 使角色所含有的权限生效
ALTER USER SCOTT
DEFAULT ROLE 角色 角色
ATLER USR SCOTT
DEFAULT ROLE ALL
ALTER USER SCOTT DEFAULT ROLE ALL EXCEPT 角色名
ALTER USER SCOTT DEFAULT ROLE NONE
六 打开和关闭角色 :
SET ROLE 名称
SET ROLE IDENTIFIED BY 口令 ( 建立角色时 带口令 )
SET ROLE NONE
七 删除角色
DROP ROLE 名称
八 信息获取
DBA_ROLE:
DBA_ROLE_PRIVS:
九 如何向角色里加权限 :
GRANT 权限 TO 角色名
REVOKE 权限 FROM 角色名
角色 : 不能跟用户名重复
ROLE 的 ALTER 和其他对象的 ALTER 不一样 ROLE 的 ALTER 不能修改 ROLE 的内容 只可以修改角色的认证方式
如何创建数据库连接 database link
如果服务器的初始化参数中 global_names 的值为 TRUE 那么就要求你创建的连接名称必须与 SID 相同 如果改成 FALSE 就可以按如下的方式创建了
create public database link link_name connect to user_name identified by passwd using connecting_string
然后可以创建一个同义词为使用方便起见
create synonyms synonyms_name for @ link_name
回滚段的管理
回滚段概述
回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值) 回滚段的头部包含正在使用的该回滚段事务的信息 一个事务只能使用一个回滚段来存放它的回滚信息 而一个回滚段可以存放多个事务的回滚信息
回滚段的作用
事务回滚 当事务修改表中数据的时候 该数据修改前的值(即前影像)会存放在回滚段中 当用户回滚事务( ROLLBACK )时 ORACLE 将会利用回滚段中的数据前影像来将修改的数据恢复到原来的值
事务恢复 当事务正在处理的时候 例程失败 回滚段的信息保存在重做日志文件中 ORACLE 将在下次打开数据库时利用回滚来恢复未提交的数据
读一致性 当一个会话正在修改数据时 其他的会话将看不到该会话未提交的修改 而且 当一个语句正在执行时 该语句将看不到从该语句开始执行后的未提交的修改(语句级读一致性) 当 ORACLE 执行 SELECT 语句时 ORACLE 依照当前的系统改变号( SYSTEMCHANGENUMBER SCN )来保证任何前于当前 SCN 的未提交的改变不被该语句处理 可以想象 当一个长时间的查询正在执行时 若其他会话改变了该查询要查询的某个数据块 ORACLE 将利用回滚段的数据前影像来构造一个读一致性视图
事务级的读一致性
ORACLE 一般提供 SQL 语句级( SQLSTATEMENTLEVEL )的读一致性 可以用以下语句来实现事务级的读一致性
SET TRANSACTION READONLY
或
SET TANNSACTION SERIALIZABLE
以上两个语句都将在事务开始后提供读一致性 需要注意的是 使用第二个语句对数据库的并发性和性能将带来影响
回滚段的种类
系统回滚段 当数据库创建后 将自动创建一个系统回滚段 该回滚段只用于存放系统表空间中对象的前影像
非系统回滚段 拥有多个表空间的数据库至少应该有一个非系统回滚段 用于存放非系统表空间中对象的数据前影像 非系统回滚段又分为私有回滚段和公有回滚段 私有回滚段应在参数文件的 ROLLBACKSEGMENTS 参数中列出 以便例程启动时自动使其在线( ONLINE ) 公有回滚段一般在 OPS ( ORACLE 并行服务器)中出现 将在例程启动时自动在线
DEFERED 回滚段 该回滚段在表空间离线( OFFLINE )时由系统自动创建 当表空间再次在线( ONLINE )时由系统自动删除 用于存放表空间离线时产生的回滚信息
回滚段的使用
分配回滚段 当事务开始时 ORACLE 将为该事务分配回滚段 并将拥有最少事务的回滚段分配给该事务 事务可以用以下语句申请指定的回滚段
SET TRANSTRACTION USE ROLLBACK SEGMENT rollback_segment
事务将以顺序 循环的方式使用回滚段的区( EXTENTS ) 当当前区用满后移到下一个区 几个事务可以写在回滚段的同一个区 但每个回滚段的块只能包含一个事务的信息
例如(两个事务使用同一个回滚段 该回滚段有四个区)
事务在进行中 它们正在使用回滚段的第三个区
当两个事务产生更多的回滚信息 它们将继续使用第三个区
当第三个区满后 事务将写到第四个区 当事务开始写到一个新的区时 称为翻转( WRAP )
当第四个区用满时 如果第一个区是空闲或非活动(使用该区的所有事务完成而没有活动的事务)的 事务将接着使用第一个区
回滚段的扩张( EXTEND )
当当前回滚段区的所有块用完而事务还需要更多的回滚空间时 回滚段的指针将移到下一个区 当最后一个区用完 指针将移到第一个区的前面 回滚段指针移到下一个区的前提是下一个区没有活动的事务 同时指针不能跨区 当下一个区正在使用时 事务将为回滚段分配一个新的区 这种分配称为回滚段的扩展 回滚段将一直扩展到该回滚段区的个数到达回滚段的参数 MAXEXTENTS 的值时为止
回滚段的回收和 OPTIMAL 参数
OPTIMAL 参数指明回滚段空闲时收缩到的位置 指明回滚段的 OPTIMAL 参数可以减少回滚段空间的浪费
创建回滚段
语法
CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment
[TABLESPACE tablespace]
[STORAGE ([INITIAL integer[K|M]] [NEXT integer[K|M]]
[MINEXTENTS integer]
[MAXTENTS integer|UNLIMITED]
[OPTIMAL integer[K|M]|NULL]) ]
注
回滚段可以在创建时指明 PRIVATE 或 PUBLIC 一旦创建将不能修改
MINEXTENTS 必须大于等于
PCTINCREASE 必须是
OPTIMAL 如果要指定 必须大于等于回滚段的初始大小(由 MINEXTENTS 指定)
建议
一般情况下 INITIAL=NEXT
设置 OPTIMAL 参数来节约空间的使用
不要设置 MAXEXTENTS 为 UNLIMITED
回滚段应创建在一个特定的回滚段表空间内
CREATE ROLLBACK SEGMENT rbs
TABLESPACE rbs
STORAGE ( INITIAL K NEXT K MINEXTENTS
MAXEXTENTS OPTIMAL K);
回滚段的信息
DROP ROLLBACK SEGMENT rbs ;
查询回滚段的信息
所用数据字典 DBA_ROLLBACK_SEGS
可以查询的信息 回滚段的标识 (SEGMENT_ID) 名称 (SEGMENT_NAME) 所在表空间 (TABLESPACE_NAME) 类型 (OWNER) 状态 (STATUS)
例
SQL>SELECT segment_name tablespace_name owner status FROM dba_rollback_segs;
回滚段的统计信息
数据字典 V$ROLLNAME V$ROLLSTAT
SELECT n name s extents s rssize s optsize s hwmsize s xacts s status
FROM v$rollname n v$rollstat s
WHERE n usn=s usn;
回滚段的当前活动事务
数据字典 V$SESSION V$TRANSACTION
SQL>SELECT s username t xidusn t ubafil t ubablk t used_ublk
FROM v$session s v$transaction t
WHERE s saddr=t ses_addr;
函数用法
时间函数
select add_months(sysdate ) from dual
select last_day(sysdate) from dual
select next_day(sysdate FRIDAY ) from dual
select months_beeen( MAY add_months(sysdate )) duration from dual
字符函数
select chr( ) from dual
select concat( asf af ) / 列 || 列 from dual
select initcap( sample ) from dual
select lower( SSD )/upper( ssd ) from dual
select lpad( myname * ) from dual 左边填充指定长度的字符
select rpad( myname * ) from dual
select ltrim( myname m ) /rtrim( myname m ) from dual
select replace( myname yn * ) from dual
select substr( myname ) from dual
select instr( myname n ) from dual
select length( myname ) from dual
转换函数
select to_char(sysdate)|| Is good day! from dual
select to_number( ) from dual
select least( ) / greatest( ) from dual
select user from dual 查询当前用户
decode 函数
select decode(columnname first second other ) from table_name
如果 columnname 等于 那么取 first 值 如果等于 取 second 否则等于 other 实现逻辑控制
连接的用法
select last_name d dept_id
from employees e
RIGHT OUTER JOIN departments d
ON (e department_id = d department_id);
常见问题
.字符集问题
错误现象
有的时候 服务器数据先导出 重装服务器 再导入数据 结果 发生数据查询成 ???
有时 服务器设置就有问题 字符集设成单字节了
错误原因
一般 是因为字符集设置不对照成的 如果两台服务器上的字符设置不同就造成数据不能通讯 那么最简单的方法就是将字符集设置成一样的格式
解决方法
检查服务器上 Oracle 数据库的字符集
SQL> conn sys/change_on_install
连接成功
SQL> desc props$
列名 可空值否 类型
NAME NOT NULL VARCHAR ( )
VALUE$ VARCHAR ( )
MENT$ VARCHAR ( )
SQL> col value$ format a
SQL> select name value$ from props$;
NAME VALUE$
DICT BASE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS
NLS_DATE_FORMAT DD MON YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS GBK
NLS_SORT BINARY
NLS_CALENDAR GREGORIAN
NLS_RDBMS_VERSION
GLOBAL_DB_NAME ORACLE WORLD
EXPORT_VIEWS_VERSION
查询到 记录
NLS_CHARACTERSET 这个参数应该是 ZHS GBK 如不是 改为它
SQL*Plus 中修改方法
SQL> update props$ set value$= 新字符集 where name= NLS_CHARACTERSET ;
操作系统中修改方法
connect internal
alter database ORCL character set ZHS GBK;
alter database ORCL national character set ZHS GBK;
检查操作系统级 Oracle 汉字显示的字符集
运行 regedit 定位到
HKEY_LOCAL_MACHINE\\SOFARE\\ORACLE
找到以下字符串
NLS_LANG
检查是否以下内容 如不是 改之
SIMPLIFIED CHINESE_CHINA ZHS GBK
.回滚段太旧问题
.备份与恢复
一 非归档备份
执行 testsql txt
关闭系统 利用 oracle backup manager 备份数据
打开数据库 执行 testsql txt 关闭数据库系统
删除 ts_test 文件
重新启动数据库时出现 错误 处理方法
利用 oracle recovery manager 恢复数据
:alter database datafile d:\\orant\\database\\ts_test offline drop;
然后打开数据库即可(丢失 ts_test 文件内容)
注意
:alter database datafile d:\\orant\\database\\ts_test offline 只能在 archivelog
模式下时才可使用 删除文件后 建议把表空间删除后重建
: 删除表空间 drop tablespace ts_test including contents;
: 重建表空间
二 丢失没有回滚段的非 SYSTEM 数据文件(在归档模式下运行)
A 使用 recover database 恢复 要求数据库安装但没有打开 即脱机备份
B 使用 recover datafile 恢复 要求数据文件要脱机但数据库是打开的
C 使用 recover tablespace 恢复 要求表空间脱机且数据库是打开的
问题产生过程
svrmgrl
connect internal
insert into myinfo values( myname no );
mit;
alter system switchlogfile;
shutdown abort
( 删除 ts_test 文件 拷贝旧的 ts_test 文件 )
startup
启动时出现如下错误
ora :file needs media recovery
ora :data file :d:\\orant\\database\\ts_test
恢复方法 A
: startup mount
: recover database;
( 提示恢复方式 选择 auto 即可 )
: alter database open
恢复方法 B
:startup mount;
: alter database archivelog;
: alter database datafile d:\\orant\\database\\ts_test offline
: alter database open;
: recover datafile d:\\orant\\database\\ts_test
( 提示恢复方式 选择 auto 即可 )
: alter database datafile d:\\orant\\database\\ts_test online
恢复方法 C
: startup mount;
: alter database archivelog;
: alter database open;
( 提示出现 ora ora 错误 )
: alter database datafile d:\\orant\\database\\ts_tes offline;
: alter database open;
: alter tablespace ts_test offline;
: recover tablespace ts_test;
( 提示恢复方式 选择 auto 即可 )
: alter tablespace ts_test online;
三 丢失有回滚段的非 SYSTEM 数据文件
如果系统含有其他的回滚段 处理方法等同于非回滚段的处理方法 如果没有其他回滚段
则需要先建立回滚段信息
产生过程
: svrmgr
: connect internal
: create table test(s number) tablespace ts_test
: select * from test;
( 结果为空 )
: set transaction use rollback segment tr_rbs;
(tr_rbs 必须为 online)
shutdown
: 删除 tr_rbs 对应的数据文件 然后拷贝旧的文件到当前目录下
重新启动数据库时出现错误
ora :file needs media recovery
ora :data file :d:\\orant\\database\\ts_rbs
恢复方法
svrmgr
: connect internal
: startup mount
: alter database datafile d:\\orant\\database\\ts_rbs offline;
: alter database open;
: create rollback segment temp tablespace system;
: create rollback segment temp tablespace system;
: alter rollback segment temp online;
: alter rollback segment temp online;
: select * from test;
错误信息 :ora :file cannot be read at this time
ora_ :data file d:\\orant\\database\\ts_rbs
: recover tablespace tr_rbs
: select * from test;
错误信息 等同
alter tablespace ts_rbs online;
: select * from test
提示信息 没有数据
: alter rollabck segment tr_rbs online;
: alter rollback segment temp offline;
: alter rollback segment temp offline;
: drop rollback segment temp ;
: drop rollback segment temp ;
恢复方法也可采用文件恢复的方式进行 处理方法与情况 处理方法等同
四 丢失未归档的联机日志文件
产生过程
shutdown abort
: 删除日志文件 ( 可从 v$logfile 得到日志文件信息 )
: 拷贝原日志文件信息
恢复过程 :
startup mount
: recover database until cancel;
: alter database open resetlogs;
: shutdown
说明 recover database until change 或 recover database until time 等方法恢复
五 热备份期间的数据库崩溃
产生过程
: connect internal
: startup
: archive log list( 处于归档状态并且自动归档为 enabled)
: alter tablespace ts_test begin backup;
: host
( 备份数据文件 如果有多个数据文件 所有数据文件都做备份 )
: create table test(c number) tablespace ts_test;
: insert into test values( );
: mit;
: alter system switch logfile;
: shutdown abort( 用 shutdown 提示有备份文件 不许 shutdown)
完成以上工作后 用 startup 命令启动数据时出现 ora 和 ora 错误
恢复方法 A:
: startup mount
: alter database datafile d:\\orant\\database\\ts_test end backup;
: alter database datafile d:\\orant\\database\\ts_test end backup;
: alter database open;
: select * from test;( 可看到原来已经插入的数据 恢复完成 )
恢复方法 B:
: 删除数据文件 del d:\\orant\\database\\ts_test 与 ts_test
: 拷贝原来的数据文件 ( 即第 步拷贝的数据 )
: alter database datafile d:\\orant\\database\\ts_test end backup;
alter database datafile d:\\orant\\database\\ts_test end backup;
: recover database
: alter database open;
: select * from test;( 可看到原来已经插入的数据 恢复完成 )
说明 当数据库打开时 出现 ora 与 ora 错误 无法判断是由于数据文件丢失或备份引起的
错误 如果想查询是否处于热备份 可查看数据字典 select file# status from v$backup
六 数据文件丢失
产生过程
: connect internal
: startup
: archive log list( 处于归档状态并且自动归档为 enabled)
: 删除一个数据文件 ( 表空间的一个文件 ) 假设为 d:\\orant\\database\\ts_test
恢复方法
: startup mount
: alter database create datafile d:\\orant\\database\\ts_test
: recover datafile d:\\orant\\database\\ts_test
: alter database open;
: select * from test;( 测试数据 恢复已完成 )
不能登陆 OEM ( Oracle 的企业管理器)
这是需要首先创建一个资料库 你提供数据库的帐号 然后选择一个表空间 资料库创建完毕用工具登陆 OEM 初始密码 sysman/oem_temp 提示你修改然后就 OK 了
提示凭证索引集失败
将 Sqlnet ora 文件中的验证方式屏蔽掉
参数配置
查看基本信息
显示数据库的有关信息
SELECT * from v$database
显示实例的信息
select * from v$instance
显示所有的参数设置
select * from v$parameter
显示版本信息
select * from v$version
在 SQLPLUS 下查看一些基本的参数
show parameter 参数名称
SELECT name FROM v$parameter WHERE name LIKE %control% ;
基本全局参数及含义
sga
系统全局区( SGA )是一个分配给 Oracle 的包含一个 Oracle 实例的数据库的控制信息内存段
主要包括数据库高速缓存 (the database buffer cache)
重演日志缓存( the redo log buffer )
共享池( the shared pool )
数据字典缓存( the data dictionary cache )以及其它各方面的信息
db_block_buffers
数据高速缓冲区
访问过的数据都放在这一片内存区域 该参数越大 Oracle 在内存中找到相同数据的可能性就越大 也即加快了查询速度
db_block_buffers 以块为单位 假如 DB_BLOCK_SIZE= K db_block_buffers= 则占用内存 = * K= K
share_pool_size
SQL 共享缓冲池
该参数是库高速缓存和数据字典的高速缓存
log_buffer
重演日志缓冲区
sort_area_size
排序区
processes
同时连接的进程数
global_names
如果 数据库链路名 和它所要连接的 数据库 拥有相同的名字 则设置 global_names = TRUE 否则 设置 global_names = FALSE
db_block_size
数据库块大小
Oracle 默认块为 KB 太小了 因为如果我们有一个 KB 的数据 则 KB 块的数据库要读 次盘 才能读完 而 KB 块的数据库只要 次就读完了 大大减少了 I/O 操作
数据库安装完成后 就不能再改变 db_block_size 的值了 只能重新建立数据库并且建库时 要选择手工安装数据库
open_links
同时打开的链接数
dml_locks
用户一次可对表设定锁的最大数目
如果有三个用户修改6个表 则需18个 DML 锁来实现并行操作 如果设定 DML_LOCKS 不够大 操作时执行将中断 你可以通过你的应用程序的操作规模和最大的并行使用的用户数来估算系统所需要的 DML_LOCKS 的值 但该值的大小对数据库的其他性能没有影响 所以一般都把它设得很大 远超过实际中可能达到的值 如果在系统运行中经常发生表锁死的现象 就应该考虑加大该值
open_cursors
打开光标数
这个参数可以同时被每个用户进程拥有 这个参数的最大值依操作系统不同而不同
在创建一个包含很多表的合成视图时 如果此参数很小 则视图创建会不成功
dbwr_io_slaves
后台写进程数
启动或者停止Oracle
startup nomount
非安装启动 这种方式启动下可执行 重建控制文件 重建数据库
读取 init ora 文件 启动 instance 即启动 SGA 和后台进程 这种启动只需要 init ora 文件
startup mount dbname
安装启动 这种方式启动下可执行
数据库日志归档
数据库介质恢复
使数据文件联机或脱机
重新定位数据文件 重做日志文件
执行 nomount 然后打开控制文件 确认数据文件和联机日志文件的位置
但此时不对数据文件和日志文件进行校验检查
startup open dbname
先执行 nomount 然后执行 mount 再打开包括 Redo log 文件在内的所有数据库文件
这种方式下可访问数据库中的数据
startup 等于以下三个命令
startup nomount
alter database mount
alter database open
startup restrict
约束方式启动
这种方式能够启动数据库 但只允许具有一定特权的用户访问
非特权用户访问时 会出现以下提示
ERROR
ORA : ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
startup force
强制启动方式
当不能关闭数据库时 可以用 startup force 来完成数据库的关闭
先关闭数据库 再执行正常启动数据库命令
startup pfile= 参数文件名
带初始化参数文件的启动方式
先读取参数文件 再按参数文件中的设置启动数据库
例 startup pfile=E:\\Oracle\\admin\\oradb\\pfile\\init ora
startup EXCLUSIVE
有三种关闭方式
shutdown normal
正常方式关闭数据库
shutdown immediate
立即方式关闭数据库
在 SVRMGRL 中执行 shutdown immediate 数据库并不立即关闭
而是在 Oracle 执行某些清除工作后才关闭(终止会话 释放会话资源)
当使用 shutdown 不能关闭数据库时 shutdown immediate 可以完成数据库关闭的操作
shutdown abort
直接关闭数据库 正在访问数据库的会话会被突然终止
如果数据库中有大量操作正在执行 这时执行 shutdown abort 后 重新启动数据库需要很长时间
cha138/Article/program/Oracle/201311/16523相关参考
知识大全 ORACLE DBA常用SQL脚本工具-管理篇(1)
ORACLEDBA常用SQL脚本工具-管理篇(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
关于Oracle一些常用脚本的汇总(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 碎片检查
Windows下的Oracle导出脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 导出脚本内
#!/bin/bash #centosoracleg前期安装环境检查脚本 #将所需要安装的包(rpm格式)与脚本放在一个目录下 ss=$PWD cd$ss rpmivh*rpm #OR
Oracle冷备和热备脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 冷备脚本 setfe
在Linux下的Oracle用脚本建库实录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先写
Oracle导出SQL脚本的spool实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 下面介
Oracle数据库表空间容量调整脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! (表空间缩容
知识大全 使用 Window 脚本宿主自动化 Oracle 工具
使用Window脚本宿主自动化Oracle工具 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随
知识大全 Oracle10g在solaris10下的自动运行脚本
Oracle10g在solaris10下的自动运行脚本 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧