Oh!Super164 取り留めのない日記のような

2024/12/8 日曜日

nologinユーザにsuする

Filed under: PC,備忘録 — pecos @ 13:32:53

たまにメンテでやるのだが、備忘録、、、

$ su -s /bin/bash <user>

nextcloudはphpのoccコマンドを直接キックして設定することがあるのだが、apache権限でないと実行できない。が、rootからapacheにユーザ切り替えを行う方法をいつも忘れてしまうw

2024/11/19 火曜日

oracle 11g docker (失敗)

Filed under: PC,備忘録 — admin @ 22:57:49

あまりにもクライアント環境が古すぎて19cに繋がらない、、、仕方ないので11gを作る
docker image作成 (express editionで作成)

$ git clone https://github.com/oracle/docker-images.git
$ cd docker-images/OracleDatabase/SingleInstance/dockerfiles/11.2.0.2
$ cp <path-to-zip>/oracle-xe-11.2.0-1.0.x86_64.rpm.zip .
$ cd ..
$ ./buildContainerImage.sh -v 11.2.0.2 -x
$ mkdir dump
$ chmod 777 dump
$ mkdir oradata
$ chmod 777 oradata

dockerを起動して、PDBにユーザーを作成し、インポート用のdirオブジェクトを作成しインポートを実行するまで
(dumpが古いのでshift-jisで作る)

services:
  db:
    image: oracle/database:11.2.0.2-xe
    ports:
      - 1521:1521
      - 5500:5500
    volumes:
      - ./oradata:/u01/app/oracle/oradata
      - ./dump:/u01/app/oracle/dump
    environment:
      - ORACLE_PWD=<SYSPASS>
$ docker compose up -d
$ docker compose exec db bash

11gではoracleの文字セットを指定できないので、一旦削除してdatabaseを再作成する(時間掛かった)

bash$ su oracle
bash$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup restrict mount;
SQL> drop database;
SQL> quit
bash$ createdb.sh -dbchar JA16SJISTILDE
bash$ sqlplus / as sysdba
SQL> alter user system identified by <SYSPASS> account unlock;
SQL> exec execute dbms_metadata_util.load_stylesheets;

“/u01/app/oracle/product/11.2.0/xe/rdbms/xml/xsl”このxlsがxeには存在しないので失敗する。11gの通常版から持ってこれば通るかも、、、
これが通らないとインポートがエラーになる。

SQL> create user <USER> identified by <PASS>;
SQL> grant dba to <USER>;
SQL> create directory DUMPDIR as '/u01/app/oracle/dump';
SQL> grant read on directory DUMPDIR to <USER>;
SQL> grant write on directory DUMPDIR to <USER>;
SQL> exit
bash$ impdp <USER>/<PASS>@<PDB> remap_schema=<USER>:<USER> DIRECTORY=DUMPDIR dumpfile=DATA.DMP logfile=DATA.log
bash$ exit
$ docker compose down

2024/11/17 日曜日

Oracle 19c docker 作成と使用準備

Filed under: PC,備忘録 — admin @ 16:30:52

手順を忘れてしまいそうなので、、、メモ

linux用のoracleをダウンロードしておく

https://www.oracle.com/jp/database/technologies/oracle-database-18c/enterprise-edition.html

docker image作成 (standard editionで作成)

$ git clone https://github.com/oracle/docker-images.git
$ cd docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0
$ cp <path-to-zip>/LINUX.X64_193000_db_home.zip .
$ cd ..
$ ./buildContainerImage.sh -v 19.3.0 -s
$ mkdir dump
$ chmod 777 dump
$ mkdir oradata
$ chmod 777 oradata

dockerを起動して、PDBにユーザーを作成し、インポート用のdirオブジェクトを作成しインポートを実行するまで
(dumpが古いのでshift-jisで作る)

services:
  db:
    image: oracle/database:19.3.0-se2
    ports:
      - 1521:1521
      - 5500:5500
    volumes:
      - ./oradata:/opt/oracle/oradata
      - ./dump:/opt/oracle/dump
    environment:
      - ORACLE_PWD=<SYSPASS>
      - ORACLE_PDB=<PDB>
      - ORACLE_CHARACTERSET=JA16SJISTILDE
$ docker compose up -d
$ docker compose exec db bash
bash$ sqlplus / as sysdba
SQL> SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID('CHAR_CS')),NLS_CHARSET_NAME(NLS_CHARSET_ID('NCHAR_CS')) FROM DUAL;
SQL> alter session set container = <PDB>;
SQL> create user <USER> identified by <PASS>;
SQL> grant dba to <USER>;
SQL> create directory DUMPDIR as '/opt/oracle/dump/';
SQL> grant read on directory DUMPDIR to <USER>;
SQL> grant write on directory DUMPDIR to <USER>;
SQL> exit
bash$ impdp <USER>/<PASS>@<PDB> remap_schema=<USER>:<USER> DIRECTORY=DUMPDIR dumpfile=DATA.DMP logfile=DATA.log
bash$ exit
$ docker compose down

データベースの文字セット変換をしたら壊れたw

SQL> SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE JA16SJISTILDE;
SHUTDOWN IMMEDIATE;
STARTUP;
Total System Global Area 1610609928 bytes
Fixed Size                  9135368 bytes
Variable Size             452984832 bytes
Database Buffers         1140850688 bytes
Redo Buffers                7639040 bytes
SQL> SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
SQL>
VALUE
--------------------------------------------------------------------------------
JA16SJISTILDE

