恐れ入ります、oracleのDBサーバにクライアントがWindowsでMSアクセスを使用
しているユーザがODBC経由で接続しています。
このリスナーをoracleのDBサーバ側で強制切断するoracleのコマンドと
いったものはないのでしょうか?
よろしくお願い致します。

A 回答 (1件)

ACCESSユーザーのプロセスをKILLするにはまず、接続ユーザーの


確認が必要ですが、V$SESSIONにて接続しているユーザー情報が取得可能
です。ACCESSのプロセスは、...MSACCESS.EXEと出てくると思うの
で該当の SID名, SERIAL# を控えておきます。

接続ユーザーの情報はsystemユーザーにてsql*plusまたはSVRMGRを使って
select * from v$session;
を実行することにより取得が可能です。

次に該当プロセスの強制切断ですが同じくsystemユーザーにてsql*plus
またはSVRMGRを使って
alter system kill session 'SID名,SERIAL#';

(実行例)
> alter system kill session '17,143';

システムが変更されました。

なお、この方法でKILLするのは対象のACCESSプロセスを特定
できないと他の関係ないものを強制終了してしまうので非常に危険でも
あります。十分注意して使用したほうがいいかと思います。

また、うろおぼえですがACCESSのオプション設定の中にODBC
タイムアウト設定があったような気がします。
確か600秒だったような...
    • good
    • 0
この回答へのお礼

iwaz様
早速のご回答誠に有難うございます。
また丁寧な内容で非常に参考になります。
上記の設定にて実行いたしたいと思います。

お礼日時:2001/12/28 18:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q運用中のALTER TABLE

運用中でアクセスがあるテーブルに
ALTER TABLEで項目を追加したいのですが
問題ありますでしょうか?
オラクル9iです。

宜しくお願い致します。

Aベストアンサー

