Oracle TIPS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*[[Oracle TIPS]] [#m6788b71]
#contents
**データベースのキャラクタセット [#v0201a92]
よくわからない場合は、とりあえずJA16SJISTILDEにしておきま...
月間DBマガジン2006 2を参考に
**sysでログイン [#ec9b85f7]
sqlplusでsysでログインしようとすると
ORA-28009: connection to sys should be as sysdba or syso...
と表示される場合があります。このときは、
sqlplus /nolog
でログインし、
connect sys as sysdba
と入力後、パスワードを入力します。もしくは、
sqlplus "sys/hogepass@hogetns as sysdba"
**表の名称変更 [#uf322dc2]
RENAME 元の表 TO 新しい表;
**列の削除 [#mf5ead15]
ALTER TABLE テーブル名 DROP COLUMN 列名;
**データベースリンクの作成方法 [#p8471c43]
CREATE DATABASE LINK 作成リンク名
CONNECT TO ユーザーID
IDENTIFIED BY パスワード
USING ’接続文字列’;
select * from テーブル@作成リンク名
**文字コードの確認 [#ne861b9b]
select * from NLS_DATABASE_PARAMETERS where PARAMETER = ...
**現在アクティブな(ログインしている)ユーザーの検索、削...
-検索
SQL> select sid,serial#,status,osuser,username,machine f...
2 where username='hoge';
SID SERIAL#
---------- ----------
9 87
-削除
SQL> alter system kill session ’9,87’;
もっと簡単にやるには Enterprise Managerを使いましょう
**ライセンス数 [#eb7e2077]
select * from v$license;
**カーソル数 [#he1272f1]
select * from v$open_cursor;
**ログイン時に実行されるトリガー [#yd62cae6]
CREATE OR REPLACE TRIGGER LOG_LOGON
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO TBL_TEST VALUES(1,1);
END;
**データファイルの場所 [#gf2c5d52]
select * from dba_data_files;
**テーブルスペース確認 [#q9a7b5fc]
select * from dba_tablespaces; ※データファイルに関する...
select * from dba_data_files; ※表領域に関する情報の確認
**データファイルの移動 [#v32ed0d7]
1.表領域をオフライン
alter tablespace testspace OFFLINE;
2.データファイル移動または、名前変更(エクスプローラ等)
3.Alter database rename file ’C:\data\test.ORA’ to ’C:...
4.表領域をオンライン
alter tablespace testspace ONLINE;
**SQLPLUS 初期実行ファイル [#g977b018]
C:\oracle\ora81\sqlplus\admin\glogin.sql
に
--orignal
set lines 160;
set pages 60;
def_editor=’C:\Program Files\Hidemaru\Hidemaru.exe’
--set heading off;
select * from v$version;
select * from NLS_DATABASE_PARAMETERS where PARAMETER = ...
select * from global_name;
select host_name,instance_name from v$instance;
set time on;
--set heading on;
--set pause on;
**表領域を自動拡張に変更 [#gb40ebba]
select file_name,autoextensible from dba_data_files;
で確認後
ALTER DATABASE DATAFILE 'C:\APP\TEST\ORADATA\ORCL\HOGE.D...
AUTOEXTEND ON NEXT 100M
MAXSIZE UNLIMITED;
**データベース削除 [#e7bebc42]
oraadim -DELETE -SID sid
これで、
サービス[OracleServicesid]
レジストリ[HKEY_LOCAL_MACHINE]-[SOFTWARE]-[ORACLE]-[HOME0]
にあるORA_sidで始まる5項目が削除されます。
あとは、
oracle_home\oradata\sid
oracle_home\admin\sid
のファイルを削除
簡単にするには、OracleDatabaseConfigurationを使いましょう。
**PLAN_TABLE [#p720df63]
Oracle9i
\oracle\ora92\rdbms\admin\utlxplan.sql
Oracle10g
\oracle\product\10.1.0\Db_1\RDBMS\ADMIN\utlxplan.sql
**今実行されているSQLを知りたい [#o661366c]
SELECT TO_CHAR(SES.LOGON_TIME, 'HH24:MI:SS') AS LOGON_T...
SES.USERNAME AS LOGON_US...
SES.SID AS SID,
SES.SERIAL# AS SERIAL,
SES.STATUS AS STATUS,
SQL.SQL_TEXT AS SQL_TEXT
FROM V$SESSION SES,
V$SQLAREA SQL
WHERE SES.SQL_ADDRESS = SQL.ADDRESS(+)
AND SES.SQL_HASH_VALUE = SQL.HASH_VALUE
AND SES.TYPE = 'USER'
ORDER BY SES.LOGON_TIME;
**別のテーブルの値で更新したい場合 [#dbc0e6e7]
テーブルtest1のc,d項目をテーブルtest2のc,d項目で更新する...
update test1 a1
set (a1.c,a1.d) = (
select ba.c,ba.d
from test2 ba
where a1.a=ba.a
and a1.b=ba.b
)
where exists(
select *
from test2 ba
where a1.a=ba.a
and a1.b=ba.b
)
**Enterprise Manager [#vb5ae452]
10gよりEnterprise Managerにブラウザからアクセスするように...
http://localhost:1158/em
**フラッシュバック [#ref624e7]
9iからも一部実装されてましたが、過去に消したデータやテー...
***テーブルを消した場合 [#hc5aab92]
select * from user_recyclebin;
これで削除したテーブルが確認できますので、戻してみましょ...
flashback table tablename to before drop;
つまりWindowsのゴミ箱みたいなもんです。ですので、当然消さ...
PURGE RECYCLEBIN
ですべてを、またテーブルを指定したい場合は、
PURGE TABLE tablename
**Caused by: java.sql.SQLException: ORA-01461: can bind a...
JDBCで接続している場合このエラーがでたら、JDBCのバージョ...
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3...
**マテリアライズド・ビュー・ログは最終リフレッシュよりも...
DECLARE
debug BINARY_INTEGER;
BEGIN
DBMS_MVIEW.REFRESH_ALL_MVIEWS(debug,'?','',FALSE,FALSE);
END;
/
** オプティマイザ統計情報の手動収集 [#fe56cebf]
exec DBMS_STATS.GATHER_SCHEMA_STATS ('ユーザ名', estimat...
** リスナーが起動せん [#cd605402]
listener.logが4GBを超えた為、Listenerが起動できていなかっ...
http://mattari-oboe.blogspot.jp/2014/10/oracle-listenerlo...
/u01/app/oracle/diag/tnslsnr/localhost/listener/trace
** テーブルスペース移動 [#k2610a42]
alter tablespace HOGE OFFLINE;
cd /u01/app/oracle/oradata/orcl12/pdborcl
cp -pi HOGE.DBF /home/oracle/oracle/
rm -i HOGE.DBF
alter tablespace HOGE rename datafile '/u01/app/oracle/o...
alter tablespace HOGE ONLINE;
http://qiita.com/nishimry/items/3d57e681c8f8dbdd6caa
** リンク [#edf4d819]
** 参考書籍 [#g0b6f67f]
** コメント [#ke28f5b6]
-#comment
終了行:
*[[Oracle TIPS]] [#m6788b71]
#contents
**データベースのキャラクタセット [#v0201a92]
よくわからない場合は、とりあえずJA16SJISTILDEにしておきま...
月間DBマガジン2006 2を参考に
**sysでログイン [#ec9b85f7]
sqlplusでsysでログインしようとすると
ORA-28009: connection to sys should be as sysdba or syso...
と表示される場合があります。このときは、
sqlplus /nolog
でログインし、
connect sys as sysdba
と入力後、パスワードを入力します。もしくは、
sqlplus "sys/hogepass@hogetns as sysdba"
**表の名称変更 [#uf322dc2]
RENAME 元の表 TO 新しい表;
**列の削除 [#mf5ead15]
ALTER TABLE テーブル名 DROP COLUMN 列名;
**データベースリンクの作成方法 [#p8471c43]
CREATE DATABASE LINK 作成リンク名
CONNECT TO ユーザーID
IDENTIFIED BY パスワード
USING ’接続文字列’;
select * from テーブル@作成リンク名
**文字コードの確認 [#ne861b9b]
select * from NLS_DATABASE_PARAMETERS where PARAMETER = ...
**現在アクティブな(ログインしている)ユーザーの検索、削...
-検索
SQL> select sid,serial#,status,osuser,username,machine f...
2 where username='hoge';
SID SERIAL#
---------- ----------
9 87
-削除
SQL> alter system kill session ’9,87’;
もっと簡単にやるには Enterprise Managerを使いましょう
**ライセンス数 [#eb7e2077]
select * from v$license;
**カーソル数 [#he1272f1]
select * from v$open_cursor;
**ログイン時に実行されるトリガー [#yd62cae6]
CREATE OR REPLACE TRIGGER LOG_LOGON
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO TBL_TEST VALUES(1,1);
END;
**データファイルの場所 [#gf2c5d52]
select * from dba_data_files;
**テーブルスペース確認 [#q9a7b5fc]
select * from dba_tablespaces; ※データファイルに関する...
select * from dba_data_files; ※表領域に関する情報の確認
**データファイルの移動 [#v32ed0d7]
1.表領域をオフライン
alter tablespace testspace OFFLINE;
2.データファイル移動または、名前変更(エクスプローラ等)
3.Alter database rename file ’C:\data\test.ORA’ to ’C:...
4.表領域をオンライン
alter tablespace testspace ONLINE;
**SQLPLUS 初期実行ファイル [#g977b018]
C:\oracle\ora81\sqlplus\admin\glogin.sql
に
--orignal
set lines 160;
set pages 60;
def_editor=’C:\Program Files\Hidemaru\Hidemaru.exe’
--set heading off;
select * from v$version;
select * from NLS_DATABASE_PARAMETERS where PARAMETER = ...
select * from global_name;
select host_name,instance_name from v$instance;
set time on;
--set heading on;
--set pause on;
**表領域を自動拡張に変更 [#gb40ebba]
select file_name,autoextensible from dba_data_files;
で確認後
ALTER DATABASE DATAFILE 'C:\APP\TEST\ORADATA\ORCL\HOGE.D...
AUTOEXTEND ON NEXT 100M
MAXSIZE UNLIMITED;
**データベース削除 [#e7bebc42]
oraadim -DELETE -SID sid
これで、
サービス[OracleServicesid]
レジストリ[HKEY_LOCAL_MACHINE]-[SOFTWARE]-[ORACLE]-[HOME0]
にあるORA_sidで始まる5項目が削除されます。
あとは、
oracle_home\oradata\sid
oracle_home\admin\sid
のファイルを削除
簡単にするには、OracleDatabaseConfigurationを使いましょう。
**PLAN_TABLE [#p720df63]
Oracle9i
\oracle\ora92\rdbms\admin\utlxplan.sql
Oracle10g
\oracle\product\10.1.0\Db_1\RDBMS\ADMIN\utlxplan.sql
**今実行されているSQLを知りたい [#o661366c]
SELECT TO_CHAR(SES.LOGON_TIME, 'HH24:MI:SS') AS LOGON_T...
SES.USERNAME AS LOGON_US...
SES.SID AS SID,
SES.SERIAL# AS SERIAL,
SES.STATUS AS STATUS,
SQL.SQL_TEXT AS SQL_TEXT
FROM V$SESSION SES,
V$SQLAREA SQL
WHERE SES.SQL_ADDRESS = SQL.ADDRESS(+)
AND SES.SQL_HASH_VALUE = SQL.HASH_VALUE
AND SES.TYPE = 'USER'
ORDER BY SES.LOGON_TIME;
**別のテーブルの値で更新したい場合 [#dbc0e6e7]
テーブルtest1のc,d項目をテーブルtest2のc,d項目で更新する...
update test1 a1
set (a1.c,a1.d) = (
select ba.c,ba.d
from test2 ba
where a1.a=ba.a
and a1.b=ba.b
)
where exists(
select *
from test2 ba
where a1.a=ba.a
and a1.b=ba.b
)
**Enterprise Manager [#vb5ae452]
10gよりEnterprise Managerにブラウザからアクセスするように...
http://localhost:1158/em
**フラッシュバック [#ref624e7]
9iからも一部実装されてましたが、過去に消したデータやテー...
***テーブルを消した場合 [#hc5aab92]
select * from user_recyclebin;
これで削除したテーブルが確認できますので、戻してみましょ...
flashback table tablename to before drop;
つまりWindowsのゴミ箱みたいなもんです。ですので、当然消さ...
PURGE RECYCLEBIN
ですべてを、またテーブルを指定したい場合は、
PURGE TABLE tablename
**Caused by: java.sql.SQLException: ORA-01461: can bind a...
JDBCで接続している場合このエラーがでたら、JDBCのバージョ...
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=3...
**マテリアライズド・ビュー・ログは最終リフレッシュよりも...
DECLARE
debug BINARY_INTEGER;
BEGIN
DBMS_MVIEW.REFRESH_ALL_MVIEWS(debug,'?','',FALSE,FALSE);
END;
/
** オプティマイザ統計情報の手動収集 [#fe56cebf]
exec DBMS_STATS.GATHER_SCHEMA_STATS ('ユーザ名', estimat...
** リスナーが起動せん [#cd605402]
listener.logが4GBを超えた為、Listenerが起動できていなかっ...
http://mattari-oboe.blogspot.jp/2014/10/oracle-listenerlo...
/u01/app/oracle/diag/tnslsnr/localhost/listener/trace
** テーブルスペース移動 [#k2610a42]
alter tablespace HOGE OFFLINE;
cd /u01/app/oracle/oradata/orcl12/pdborcl
cp -pi HOGE.DBF /home/oracle/oracle/
rm -i HOGE.DBF
alter tablespace HOGE rename datafile '/u01/app/oracle/o...
alter tablespace HOGE ONLINE;
http://qiita.com/nishimry/items/3d57e681c8f8dbdd6caa
** リンク [#edf4d819]
** 参考書籍 [#g0b6f67f]
** コメント [#ke28f5b6]
-#comment
ページ名: