Oracle 常用技巧和脚本

Jun 07, 2016 pm 05:53 PM
oracle よく使われるテクニック 脚本

1.如何查看ORACLE的隐含参数? ORACLE的显式参数,除了在INIT.ORA文件中定义的外,在svrmgrl中用"showparameter*",可以显示。但ORACLE还有一些参数是以“_”,开头的。如我们非常熟悉的“_offline_rollback_segments”等。 这些参数可在sys.x$ksppi表中查出

1. 如何查看ORACLE的隐含参数? 
ORACLE的显式参数,除了在INIT.ORA文件中定义的外,在svrmgrl中用"show parameter *",可以显示。但ORACLE还有一些参数是以“_”,开头的。如我们非常熟悉的“_offline_rollback_segments”等。 
这些参数可在sys.x$ksppi表中查出。 
语句:“select ksppinm from x$ksppi where substr(ksppinm,1,1)=’_’; ” 
2. 如何查看安装了哪些ORACLE组件? 
进入${ORACLE_HOME}/orainst/,运行./inspdver,显示安装组件和版本号。 
3. 如何查看ORACLE所占用共享内存的大小? 
可用UNIX命令“ipcs”查看共享内存的起始地址、信号量、消息队列。 
在svrmgrl下,用“oradebug ipc”,可看出ORACLE占用共享内存的分段和大小。 
example: 
SVRMGR> oradebug ipc 
-------------- Shared memory -------------- 
Seg Id Address Size 
1153 7fe000 784 
1154 800000 419430400 
1155 19800000 67108864 
4. 如何查看当前SQL*PLUS用户的sid和serial#? 
在SQL*PLUS下,运行: 
“select sid, serial#, status from v$session 
where audsid=userenv(’sessionid’);” 
5. 如何查看当前的字符集? 
在SQL*PLUS下,运行: 
“select userenv(’language’) from dual;” 
或: 
“select userenv(’lang’) from dual;” 
6. 如何查看数据库中某用户,正在运行什么SQL语句? 
根据MACHINE、USERNAME或SID、SERIAL#,连接表V$SESSION和V$SQLTEXT,可查出。 
SQL*PLUS语句: 
“SELECT SQL_TEXT FROM V$SQL_TEXT T, V$SESSION S WHERE T.ADDRESS=S.SQL_ADDRESS 
AND T.HASH_VALUE=S.SQL_HASH_VALUE 
AND S.MACHINE=’XXXXX’ OR USERNAME=’XXXXX’ -- 查看某主机名,或用户名 
/” 
7. 如何删除表中的重复记录? 
例句: 
DELETE 
FROM table_name a 
WHERE rowid > ( SELECT min(rowid) 
FROM table_name b 
WHERE b.pk_column_1 = a.pk_column_1 
and b.pk_column_2 = a.pk_column_2 ); 
8. 手工临时强制改变字符集 
以sys或system登录系统,sql*plus运行:“create database character set us7ascii;". 
有以下错误提示: 
* create database character set US7ASCII 
ERROR at line 1: 
ORA-01031: insufficient privileges 
实际上,看v$nls_parameters,字符集已更改成功。但重启数据库后,数据库字符集又变回原来的了。 
该命令可用于临时的不同字符集服务器之间数据倒换之用。 
9. 怎样查询每个instance分配的PCM锁的数目 
用以下命令: 
select count(*) "Number of hashed PCM locks" from v$lock_element where bitand(flags,4)0 

select count(*) "Number of fine grain PCM locks" from v$lock_element 
where bitand(flags,4)=0 

10. 怎么判断当前正在使用何种SQL优化方式? 
用explain plan产生EXPLAIN PLAN,检查PLAN_TABLE中ID=0的POSITION列的值。 
e.g. 
select decode(nvl(position,-1),-1,’RBO’,1,’CBO’) from plan_table where id=0 

11. 做EXPORT时,能否将DUMP文件分成多个? 
ORACLE8I中EXP增加了一个参数FILESIZE,可将一个文件分成多个: 
EXP SCOTT/TIGER FILE=(ORDER_1.DMP,ORDER_2.DMP,ORDER_3.DMP) FILESIZE=1G TABLES=ORDER; 
其他版本的ORACLE在UNIX下可利用管道和split分割: 
mknod pipe p 
split -b 2048m pipe order & #将文件分割成,每个2GB大小的,以order为前缀的文件: 
#orderaa,orderab,orderac,... 并将该进程放在后台。 
EXP SCOTT/TIGER FILE=pipe tables=order
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleで2つの日付の間の日数を計算する関数 Oracleで2つの日付の間の日数を計算する関数 May 08, 2024 pm 07:45 PM

2 つの日付の間の日数を計算する Oracle の関数は DATEDIFF() です。具体的な使用法は次のとおりです。 時間間隔の単位を指定します: 間隔 (日、月、年など) 2 つの日付値を指定します: date1 と date2DATEDIFF(interval, date1, date2) 日数の差を返します。

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

Oracle データベースの起動手順の順序は次のとおりです。 Oracle データベースの起動手順の順序は次のとおりです。 May 10, 2024 am 01:48 AM

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

オラクルで間隔を使用する方法 オラクルで間隔を使用する方法 May 08, 2024 pm 07:54 PM

Oracle の INTERVAL データ型は、時間間隔を表すために使用されます。構文は INTERVAL <precision> <unit> です。INTERVAL の演算には、加算、減算、乗算、除算を使用できます。これは、時間データの保存などのシナリオに適しています。日付の差を計算します。

oracle に 2 つの文字列が含まれているかどうかを判断する方法 oracle に 2 つの文字列が含まれているかどうかを判断する方法 May 08, 2024 pm 07:00 PM

Oracle では、ネストされた INSTR 関数を使用して、文字列に 2 つの部分文字列が同時に含まれているかどうかを判断できます。INSTR(string1, string2a) が 0 より大きく、INSTR(string1, string2b) が 0 より大きい場合、それは含まれます。それ以外の場合は含まれません。

Oracle で特定の文字の出現数を確認する方法 Oracle で特定の文字の出現数を確認する方法 May 09, 2024 pm 09:33 PM

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。

See all articles