1.查詢內存大小
grep MemTotal /proc/meminfo
1.解鎖統計信息
BEGIN
dbms_stats.unlock_schema_stats(ownname=>'DFMS');
END;
BEGIN
dbms_stats.unlock_table_stats(ownname=>'SCHEMA_NAME', tabname=>'TABLE_NAME');
END;
1.强行关机(shutdown abort),导致无法开启
ORA-16038:无法存档日志 3序号 29052
ORA-19809:超过复原档案限制
ORA-00312:线上日志 3连线1:
日志3 的目录 省略
解决办法 1.startup mount exclusive;
alter database FLASHBACK off;
alter database open;
解决ok
第二次出现 2.alter database noarchivelog;
解决ok
0.低效sql查詢
SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
ROUND((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
SQL_TEXT
FROM V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
ORDER BY 4 DESC;
0-1
disk_reads低效 sql
SELECT c.*
FROM (SELECT UPPER (b.username) username,
a.disk_reads disk_reads,
a.executions executions,
a.disk_reads / DECODE (a.executions, 0, 1, a.executions)
reads_per_exec,
a.address,
a.sql_text || CHR (10) || CHR (10) sql,
A.MODULE,
a.last_load_time last_time
-- , a.sql_fulltext sql
FROM sys.gv_$sql a, dba_users b
WHERE a.parsing_user_id = b.user_id
AND a.disk_reads > 1000
AND b.username NOT IN ('SYS', 'SYSTEM')) c
WHERE c.reads_per_exec >= 1000
ORDER BY c.reads_per_exec DESC;
1.用戶下物件數量
select OWNER, OBJECT_TYPE, count(OWNER) OBJECT_COUNT
from SYS.DBA_OBJECTS
where wner ='SFISM4'
group by OWNER, OBJECT_TYPE
order by OBJECT_TYPE
2.賦權語句
select 'grant select on schemaname.'||table_name||' to username; ' from DBA_TABLES where wner='GWDMS'
select 'create synonym tms_ap.'||table_name||' for tms.'||table_name||'; ' from DBA_tables where wner='TMS'
3.檢查命中率
select a.value + b.value "logical_reads", c.value "physical_reads",
round(100 * ((a.value+b.value)-c.value)/(a.value+b.value)) "BUFFER HIT RATIO"
from v$sysstat a,v$sysstat b,v$sysstat c
where a.statistic# =47 and b.statistic# =50 and c.statistic#=54;
4.導出欄位註釋信息
SELECT 'COMMENT ON COLUMN '
|| OWNER || '.' || TABLE_NAME || '.' || COLUMN_NAME
|| ' IS '|| ''''||COMMENTS||''';'
FROM (SELECT *
FROM DBA_COL_COMMENTS
WHERE WNER = 'SFIS1' AND COMMENTS IS NOT NULL);
5.檢查失效物件
select * from dba_objects where status='INVALID' and object_type <> 'SYNONYM'
6.查詢Schema為'EHEALTH','EHC','HHCARE','HAMSTC'中包含LOB類型的表的數據量
select 'select count(*) from '||owner||'.'||table_name||';'from dba_tab_columns where data_type like '%LOB%' and owner in ('EHEALTH','EHC','HHCARE','HAMSTC') order by owner
7.查詢數據量有多大
select round(sum(a.bytes_alloc)/1024/1024/1024,2) "表空間佔用總和 ",
round( (sum(a.bytes_alloc)-sum(nvl(b.bytes_free, 0)))/1024/1024/1024,3) "表空間實際使用總和 "
from ( select f.tablespace_name,
sum(f.bytes) bytes_alloc
from dba_data_files f
group by tablespace_name) a,
( select f.tablespace_name,
sum(f.bytes) bytes_free
from dba_free_space f
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name (+)
8.查詢BLOB的大小:
select a.owner,
a.segment_name,
decode (a.partition_name,
null, a.segment_name,
a.segment_name || ':' || a.partition_name) objectname,
segment_type objecttype,
nvl ((a.bytes / 1024 / 1024)||'M', 0) "SIZE",
b.table_name,
b.column_name,
a.tablespace_name
from (select * from dba_segments ) a,
(select * from sys.dba_lobs ) b
where (a.segment_name=b.segment_name or a.segment_name=b.index_name) --and b.table_name = 'DBS_SO_ATTACHMENT'
and a.owner not in ('CTXSYS','DBSNMP','DMSYS','EXFSYS','LBACSYS','MDSYS',
'OLAPSYS','ORDSYS','OUTLN','TSMSYS','SPOT','SYS','SYSTEM','SYSMAN','WMSYS','XDB')
order by a.owner,b.table_name,b.column_name
9.檢查含LOB類型的表
select owner,table_name from dba_tab_columns where data_type like '%LOB%' and owner in ('EHEALTH','EHC','HHCARE','HAMSTC') order by owner
10.檢查所有狀態為OPEN的用戶下的實際佔用數據尺寸
select owner,sum(bytes)/1024/1024 from dba_extents where owner in(select username from dba_users where account_status='OPEN' and username not in ('SYS','SYSTEM')) group by owner;
11.檢查索引的使用情況
首先產生監控腳本
select 'alter index '||owner||'.'||index_name||' monitoring usage;'
from dba_indexes
where owner in ('YOUR','PROD_DB','OWNER','LIST');
這個是監控這四個用戶下的索引使用情況,我們也可以只監控單獨一個表的索引使用情況.
select 'alter index '||owner||'.'||index_name||' monitoring usage;'
from dba_indexes
where table_owner='SQRM' and table_name='BD_BUYER';
在運行幾天之後,我們產生取消監控的腳本.
select 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
from dba_indexes
where owner in ('YOUR','PROD_DB','OWNER','LIST');
select 'alter index '||owner||'.'||index_name||' nomonitoring usage;'
from dba_indexes
where table_owner='SQRM' and table_name='BD_BUYER';
之後去本用戶下查看視圖v$object_usage就可以知道哪些索引沒被使用.
在sys用戶用如下語句查詢:
select z.name||'.'||io.name, t.name,
decode(bitand(i.flags, 65536), 0, 'NO', 'YES'),
decode(bitand(ou.flags, 1), 0, 'NO', 'YES'),
ou.start_monitoring,
ou.end_monitoring
from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou ,sys.user$ z
Where i.obj# = ou.obj#
and io.obj# = ou.obj# And io.owner#=z.user#
and t.obj# = i.bo#
Order By 4 Desc,2 Desc;
12.檢查超過100M的表
select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 from dba_segments where segment_type in ('TABLE','TABLE','INDEX PARTITION','INDEX PARTITION') and owner not in ('SYS', 'SYSTEM','OUTLN','WMSYS','CTXSYS','PERFSTAT','SPOT','TOAD','XDB') and bytes/1024/1024>100 order by owner
select owner,segment_name,segment_type,tablespace_name,bytes/1024/1024 from dba_segments
where PARTITION_NAME='KAOQIN_2011'
and SEGMENT_NAME='KQM_BELLCARDDATA'
13.statspack 常用命令
@/u01/product/oracle/rdbms/admin/spcreate.sql
@/u01/product/oracle/rdbms/admin/spreport.sql
@/u01/product/oracle/rdbms/admin/spdrop.sql
select max(snap_id) from stats$snapshot;
delete from stats$snapshot where snap_id<=166;
13-2.awr 常用命令
@?/rdbms/admin/awrrpt.sql
14.查詢高水位線;
select table_name,blocks "高水位下的塊",round((t.avg_row_len*t.num_rows)/s.block_size,0) "實際需要的塊",
blocks-round((t.avg_row_len*t.num_rows)/s.block_size,0) "高水位下浪費的塊"
from dba_tables t,dba_tablespaces s
where t.tablespace_name=s.tablespace_name and wner='HR';
[精彩] 如何将表从一个表空间移动到另一个表空间?
我想将表users从system表空间移动到data表空间,不知道怎么处理,移动后,users表中的数据是否也一起移动?请指教。
1.ALTER TABLE ebom.FINISH_GOOD MOVE
2.alter table EPD3.ABSCOLLECTIONCRITERIAKEY move tablespace BLOBS
完成后需要重建索引。
3.alte index xxx rebuild tablespace xxx
4.SELECT 'ALTER TABLE '||OWNER||'.'||TABLE_NAME||'MOVE ;' FROM DBA_TABLES
WHERE WNER='HR'
15.檢查asm大小
select * from V$ASM_DISKGROUP
select * from V$ASM_DISK
asmcmd lsdg
16.rman常用
備份
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2048 M FORMAT '/u01/dump_dir/%U';
configure controlfile autobackup on;
BACKUP DATABASE INCLUDE CURRENT CONTROLFILE FOR STANDBY PLUS ARCHIVELOG;
change archivelog all crosscheck ;
以下是零级备份的例子
backup incremental level 0 database;
一级差异增量例子
backup incremental level 1 database;
一级累计增量例子
backup incremental level 1 cumulative database;
恢復一個資料庫
RMAN>restore database;
RMAN>recover database;
17.sched job點檢
SELECT OWNER,
JOB_NAME,
TO_CHAR(ACTUAL_START_DATE,'yyyy-mm-dd hh24:mi') ERRORTIME ,
ADDITIONAL_INFO
FROM DBA_SCHEDULER_JOB_RUN_DETAILS
WHERE STATUS = 'FAILED'
AND WNER='HR'
ORDER BY ACTUAL_START_DATE DESC
18.查看索引段的大小
select segment_name,partition_name,segment_type,bytes/1024/1024/1024 as GB,blocks
from dba_segments
where owner in ('SFIS1','SFIS','MWEB','SFISM4') and (bytes/1024/1024/1024) > 10
19.日誌挖掘
SELECT * FROM v$logmnr_contents;
begin
dbms_logmnr.add_logfile(logfilename=>'/C11/archive1/1_35673_635950047.dbf');
end;
begin
DBMS_LOGMNR.START_LOGMNR(options=>sys.DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
end;
begin
dbms_logmnr.end_logmnr;
end;
20.統計信息
explain plan for
select * from KD_STORE_MONTH
select * from table(dbms_xplan.display());
BEGIN
DBMS_STATS.GATHER_TABLE_STATS('TEST','KD_STORE_MONTH',NULL,NULL,FALSE,'FOR ALL COLUMNS SIZE 100',5,'DEFAULT',FALSE,NULL,NULL,NULL);
END ;
EXEC DBMS_STATS.GATHER_TABLE_STATS('OWNER','TABLE',estimate_percent=>30,CASCADE=> TRUE);
analyze table t3 delete statistics; ---刪除統計信息
analyze table t3 compute statistics;
方法一:
exec dbms_scheduler.disable(‘SYS.GATHER_STATS_JOB‘);
exec dbms_scheduler.enable(‘SYS.GATHER_STATS_JOB‘);
方法二:
alter system set "_optimizer_autostats_job"=false scope=spfile;
alter system set "_optimizer_autostats_job"=true scope=spfile;
21.表空間
CREATE TABLESPACE BI_DATA_05 DATAFILE
'/u05/oradata/imbbi/bi_data_05.dbf' SIZE 1024M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO;
21.在線增加redo log
查詢日誌組信息
Select * from v$log a,v$logfile b where a.group#=b.group#
切換日誌:
alter system switch logfile;
新增日誌組:
Alter database add logfile group 6 ('/u01/product/oradata/zh/redo25a.log','/u01/product/oradata/zh/redo25b.log') SIZE 50M;
alter database add logfile member '/u01/product/oradata/zh/redo21.log' to group 5;
在日誌組中新增日誌文件:
alter database add logfile member '/u01/product/oradata/zh/redo21.log' to group 5;
刪除重做日誌文件:
Alter database drop logfile member ' /u01/product/oradata/zh/redo21a.log‘;
刪除重做日誌組:
Alter database drop logfile group 4;
需要注意:在刪除重做日誌組之後,重做日誌需要手動刪除.
如果日誌組中的日誌文件全部損壞或者全部被誤刪除,則我們可以使用alter database clear logfile group命令來初始化該日誌組,并生成新的重做日誌文件.
改變重做日誌位置或名稱
具體作業步驟如下(以從c:\redo1.log到d:\redo1.log為例):
確定需要作業的重做日誌處於的日誌組狀態(保證狀態不為Current,如果為Current,請手動切換日誌)
Select a.group#,a.status from v$log a,v$logfile b where a.group#=b.group# and b.member= ' c:\redo1.log ' ;
複製或移動日誌文件到目標位置(當日誌組狀態為inactive時,才能複製或移動日誌文件)
Host copy c:\redo1.log d:\redo1.log
更改控制文件中所記載的重做日誌文件指針(將日誌文件移動到新位置后,爲了使LGWR可以訪問該日誌成員,必須使用alter database rename file 命令,改變控制文件所記載的重做日誌文件指針)
Alter database rename file ' c:\redo1.log ' to ' d:\redo1.log ' ;
22.expdp 詳解
使用expdp進行導出的時候,需要先創建directory。
首先使用sys或者system帳號
create directory dump_dir as '/u01/product/';
grant read,write on directiry dump_dir to username;
之後,可以直接在expdp中使用格式或者parfile
比如,需要導出wison中的物件,但是排除以T開頭的表
需要在parfile中寫:
directory=dump_dir
dumpfile=dump.dmp
exclude=table:"like 'T%'"
logfile=expdp.log
然後使用Oracle帳號執行:expdp wison/wison parfile=/u01/product/parfilename
windows下,
set NLS_LANG=American_america.AL32UTF8
exp system/"""system@dbsec""" wner=gwdms_lh file=e:\backup\gwdms_lh.dmp log=e:\backup\gwdms_lh.txt
imp userid=pcehr/pcehrdb@hr file=e:\hr.dmp log=e:\hrok.log fromuser=hr touser=pcehr
linux
expdp 'system/"system@dbsec"' schemas=CHANNEL directory=DUMP_DIR dumpfile=CHANNEL.dmp logfile=CHANNEL.log parallel=4
impdp 'system/"system@dbsec"' directory=DUMP dumpfile=ecs2011051123.dmp logfile=ecs2011051123ok.log tables=EXPENSECONTROL.MATERIALVENDOR remap_schema=EXPENSECONTROL:xiexie table_exists_action=truncate;
假如我要導入A Schema下的部份數據到B Schema下.
首先在A機器上創建directory
create directory dump_dir as '/u01';
grant read,write on directory dump_dir to system;
其次,建立parfile.導出A下的lob1,lob2和test1表的數據部份 , 其中A.lob1 中僅包含id為1,A.lob2僅包含name為wison的數據
tables=A.lob1,A.lob2,A.test1
directory=dump_dir
dumpfile=aa.dmp
content=data_only
query=A.lob1:"where id=1",A.lob2:"where name='wison'"
然後將導出文件傳送到B機器上
執行impdp
23.新增undo tablespace:
create undo tablespace undo_tbs datafile 'd:\undo.dbf' size 100M;
在undo tablespace中添加文件
alter tablespace undo_tbs add datafile 'd:\undo01.dbf' size 50M;
如果需要將undo tablespace 切換到undo_tbs01
alter system set undo_tablespace=undo_tbs01;
刪除undo tablespace
drop tablespace undo_tbs;
24.更改Archive Mode
首先檢查數據庫的模式 select log_mode from v$database;
其次,shutdown數據庫并開啟成mount狀態
最後,alter database archivelog或者noarchivelog
如果是從noarchive模式修改成Archive模式,另外還要配置Archive log format
0.將主庫換到archivelog模式:10.2.0.1以後的rac 數據庫要改為archivelog模式,比以前的版本簡單了很多,隻要兩邊設好歸檔目錄,將rac中所有的實例都關閉,startup到mount將數據庫改成archivelog,open 之後,重啟另一個實例即可,在本例在archivelog文件分別放在各自的主機上.
alter system set log_archive_format = '%t_%s_%r.arc' scope=spfile;
同時也要設置歸檔路徑,如果設置在本地,則為
alter system set log_archive_dest_1='LOCATION=/data/xxx/arch' scope=spfile
表示歸檔到 /data/xxx/arch路徑下.
都需要重啟數據庫才能生效
檢查Archive信息
archive log list
24.flashback
SELECT * FROM archive.YSD_QUL AS OF TIMESTAMP(Sysdate - 100/1440) ---查詢100分鐘以前該表的數據
SELECT * FROM tableName AS OF TIMESTAMP TO_TIMESTAMP('20070920083059','yyyymmddhh24miss') ---查詢07年9月20日8點30分59秒的數據
SELECT * FROM archive.YSD_QUL AS OF TIMESTAMP TO_TIMESTAMP('2010.09.01 09:00:00','yyyy.mm.dd hh24:mi:ss')---查詢9月1日9點的數據
25.當standby數據庫recover的時候,遇到以下錯誤:
ORA-00283: recovery session canceled due to errors
ORA-01111: name for data file 20 is unknown - rename to correct file
ORA-01110: data file 20: '/u01/product/oracle/dbs/UNNAMED00020'
ORA-01157: cannot identify/lock data file 20 - see DBWR trace file
ORA-01111: name for data file 20 is unknown - rename to correct file
ORA-01110: data file 20: '/u01/product/oracle/dbs/UNNAMED00020'
直接在主數據庫上創建新的standby controlfile,然後再將產生的standby controlfile傳送到standby數據庫上,注意和以前的standby數據庫上的control file位置一致.
之後再開啟standby 數據庫,修改standby_file_management為manual,創建20號文件
alter database create datafile 20 as '/ocfs_data1/ecsdb/expense_data05.dbf';
再執行recover standby database
最後修改standby_file_management為auto
再重啟數據庫,最後就可正常的restore了.
alter database create datafile 28 as '/data/wfdb/oradata/perstat01.dbf'
alter database create standby controlfile as '/data/standby.ctl' ;
26.更改 字符集
Startup nomount;
Alter database mount exclusive;
Alter system enable restricted session;
Alter system set job_queue_process=0; ---------有報錯
Alter database open;
Alter database character set ZHT16BIG5;
or
ALTER DATABASE character set INTERNAL_USE ZHT16BIG5;
SELECT * FROM NLS_DATABASE_PARAMETERS
28 standby 參數
第1種 單機
boolean,格式 需要加引號滴
integer,string格式 ----需要驗證
主庫
db_unique_name=jsspweb ---初始就有
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jssweb\
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jssweb'
LOG_ARCHIVE_DEST_2='SERVICE=jsspdg LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jsspdg' --------LOCATION(本地),SERVICE(遠端)
LOG_ARCHIVE_DEST_STATE_1=ENABLE ---初始就有
LOG_ARCHIVE_DEST_STATE_2=ENABLE ---初始就有
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE ---初始就有
#--------配置standby 角色的参数用于角色转换
FAL_SERVER=jsspdg
FAL_CLIENT=jssweb
DB_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb' ----------主庫沒設置,角色转换
LOG_FILE_NAME_CONVERT='oradata\jsspdg','oradata\jssweb' ----------主庫沒設置,角色转换
STANDBY_FILE_MANAGEMENT=AUTO ----------主庫沒設置,角色转换
備庫
db_unique_name=jsspdg
LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg)'
DB_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
LOG_FILE_NAME_CONVERT='oradata\jssweb','oradata\jsspdg'
LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc ---初始就有
LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jsspdg\
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jsspdg'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
#---下列参数用于角色切换
LOG_ARCHIVE_DEST_2='SERVICE=jssweb LGWR ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=jssweb'
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=jssweb
FAL_CLIENT=jsspdg
STANDBY_FILE_MANAGEMENT=AUTO
-------------需注意service_names 是否有變成 dmd1rcdg,local_listener 是否有變成 LISTENER_DMD1RCDG
第3種 rac
主庫
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ccptdb,ccptdbdg)'; ------同單機
alter system set log_archive_dest_1='LOCATION=+data VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ccptdb'; ------同單機
alter system set log_archive_dest_2='SERVICE=ccptdbdg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) ------同單機
DB_UNIQUE_NAME=ccptdbdg'; ------同單機
ALTER SYSTEM SET FAL_CLIENT = ccptdb1 sid='ccptdb1';
ALTER SYSTEM SET FAL_CLIENT = ccptdb2 sid='ccptdb2';
ALTER SYSTEM SET FAL_SERVER = ccptdbdg; ------同單機
修改后如下:
ccptdb1.fal_client='CCPTDB1'
ccptdb2.fal_client='CCPTDB2'
注意備庫設置﹕
*.db_unique_name='ccptdbdg' ------同單機
*.fal_client='ccptdbdg' ------同單機
*.fal_server='ccptdb1','ccptdb2'
*.log_archive_config='DG_CONFIG=(ccptdb,ccptdbdg)' ------同單機
*.log_archive_dest_1='LOCATION=/data/ccptdb1/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ccptdbdg' ------同單機
*.log_archive_dest_2='SERVICE=ccptdb LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ccptdb' ------同單機
*.db_file_name_convert='+data/ccptdb/datafile/','/data/ccptdb/','+indx/ccptdb/datafile/','/data/ccptdb/'
*.log_file_name_convert='+data/ccptdb/onlinelog/','/data/ccptdb/'
采用LGWR進程傳輸日志﹐必須建立備用日志﹐而且日志大小與主庫一樣﹐個數比主庫多一個
首先建立備用日志
SQL>ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 group 111 ('/data/ccptdb/dgredo111a.log','/data/ccptdb/dgredo111b.log') SIZE 50M;
為failover激活準備
alter tablespace temp add tempfile '/data/mis/temp01.dbf' size 2000m;
alter tablespace temp add tempfile '/data/ccptdb/temp02.dbf' size 2000m;
v$managed_standby和日志传输,接收,应用有关 .
v$archive_gap 主要可以用来查看备库丢失了那些日志.
v$archive_dest 如果日志无法传送,可以查看v$archive_dest;
v$archive_dest_status视图可以查看备库的状态,保护模式,归档日志路径状态
v$archived_log可以查看日志的一些信息 ,包括日志名字,应用时间,是否应用
1.Oracle standby database的激活
alter database activate standby database;(failover)
alter database mount;
alter databaase open;
1.解決此錯誤的辦法,可能有表空間,不夠擴展,并不一定是ARCHIVETEMP
ORA-1652: unable to extend temp segment by 128 in tablespace TEMP
ORA-1652: unable to extend temp segment by 128 in tablespace ARCHIVETEMP
ORA-1652: unable to extend temp segment by 128 in tablespace ARCHIVETEMP
[root@emd3wfdb bdump]# tail -1000 alert_wfdb.log |grep ORA
ORA-01555 caused by SQL statement below (Query Duration=21626 sec, SCN: 0x0000.19050882):
ORA-1652: unable to extend temp segment by 128 in tablespace ARCHIVETEMP
ORA-1652: unable to extend temp segment by 128 in tablespace ARCHIVETEMP
ALTER SYSTEM SET EVENT = '1652 trace name errorstack' SCOPE = SPFILE;
2.解決此錯誤,是大小寫的問題temp_depcode TEMP_DEPCODE
ORA-20000: ORA-20000: Unable to analyze TABLE "HR"."TEMP_DEPCODE", insufficient privileges or does not exist
3.ln -s /u01/hremploy/arch/ ./arch 軟連接目錄
4.OPTIMIZER_INDEX_COST_ADJ 50/100 cost變化參數
3.sec_case_sensitive_logon 密碼大小寫的參數 (11G上的)
alter system set sec_case_sensitive_logon =FALSE scope=spfile;
4.cursor_sharing
5.PROFILE
resource_limit 必須更改為true,否則無效
SESSIONS_PER_USER -------登陸會話的上限
6.crs使用案例
crs_stop -f ora.ecsrac02.vip
crs_start ora.ecsrac02.vip
crs_start ora.ecsrac02.LISTENER_ECSRAC02.lsnr
7.修改參數archive_lag_target調整日誌切換時間!
10.VNC的配置
使用Oracle用戶鍵入vncserver命令
在當前目錄下進入.vnc , 修改xstartup , 去掉twm &,在最後一行添加gnome-session &
kill掉當前的vnc進程 vncserver -kill :1
然後再執行vncserver , 就可以了.
vncpasswd 修改密碼
配置rsync
A代表Primary B代表Standby
1. B机上使用oracle执行$ ssh-keygen -t rsa
会自动在/home/oracle下创建一个.ssh文件夹,里面将会产生两个认证证书
在B机上执行$ssh A date,然后输入密码,然后就能抓取到A的时间
2.進入到B機器上的.ssh目錄, 執行$ scp id_rsa.pub A:/home/oracle/.ssh/authorized_keys
有可能会报错说A上没有.ssh路径
那么手动创建.ssh目录
3.
在B上再执行$ssh A date,应该不输入密码也能看到时间
scp那条命令,如果在RAC环境中就不能用
而是应该用vi打开B的id_isa.pub,然后将那段文字拷贝附加到A上的authorized_keys文件后面
如果主庫是RAC,那麼可以按照如下方式配置Rsync.
A代表Primary B代表Standby
1. B机上使用oracle执行$ ssh-keygen -t rsa 最好同時也執行ssh-keygen -t dsa
会自动在/home/oracle下创建一个.ssh文件夹,里面将会产生两个认证证书
在B机上执行$ssh A date,然后输入密码,然后就能抓取到A的时间
2. 分別在2各節點上執行(之前最好將主庫(RAC)上備份authorized_keys cp authorized_keys authorized_keys.bak)
然後在2節點上分別執行
ssh B cat /home/oracle/.ssh/id_rsa.pub >>/home/oracle/.ssh/authorized_keys
ssh B cat /home/oracle/.ssh/id_dsa.pub >>/home/oracle/.ssh/authorized_keys
3. 此時,在B上執行ssh A data應該不用輸入密碼就可以看到時間了.
30.開機報參數錯誤
oracle 11g启动时报的错误 ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instanc
2010-11-05 11:06
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
因为数据库是11g
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format string %t_%s_%r.dbf
log_archive_local_first boolean TRUE
log_archive_max_processes integer 4
log_archive_min_succeed_dest integer 1
log_archive_start boolean TRUE
alter system set log_archive_start=false scope=spfile;
这样启动是还是报
干脆从spfile中去除 log_archive_start=
SQL> create pfile from spfile;
File created.
在pfile中删掉log_archive_start=这一行,oracle启动就不报ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance错了
SQL> create spfile from pfile;
File created.
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 373295488 bytes
Database Buffers 41943040 bytes
Redo Buffers 6094848 bytes
Database mounted.
Database opened.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25850100/viewspace-712054/ ,如需转载,请注明出处,否则将追究法律责任。