(1)ALTER TABLE文は表ロックがかかります(自身なし(^^;)。
SELECT ~ FOR UPDATE NOWAITで実行するSQL文等があるとリソースビジー
(ORA-00054)が戻る場合があります。

(2)テーブルを変更することによっていろいろ(プロシージャなどが)
無効(INVALID)になる場合がありますので、オブジェクトの状態を確認
したほうが良いと思います。

(3) DEFAULT指定がALTER TABLE文にある場合、undo領域が圧迫
(領域不足)したり、ALTER TABLEがなかなか完了しなかったりします。
(私はコレでハマリました(^^;)

今のところ、思いつくのはコレだけですが、いずれにしろテストできる
環境で確認されたほうが良いと思います。

QDB2 9とOracle10g なぜDB2はマイナーなの?

DB2がマイナーとは言い過ぎだとは思いますが、Oracleと
DB2を比較したとき、機能はほぼ互角、対象としている
プラットホームもほぼ同じだと思います。

しかし名前が薄いのかOracleの影に隠れてしまっている
ような感じがします。ちなみにうちの会社はOracleと
MS SQLを使っていますが、なぜかDB2は使っていません。

なぜ機能がいいのにDB2は影がうすいんでしょう?

Aベストアンサー

>プラットホームもほぼ同じだと思います。

DB2は、PC~メインフレームまでを対象。
オラクルは、PC~サーバクラスを対象。
MSSQLは、Windowsサーバを対象。

DB2がサポートするプラットフォームは非常に広いです。
ただし、プラットフォームごとにクセがあり、同一製品と考えるのには、ちょっと無理があります。

Windowsサーバやunixサーバクラスだと、オラクルが圧倒的シェアを持っており、技術者の数もノウハウも
シェアに比例して多いわけで、これを覆すだけのセールスポイントがDB2には、見つからないから・・としか言えません。

例えば、IBMメインフレームユーザが、ダウンサイジングをするようなケースだと、サーバ上のDB2を
使うケースは多いように思います。

QOracleのCreate Table 文のStorage句

お世話になります。

OracleのCreate Table 文のStorage句のNextの値を
変更したいのですが、できるのでしょうか?

Alter Table文で変更するのでしょうか?
手元にマニュアルが無く困っております。

よろしくお願いします。

Aベストアンサー

alter table テーブル名 storage ( next 変更後のサイズ );

だっけかな?

QAccessから主キーの無いOracleテーブルにVBAで主キー設定付のODBC接続するには

Oracle7--------------- Access97
Workgroup Server
Release 7.3.2.2.1

TABLE_A----------------ODBC接続(リンクテーブル)    
項目1
項目2
項目3
項目4

項目1~項目4は
空白レコードがあり
主KEYが張れない

********************************************************************
主キーの作成出来ないオラクルテーブルがあります。

Access97からODBC接続を作成する時は

(1)マニュアルであれば
  対象テーブルに主キーが無ければ
任意の10項目を仮の主キーとして設定出来ますが

(2)VBA(自動?)で リンク張ると

Dim tab01 As TableDef
 Dim db01 As Database
 Dim strTABname As String

strTABname = TABLE名
Set db01 = CurrentDb
Set tab01 = db01.CreateTableDef(UserName & "_" & strTABname, dbAttachSavePWD)
tab01.SourceTableName = UserName & "." & strTABname
tab01.CONNECT = "ODBC;DSN=****;UID=" & UserName & ";PWD=" & Password & ";ConnectString=con;"
db01.TableDefs.Append tab01

主キー設定の無いODBC接続が出来て
  データの更新などが出来なくなります。

VBAでも仮の主キー設定付きのODBC接続は
 出来ないでしょうか?

Oracle7--------------- Access97
Workgroup Server
Release 7.3.2.2.1

TABLE_A----------------ODBC接続(リンクテーブル)    
項目1
項目2
項目3
項目4

項目1~項目4は
空白レコードがあり
主KEYが張れない

********************************************************************
主キーの作成出来ないオラクルテーブルがあります。

Access97からODBC接続を作成する時は

(1)マニュアルであれば
  対象テーブルに主キーが無ければ
任...続きを読む

Aベストアンサー

手元にACC97は無いのですが、擬似インデックスを作成すれば可能だったはず。

作成方法は通常のINDEX作成と変わりはありません。

db01.Execute "CREATE INDEX ・・・・;"

Qmysqlのalter table中のロックについてです。

mysqlのalter table中のロックについてです。


下記のように、alterでテーブルを再構築中に同じテーブルにinsertが実行された場合、
接続Bのinsertはブロックされるかと思うのですが、テーブルが大きくalterに時間がかかる場合、
タイムアウトなどは発生するのでしょうか。
またもし発生する場合、タイムアウト値の設定などの確認方法はあるのでしょうか。

1.接続A
 alter table table1 add columnB int(11) ;

2.接続B(接続Aのalter実行中)
 insert into table1(columnA) values('aaa');

Aベストアンサー

ロック待ち関連のパラメータは、
innodb_lock_wait_timeout
table_lock_wait_timeout
だと思うんですが、DDLでロックされているテーブルのロック待ちに関しては、上記パラメータが関係ないようでした。
私の設定値は、デフォルトの50(両方とも)

※確認方法
show variables like '%timeout%';


2パターン、やってみました。

セッション1
alter table table1 add primary key(c1); /* 20分間 */

セッション2
start transaction;
insert into a values (100000001); /* セッション1終了後、ロック解除 */
rollback;

セッション1
alter table table1 drop primary key; /* 10分経過 */

セッション2
lock tables table1 write; /* おそらく、セッション1終了後ロック解除するのでしょう */

QAccessからOracleDBへのリンク(ODBC経由)

AccessからOracleDBへのリンクについて教えてください。

以前の質問でも似たような質問があったのですが、少し違うようなので
質問させていただきます。

Oracleクライアント(Net8含む)がインストールされていないPCからODBC経由でOracleDB
をリンクさせて参照しようと考えています。

そこで、OracleDBを参照できるように「設定」→「コンパネ」→「ODBCデータソース」
から ”Microsoft ODBC for Oracle” バージョン 2.573.6526.00
データソースを新規に追加しようとすると下記のようなエラーメッセージが表示され怒られてしまいます(--;)

**************************** エラー内容 *****************************
Oracle(tm)クライアントとネットワークコンポーネントが見つかりません。これらのコンポーネントは
Oracle Corporationから提供され、Oracle Version 7.3(またはそれ以降)
のクライアントソフトウェアの一部としてインストールされます。

このドライバを使用するには、これらのコンポーネントを先にインストールしてください。
******************************************************************

このようなエラーメッセージが出るということは具体的に何が足りないのでしょうか?
やはりOracleクライアントのインストールは必須なのでしょうか?
申し訳ないですが宜しくお願い致します。









Access97、Oracle8.1.6

AccessからOracleDBへのリンクについて教えてください。

以前の質問でも似たような質問があったのですが、少し違うようなので
質問させていただきます。

Oracleクライアント(Net8含む)がインストールされていないPCからODBC経由でOracleDB
をリンクさせて参照しようと考えています。

そこで、OracleDBを参照できるように「設定」→「コンパネ」→「ODBCデータソース」
から ”Microsoft ODBC for Oracle” バージョン 2.573.6526.00
データソースを新規に追加しようとすると下記のようなエラーメッセ...続きを読む

Aベストアンサー

私が知る限り、残念ながらNet8がインストールされてないことにはOracleとリンクできないはずです。

Qalter table で text が midiumtext になってしまう

当初作ったテーブル(テーブル名=test)では
col1 char(10) unique not null,
col2 text not null,
col3 text not null,
col4 text not null
だったのですが、col1だけをchar→varcharに変えたくて
alter table test modify col1 varchar(10) unique not null
としたところ、他のtext型項目が全てmidiumtextになってしまいました。

ひとつずつtextに直そうと
alter table test modify col2 text not null
を実行し次に
alter table test modify col3 text not null
とするとcol3はtextになるがcol2がまたmidiumtextになってしまいます。

midiumtextほどの容量は必要ないのでcol2~col4をtextに戻したいのですが、
どのようにすればよいのでしょうか。
ご教示願います。

宜しくお願い致します。

当初作ったテーブル(テーブル名=test)では
col1 char(10) unique not null,
col2 text not null,
col3 text not null,
col4 text not null
だったのですが、col1だけをchar→varcharに変えたくて
alter table test modify col1 varchar(10) unique not null
としたところ、他のtext型項目が全てmidiumtextになってしまいました。

ひとつずつtextに直そうと
alter table test modify col2 text not null
を実行し次に
alter table test modify col3 text not null
とするとcol3はtextになるがcol2...続きを読む

Aベストアンサー

UNIQUEは引き継がれるはずなので、changeをつかって
以下のようにしてみてはいかがでしょうか?

ALTER TABLE `test`
CHANGE `col1` `col1` VARCHAR(10) NOT NULL
,CHANGE `col2` `col2` TEXT NOT NULL
,CHANGE `col3` `col3` TEXT NOT NULL
,CHANGE `col4` `col4` TEXT NOT NULL

ただしMySQLのバージョンにもよるでしょうけど、
暗黙のフィールド定義変更がはたらいて手動による
型変更は意味がないかもしれません

参考URL:http://www.mysql.gr.jp/Manual/mysql-4.00.12/manual.ja_Reference.html#Silent_column_changes

QODBCでDB2に接続する時に必要なもの

ODBCを使用して、PC(windows)から、AS400(OS/400)のデータベース(DB2)にアクセスすることを考えています。やりたいことは、データベースからあるデータを抽出して、PC上のファイルに格納することです。(データベースの更新は考えていません)
上記の前提で、PCからODBCによる接続を行うときに必要となるものは、何でしょうか。
(PC側とAS400側とでそれぞれ必要なものを教えて下さい。ODBC用のドライバが、それぞれ必要なのかなとは、思っていますが、未経験の為、その辺がよくわかりません。又、その必要なものは、DB2(PC側の場合はVB等の開発ツール)を購入した時、標準で提供されるものなのでしょうか。それとも、別途購入しないといけないものなのでしょうか。)

Aベストアンサー

>ありがとうございます。クライアント側が必要と言うことですね。
>サーバー側(AS400)は、必要ないのでしょうか。

ODBCが何かを理解しましょう。
理解していれば”それぞれ”なんてないはずです。
Open DataBase Connectivityなんですから。

http://yougo.ascii24.com/gh/04/000494.html
もちろん、特別なものは不要です。というか、接続できなきゃどうするの?

QALTER TABLE mytable CHANGE

mytableというテーブルのaカラムの型と名前を変更するのは
ALTER TABLE mytable CHANGE a new_a INT;
でできましたが、今度はnew_aをbにすると動時にTINYINT(4)にしたいのですが、SQLの文法が違うようだったので正しいものを教えてください。
ALTER TABLE mytable CHANGE new_a b TINYINT(4);
でなく、何なのですか?

Aベストアンサー

それで合っています。
(少なくともウチの4.0.23ではそれで変更できてます)

本当に文法ミスでのエラーでしょうか?
エラーの内容を確認してみてください。

Q異なるドメイン間をODBC経由でDBを参照したいです。

はじめまして。

異なるドメイン間でのODBC接続(ログイン)がうまくいかず困っています。
誰か助けてください。

開発環境は
データベース:SQL Server(初心者です。)
開発言語:Visual Basic
データベースとはDAOで接続しています。

接続文字列を編集すれば何とかなるものなのでしょうか?

回答よろしくお願いします。

Aベストアンサー

ここら辺参考になるかも。ならないかも。

参考URL:http://www.users.gr.jp/ml/archive/sql/98.asp


人気Q&Aランキング

おすすめ情報