※当サイトの記事には、広告・プロモーションが含まれます。

Oracle Database 12c Release 1(12.1.0.2.0)以降で導入されてるPDBは自動起動の設定するとして、パスワード切れてた...

f:id:ts0818:20200524144901j:plain

第5世代移動通信システム(だいごせだいいどうつうしんシステム、5th Generation5G)は、1G2G3G4Gに続く無線通信システムである。

5Gのエアインターフェースは、6 GHz以下の周波数帯を使ってLTE/LTE-Advancedと互換性を維持しつつ、6 GHzを超えたセンチ波マイクロ波)により近い28 GHz帯帯域も使った、新しい無線通信方式を導入する。5Gのエアインターフェースは5G NRと呼ばれ、3GPPで定義されている。5G単独で運用する方式はSA(Standalone)と呼ばれ、LTEのコア網(EPC)を流用し通信制御はLTEのコントロールチャネルで行う方式をNSA(Non-Standalone)と呼ぶ。

第5世代移動通信システム - Wikipedia

⇧ 5Gが普及すると、4Gは使えなくなるって話が日本のWikipediaだと記載が無さ気なんだけど、英語版のWikipediaだと、

Due to the increased bandwidth, it is expected that the new networks will not just serve cellphones like existing cellular networks, but also be used as general internet service providers for laptops and desktop computers, competing with existing ISPs such as cable internet, and also will make possible new applications in IoT and M2M areas. Current 4G cellphones will not be able to use the new networks, which will require new 5G enabled wireless devices.

https://en.wikipedia.org/wiki/5G

⇧ 新しいネットワークは、4G対応の携帯電話だと使えないから5G対応の携帯電話が必要だって言ってますけど、本当のところはどうなんですかね?

 

www.itmedia.co.jp

 3月下旬から本格的に始まった5Gサービス。MVNOが5Gを利用できるようにすることについては、MNO各社が宣言している。MVNOに5Gの電波を提供することは、周波数割当の審査で、提供する計画がないと電波を割り当てないという「絶対審査基準」として決められているからだ。ただし、提供方法についての基準は定められていない。例えば、5GにおけるフルMVNOの実現は、MNOの義務ではない。

5G時代の仮想通信事業者「VMNO」は、MVNOと何が違うのか? IIJ佐々木氏が解説 (1/3) - ITmedia Mobile

⇧ 日本だと、SIMフリーの契約の携帯電話では5G対応がこれから進んでいく感じですかね?携帯電話の買い替えとかしなくならなきゃ良いんだけど...

5Gと言うと、健康被害への懸念が世界では騒がれてましたが、

headlines.yahoo.co.jp

⇧ 問題ないとしてしまって良いんですかね?

英語版のWikipediaだと、

The scientific consensus is that 5G technology is safe.

https://en.wikipedia.org/wiki/5G

⇧ 5Gは安全って言い切ってますね。

In April 2019, the city of Brussels in Belgium blocked a 5G trial because of radiation laws. In GenevaSwitzerland, a planned upgrade to 5G was stopped for the same reason. The Swiss Telecommunications Association (ASUT) has said that studies have been unable to show that 5G frequencies have any health impact.

https://en.wikipedia.org/wiki/5G

⇧ 確かに、2019年4月時点では、スイスの通信協会では、5Gの健康への影響は見つけられなかったって言っとりますね。

でも、これって見方を変えたら、結局のところ人体への影響については何も分かってないってことと同じで、全く安全性が立証されたわけじゃないってことですよね?

どうやら、スイスでは、

dennjiha.org

 スイス医師会(Swiss Medical Association)は5Gについて注意を促しており、この技術が神経系に損傷を与えたり、さらにはがんを引き起こしたりする可能性について疑問が残るため、最も厳しい法的な原則が適用されるべきであると主張している。

スイス、5G基地局「使用停止」 「安全基準策定のため調査が必要」

⇧ 2020年2月12日 時点では、5Gの使用を一旦、差し控える方針となっていたようですね。まぁ、やっぱり人体への影響については、もう少し情報の確度が欲しいですよね。

 

とは言っても、コロナ騒ぎで分かったように、国の考えは、

 命 \lt お金

ということが分かりましたし、モチベーションはだだ下がりですが、例によってOracle Database に接続できなくなったので、調査してました。

レッツトライ~。

 

Oracle Database のPDBが落ちてた...

Windowsを起動する度なのかどうかは分かりませんが、Oracle Database 12c、19c のPDBが落ちてることに気付かず、Oracle Database のPDBに接続しようとして、

リクエストされた操作の実行中にエラーが発生しました:

