回答編集履歴

2

修正

2017/03/01 08:59

投稿

tacsheaven
tacsheaven

スコア13703

test CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
 
4
4
 
5
- sqlplus で as sysdba を付けた場合、sys ユーザとしてログインしたことになります。
5
+ sqlplus で as sysdba を付けた場合、デフォルトスキーマがユーザのものではなく、sys になります。また実質上 sys ユーザログインしたことになります。
6
6
 
7
- ですから存在しないユーザを指定していても無視されますし、作られたテーブルも sys スキーマ上に作られます
7
+ ですから存在しないユーザを指定していても無視されます。
8
+
9
+
10
+
11
+ なので、3. のときに as sysdba でログインしたままですから、テーブルは kanri に作られていたとしても、普通に select を書いたら sys.[テーブル名] を捜すので、そんなものはない、と言われてしまうわけです。
8
12
 
9
13
 
10
14
 
11
15
  そもそも as sysdba を付ける必要はほとんどないはずです。それこそユーザを作るとか重大なトラブルに対するトラブルシュートをするなどの場合に限られます。
12
-
13
-
14
-
15
- 本来であれば、2. が終わった後(create user kanri が終わった後)、一端 sqlplus を抜け、再度 kanri ユーザで(as sysdba を付けずに)ログインして、3. 以降を流さねばなりません。

1

追記

2017/03/01 08:59

投稿

tacsheaven
tacsheaven

スコア13703

test CHANGED
@@ -4,8 +4,12 @@
4
4
 
5
5
  sqlplus で as sysdba を付けた場合、sys ユーザとしてログインしたことになります。
6
6
 
7
- ですから存在しないユーザを指定していも無視されますし、作られたテーブルも sys スキーマ上に作られます。
7
+ ですから存在しないユーザを指定していも無視されますし、作られたテーブルも sys スキーマ上に作られます。
8
8
 
9
9
 
10
10
 
11
11
  そもそも as sysdba を付ける必要はほとんどないはずです。それこそユーザを作るとか重大なトラブルに対するトラブルシュートをするなどの場合に限られます。
12
+
13
+
14
+
15
+ 本来であれば、2. が終わった後(create user kanri が終わった後)、一端 sqlplus を抜け、再度 kanri ユーザで(as sysdba を付けずに)ログインして、3. 以降を流さねばなりません。