2023/7/22 土曜日

launch.json

Filed under: 備忘録 — pecos @ 17:39:24

serverReadyActionで取れたurlをedgeに引き渡す方法が無いか、、、?

{
	"version": "0.2.0",
	"configurations": [
		{
			"name": ".NET Core Launch (console)",
			"type": "coreclr",
			"request": "launch",
			"preLaunchTask": "build",
			"program": "${workspaceFolder}/MyMVC/bin/Debug/net6.0/MyMVC.dll",
			"args": [],
			"cwd": "${workspaceFolder}/MyMVC",
			"console": "internalConsole",
			"stopAtEntry": false,
			"serverReadyAction": {
				"action": "startDebugging",
				"name": ".NET Core Debug MyMVC in Edge",
				"pattern": "\\bNow listening on:\\s+(http?://\\S+)",
			},
			"env": {
				"ASPNETCORE_ENVIRONMENT": "Development"
			},
			"sourceFileMap": {
				"/Views": "${workspaceFolder}/MyMVC/Views"
			},
		},
		{
			"name": ".NET Core Debug MyMVC in Edge",
			"type": "edge",
			"request": "launch",
			"timeout": 30000,
			"port": 9222,
			"disableNetworkCache": true,
			"url": "https://localhost:5001",
			"webRoot": "${workspaceFolder}",
		}
	]
}

素直にこれか、、、

				"action": "debugWithChrome",

2023/1/7 土曜日

WSL Ubuntu

Filed under: PC,備忘録 — pecos @ 1:33:28

最近、Ubuntuの立ち上がりが異常に遅い
解決策がわからなかったので再インストールすることに。管理者モードでPowerShellを起動して古い方を登録解除してアプリからアンインストール

$ wsl --list
$ wsl --unregister Ubuntu20.04
$ wsl --set-default-version 1
$ wsl --install Ubuntu
$ wsl --update

2022/5/25 水曜日

partedの使い方

Filed under: PC,備忘録 — pecos @ 18:07:30

しょっちゅうやる作業でもないので、備忘録

$ sudo parted -s -a optimal /dev/sda -- mkpart primary ntfs 0% 100%
$ mkfs.ntfs -Q -L Volume /dev/sdb1

2022/5/15 日曜日

オレオレ nuget

Filed under: c#,備忘録 — pecos @ 0:44:27

やり方を忘れてしまっていたので備忘録
自作パッケージの準備と作成

<PropertyGroup>
  <PackageId>OreOre</PackageId>
  <Version>1.0.0</Version>
  <Authors>my_name</Authors>
  <Company>my_company</Company>
</PropertyGroup>
$ dotnet pack -c Release

これで”OreOre-1.0.0.nupkg”が出来上がる。
自作パッケージのローカルな置き場を追加する。nuget.configを直接編集するかコマンドラインにて:

$ dotnet nuget add source <dir-for-packages> -n <source-name>
$ dotnet nuget list source

後はここに自作のパッケージを放り込めばいい。

自作パッケージを別のプロジェクトから参照するには:

$ dotnet add package OreOre
$ dotnet restore

これで参照できるようになる。

2022/4/19 火曜日

SSH+Apache+PHP+VSCode

Filed under: プログラミング,備忘録 — pecos @ 23:00:17

今更ながらVSCodeの汎用性の高さに驚いているのだが
WindowsのVSCodeからSSH-RemoteでLinux上のApache+PHPのデバッグって出来るんだろうか?と試してみる。実際の所、基本的なデバッグならいとも簡単に出来てしまうのだが、SSHで入っているので/homeのdirをApacheからアクセス可能にしようとしてドハマりする。このやり方は無理かな、、、
取り敢えずphp xdebug3の設定は:

xdebug.mode=debug
xdebug.start_with_request=yes

これでVSCode側でデバッガを起動してListen状態にしブラウザで当該のページをアクセスするとデバッグが開始された。
VSCodeに死角なしw

2022/4/18 月曜日

VSCodeでのUnitTest

Filed under: プログラミング,備忘録 — pecos @ 19:35:46

どういう訳か上手くいかない
エラーログを見ていると、ビルドしたdllへの参照パスが若干おかしい。通常は ”xxx/bin/Debug/net6.0/target.dll”のはずが”xxx/bin/Debug/net6.0/ref/target.dll”と余計な”ref”が入っている。よくわからないが英語のサイトでは下記をprojに入れてみろ:

<PropertyGroup>
    <ProduceReferenceAssemblyInOutDir>true</ProduceReferenceAssemblyInOutDir>
</PropertyGroup>

とあったので試してみたら上手く行った。
何の事やら、、、w

コマンドライン dotnet

Filed under: プログラミング,備忘録 — pecos @ 19:17:11

dotnetのコマンドをついつい忘れてしまうので、空のソリューションから新規プロジェクトの作成と追加までを下記に:

$ dotnet new sln
$ dotnet new classlib -f net6.0 -o someproj
$ dotnet sln add someproj/someproj.csproj
$ dotnet new mstest -o sometest
$ cd sometest
$ dotnet add reference ../someproj/someproj.csproj
$ cd ..
$ dotnet sln add sometest/sometest.csproj
$ dotnet build
$ cd sometest
$ dotnet test
« Newer PostsOlder Posts »

Powered by WordPress