ORA-01033: Oracleの初期化またはシャットダウン中です。
01033. 00000 -  "ORACLE initialization or shutdown in progress"
*Cause:    An attempt was made to log on while Oracle is being started up
           or shutdown.
*Action:   Wait a few minutes. Then retry the operation.
ベンダー・コード1033    

⇧ っエラーが起きてたから、それぞれのインスタンスに接続しました。

自分は、Windows 10 Home 64bit版に、

  • Oracle Database 12c Release 2 (12.2.0.1.0) - Standard Edition 2 and Enterprise Edition
  • Oracle Database 19c (19.3)

の2つをインストールしているので、「環境変数」の都合上、Oracle Database 12c のほうで、「sqlplus.exe」までのフルパスを指定してコマンドしていますが、1つしかOracle Database をインストールしていなければ、「sqlplus」でイケます。 

"C:\app\product\12.2.0\dbhome_1\bin\sqlplus.exe" / as sysdba

f:id:ts0818:20200524110425p:plain

Oracle Database  19c のほうは「環境変数」に追加しているのでパスが通っているので、「sqlplus」でイケてます。 

sqlplus / as sysdba

f:id:ts0818:20200524110526p:plain

で、接続後、PDBをオープンしました。 

Oracle Database  12c のほう。

alter pluggable database [PDB名] open;

f:id:ts0818:20200524111534p:plain

f:id:ts0818:20200524111609p:plain

Oracle Database  19c のほう。

alter pluggable database [PDB名] open;

f:id:ts0818:20200524111723p:plain 

「READ WRITE」ってなってれば、PDBが起動したってことみたい。

 

Oracle リスナーが落ちてた...

これで、Oracle Database 12c のほうは接続できたんですが、Oracle Database 19c のほうで、まだエラーが。
 

リクエストされた操作の実行中にエラーが発生しました:

Listener refused the connection with the following error:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

ベンダー・コード12514

⇧ どうやら、Oracle Database 19c の Oracleリスナーが落ちてたようで、Windowsのサービスで Oracle Database 19c の Oracleリスナーを起動しました。

Oracle Database 12c のほうのOracleリスナーは、Oracle Database のデフォルトで用意されてるもの(ポート番号:1521)を利用してるからなのか落ちてなかったんですよね、Oracle Database の仕様なんかね?

f:id:ts0818:20200524112101p:plain

Oracle Database 19c の Oracleリスナーの状態を確認。

f:id:ts0818:20200524113011p:plain

f:id:ts0818:20200524113132p:plain

動いたみたい。

 

パスワード切れてた...

で、満を持して、Oracle Database 19c の PDBOracleリスナー経由で接続しようとしたところ、

リクエストされた操作の実行中にエラーが発生しました:

ORA-28001: パスワードが期限切れです。
28001. 00000 -  "the password has expired"
*Cause:    The user's account has expired and the password needs to be
           changed
*Action:   change the password or contact the DBA
ベンダー・コード28001

⇧ パスワードの有効期限が切れてた。

DBA権限を持ったユーザでパスワードを変更しろってことみたいね。

ittutorial.org

sql-oracle.com

⇧  上記サイト様を参考に、試してみることに。

で、自分の場合は、PDBにユーザを作成しているので、CDBからPDBに接続を切り替えてから、ロックされたユーザを確認するコマンドを実施しました。(CDBに接続されてる状態だと、ロックされたユーザとして表示されなかったので)

alter session set container=[PDB名];   
SELECT USERNAME,ACCOUNT_STATUS,LOCK_DATE 
 FROM DBA_USERS
 WHERE ACCOUNT_STATUS <> 'OPEN';  

f:id:ts0818:20200524115351p:plain

f:id:ts0818:20200524115857p:plain

PDBに追加してたユーザが表示されました。って言うか、コマンドプロンプトでsqlplusを使ってるせいなのか分からんけど、出力結果が見難いな。

「ts0818」ってユーザを追加してるので、

USERNAME ACCOUNT_STATUS LOCK_DATE
 ts0818  EXPIRED  不明

⇧ パスワードの有効期限が切れてるけど、ロックはされてないってことなのかな?

状態については、

qiita.com

⇧ 上記サイト様が詳しいです。

 

ちなみに、 

blogs.oracle.com

Oracle Database 12cR1 (12.1.0.2)以降ではDBA_USERSデータディクショナリビューが拡張され、オラクルが内部的に利用しているユーザーかどうかを確認するためのORACLE_MAINTAINEという列が追加されました。この列の値がYのユーザーは オラクル社が提供するスクリプト(catalog.sqlやcatproc.sqlなど)以外の方法で変更しないでください。

[第34回] Oracle Databaseが作成するユーザー一覧 | クラウド・セキュリティナビ

⇧ 上記サイト様によりますと、「Oracle Database が内部的に利用してるユーザかどうか」を判別するには、以下のコマンドでイケるそう。

select username, oracle_maintained from dba_users;    

f:id:ts0818:20200524121339p:plain

f:id:ts0818:20200524121944p:plain

⇧ 「N」が付いてるのが、

  • PDBADMIN
  • TS0818 ←自分で追加したユーザー

 の2つのユーザで、「PDBADMIN」はおそらく、PDBを作成した時に自動で作成されるユーザってことなんですかね?

 

パスワードを変更していきますか。  

sql-oracle.com

⇧ 上記サイト様を参考。

ALTER USER [ユーザー名] IDENTIFIED BY [変更後のパスワード];

f:id:ts0818:20200524124418j:plain

⇧ 「ユーザーが変更されました」って...まぁ、確かに「ユーザーの情報」が変わったには違いないんだが、何が変わったのかサッパリ分からんコメントしてくれるところは、安定の不親切さ。

まぁ、無事、SQLDeveloperからも新しいパスワードで接続できましたが。

f:id:ts0818:20200524125103p:plain

 

 

PDB自動起動を設定

Windows の「シャットダウン」「起動」を経ても有効なのかはちょっと分かりませんが、PDBが自動で起動した状態になるよう設定してみる。

www.sql-dbtips.com

⇧ 上記サイト様を参考にさせていただきました。

alter pluggable database [PDB名] save state; 

Oracle Database 12c

f:id:ts0818:20200524131956p:plain

Oracle Database 19c

f:id:ts0818:20200524132113p:plain

2020年5月25日(月)追記:↓ ここから

翌日、パソコン起動して、特に何もOracle Database に触れてないですが、SQLDeveloperから接続できたので、自動起動の設定がなされたようです。

f:id:ts0818:20200525195358p:plain

2020年5月25日(月)追記:↑ ここまで

 

 

パスワードの有効期限を無期限にする

Oracle Database 12c のほうは無期限になってるっぽい?(自分で何らかの設定をしたのか、インストール時に設定できたのか覚えてない)のですが、Oracle Database 19c がパスワード期限切れを起こしたので、パスワードの有効期限を無期限にしたいと思います。 

souiunogaii.hatenablog.com

⇧ 上記サイト様を参考にさせていただきました。

まずは、「ユーザ」に「プロファイル」があるか確認していこうと思うのですが、その前に「プロファイル」って言うのは、

docs.oracle.com

CREATE PROFILE文を使用すると、プロファイルを作成できます。プロファイルとは、データベース・リソースの制限の集合です。プロファイルをユーザーに割り当てた場合、そのユーザーはそれらの制限を超えることはできません。

https://docs.oracle.com/cd/F19136_01/sqlrf/CREATE-PROFILE.html#GUID-ABC7AE4D-64A8-4EA9-857D-BEF7300B64C3

⇧ 「データベース・リソースの制限」を設定するファイルみたいね。

マルチテナント環境では、ルートおよびPDBの共通ユーザーに異なるプロファイルを割り当てることができます。共通ユーザーがPDBにログインすると、設定がセッションに適用されるプロファイルは、設定がパスワード関連であるかリソース関連であるかに応じて異なります。

https://docs.oracle.com/cd/F19136_01/sqlrf/CREATE-PROFILE.html#GUID-ABC7AE4D-64A8-4EA9-857D-BEF7300B64C3

⇧ 「共通ユーザー」と「PDBのユーザー」で「プロファイル」を分けられるらしいんだけど、ややこしいな...

 

そんでは確認。「ユーザー名」は全て大文字じゃないと駄目みたいね。

select USERNAME, PROFILE
from DBA_USERS
where USERNAME = '[ユーザー名]';

f:id:ts0818:20200524133155p:plain

⇧ 「プロファイル」は「DEFAULT」らしいっす。

パスワード関連の設定を確認。

select PROFILE, RESOURCE_NAME, RESOURCE_TYPE, LIMIT
from DBA_PROFILES
where PROFILE = 'DEFAULT'
and RESOURCE_TYPE = 'PASSWORD';

f:id:ts0818:20200524135848p:plain

⇧ 180日で有効期限が切れるそうな、って言うことは、Oracle Database 19c をインストールしてから、およそ6か月が経過したってことですか。

無期限を許可する!

alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;

f:id:ts0818:20200524140714p:plain

確認。

f:id:ts0818:20200524140957p:plain

⇧ 「PASSWORD_LIFE_TIME」が「180」から「UNLIMITED」になりました。

これで、パスワード切れの心配は無くなりましたね。

今回はこのへんで。