HTN20190109の日記

FerretDB

(24)
https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/
https://github.com/microsoft/documentdb

https://docs.ferretdb.io/installation/ferretdb/deb/
https://www.mongodb.com/ja-jp/docs/mongodb-shell/install/

https://dincosman.com/2024/05/14/ferretdb-installation/

CPU: 1
メモリ: 8G

mongosh --> FerreDB --> PostgreSQL(DocumentDB)


前提: Docker インストール済み

-- 1. PostgreSQL with DocumentDBコンテナ起動


git clone https://github.com/microsoft/documentdb.git
cd documentdb/
docker build . -f .devcontainer/Dockerfile -t documentdb 

docker image ls

docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 

cd code
make 
sudo make install

./scripts/start_oss_server.sh
psql -p 9712 -d postgres

SELECT documentdb_api.create_collection('documentdb','patient');

select documentdb_api.insert_one('documentdb','patient', '{ "patient_id": "P001", "name": "Alice Smith", "age": 30, "phone_number": "555-0123", "registration_year": "2023","conditions": ["Diabetes", "Hypertension"]}');

SELECT document FROM documentdb_api.collection('documentdb','patient');

 

docker run  -d -p 5432:5432 -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 
docker container ls

docker exec -it hardcore_swartz /bin/bash 

cd code
make 
sudo make install
./scripts/start_oss_server.sh
psql -p 9712 -d postgres

show listen_addresses;
show port;

ALTER SYSTEM SET listen_addresses = '*';
ALTER SYSTEM SET port = 5432;

cd /home/documentdb/documentdb_test
cp pg_hba.conf pg_hba.conf.1
echo "host    all             all             0.0.0.0/0            trust" >> pg_hba.conf 

 


export PGDATA=/home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status
/usr/lib/postgresql/16/bin/pg_ctl stop
/usr/lib/postgresql/16/bin/pg_ctl start -D /home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status

psql -p 5432 -d postgres

exit

 

sudo apt install postgresql-client-common
sudo apt install postgresql-client-16

psql -h localhost -p 5432 -U documentdb -d postgres

 


-- 2. FerretDBインストール

wget https://github.com/FerretDB/FerretDB/releases/download/v2.0.0/ferretdb-linux-amd64.deb

mv ferretdb-linux-amd64.deb ferretdb.deb

sudo dpkg -i ferretdb.deb

ferretdb --version

 

ferretdb --postgresql-url="postgres://documentdb:documentdb@192.168.137.182:5432/postgres" --listen-addr="192.168.137.182:27002" --no-auth


-- 3. mongoshインストール

wget -qO- https://www.mongodb.org/static/pgp/server-8.0.asc | sudo tee /etc/apt/trusted.gpg.d/server-8.0.asc


echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
sudo apt-get update
sudo apt-get install -y mongodb-mongosh
mongosh --version

 


-- 4. 動作確認


mongosh mongodb://192.168.137.182:27002


show dbs

use db11

db.createCollection('tab1')
show collections

db.tab1.insertOne(
   { _id: 0, col1: "val10", col2 : 20, col3 : ["val310","val320"], col4: { col41: 410, col42: "val420" } }
)

db.tab1.countDocuments()
db.tab1.find()

 

 

(12)
https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/
https://github.com/microsoft/documentdb

https://docs.ferretdb.io/installation/ferretdb/deb/
https://www.mongodb.com/ja-jp/docs/mongodb-shell/install/

https://dincosman.com/2024/05/14/ferretdb-installation/


CPU: 1
メモリ: 8G

 

mongosh --> FerreDB --> PostgreSQL(DocumentDB)


前提: Docker インストール済み

-- 1. PostgreSQL with DocumentDBコンテナ起動


git clone https://github.com/microsoft/documentdb.git
cd documentdb/
docker build . -f .devcontainer/Dockerfile -t documentdb 

docker image ls

chmod -R 777 /root
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 


cd code
make 
sudo make install

./scripts/start_oss_server.sh
psql -p 9712 -d postgres

SELECT documentdb_api.create_collection('documentdb','patient');

select documentdb_api.insert_one('documentdb','patient', '{ "patient_id": "P001", "name": "Alice Smith", "age": 30, "phone_number": "555-0123", "registration_year": "2023","conditions": ["Diabetes", "Hypertension"]}');

SELECT document FROM documentdb_api.collection('documentdb','patient');

 

docker run  -d -p 5432:5432 -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 
docker container ls

docker exec -it optimistic_black /bin/bash 

cd code
make 
sudo make install
./scripts/start_oss_server.sh
psql -p 9712 -d postgres

show listen_addresses;
show port;

ALTER SYSTEM SET listen_addresses = '*';
ALTER SYSTEM SET port = 5432;

cd /home/documentdb/documentdb_test
cp pg_hba.conf pg_hba.conf.1
echo "host    all             all             0.0.0.0/0            trust" >> pg_hba.conf 

 


export PGDATA=/home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status
/usr/lib/postgresql/16/bin/pg_ctl stop
/usr/lib/postgresql/16/bin/pg_ctl start -D /home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status

psql -p 5432 -d postgres

exit

 

sudo apt install postgresql-client-common
sudo apt install postgresql-client-16

psql -h localhost -p 5432 -U documentdb -d postgres

 


-- 2. FerretDBインストール

wget https://github.com/FerretDB/FerretDB/releases/download/v2.0.0/ferretdb-linux-amd64.deb

mv ferretdb-linux-amd64.deb ferretdb.deb

sudo dpkg -i ferretdb.deb

ferretdb --version

 

ferretdb --postgresql-url="postgres://documentdb:documentdb@192.168.137.189:5432/postgres" --listen-addr="192.168.137.189:27002" --no-auth


-- 3. mongoshインストール

wget https://downloads.mongodb.com/compass/mongosh-2.4.2-linux-x64.tgz

tar -zxvf mongosh-2.4.2-linux-x64.tgz
cd mongosh-2.4.2-linux-x64
chmod +x bin/mongosh

sudo cp bin/mongosh /usr/local/bin/
sudo cp bin/mongosh_crypt_v1.so /usr/local/lib/
mongosh --version


-- 4. 動作確認


mongosh mongodb://192.168.137.189:27002


show dbs

use db11

db.createCollection('tab1')
show collections

db.tab1.insertOne(
   { _id: 0, col1: "val10", col2 : 20, col3 : ["val310","val320"], col4: { col41: 410, col42: "val420" } }
)

db.tab1.countDocuments()
db.tab1.find()

 

 

(RL9)


https://opensource.microsoft.com/blog/2025/01/23/documentdb-open-source-announcement/
https://github.com/microsoft/documentdb

https://docs.ferretdb.io/installation/ferretdb/rpm/
https://www.mongodb.com/ja-jp/docs/mongodb-shell/install/

https://dincosman.com/2024/05/14/ferretdb-installation/


CPU: 1
メモリ: 8G

 

mongosh --> FerreDB --> PostgreSQL(DocumentDB)


前提: Docker インストール済み

-- 1. PostgreSQL with DocumentDBコンテナ起動


git clone https://github.com/microsoft/documentdb.git
cd documentdb/
docker build . -f .devcontainer/Dockerfile -t documentdb 

 

docker image ls

chmod -R 777 /root
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 


cd code
make 
sudo make install

./scripts/start_oss_server.sh
psql -p 9712 -d postgres

SELECT documentdb_api.create_collection('documentdb','patient');

select documentdb_api.insert_one('documentdb','patient', '{ "patient_id": "P001", "name": "Alice Smith", "age": 30, "phone_number": "555-0123", "registration_year": "2023","conditions": ["Diabetes", "Hypertension"]}');

SELECT document FROM documentdb_api.collection('documentdb','patient');

 

docker run  -d -p 5432:5432 -v $(pwd):/home/documentdb/code -it documentdb /bin/bash 
docker container ls

docker exec -it amazing_ride /bin/bash 

cd code
make 
sudo make install
./scripts/start_oss_server.sh
psql -p 9712 -d postgres

show listen_addresses;
show port;

ALTER SYSTEM SET listen_addresses = '*';
ALTER SYSTEM SET port = 5432;

cd /home/documentdb/documentdb_test
cp pg_hba.conf pg_hba.conf.1
echo "host    all             all             0.0.0.0/0            trust" >> pg_hba.conf 

 


export PGDATA=/home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status
/usr/lib/postgresql/16/bin/pg_ctl stop
/usr/lib/postgresql/16/bin/pg_ctl start -D /home/documentdb/documentdb_test
/usr/lib/postgresql/16/bin/pg_ctl status

psql -p 5432 -d postgres

exit

 

 

dnf -y search postgresql16
dnf -y install postgresql16

psql -h localhost -p 5432 -U documentdb -d postgres

 


-- 2. FerretDBインストール

wget https://github.com/FerretDB/FerretDB/releases/download/v2.0.0/ferretdb-linux-amd64.rpm

mv ferretdb-linux-amd64.rpm ferretdb.rpm

sudo rpm -i ferretdb.rpm

ferretdb --version

 

ferretdb --postgresql-url="postgres://documentdb:documentdb@192.168.137.190:5432/postgres" --listen-addr="192.168.137.190:27002" --no-auth


-- 3. mongoshインストール


wget https://downloads.mongodb.com/compass/mongosh-2.4.2-linux-x64.tgz

tar -zxvf mongosh-2.4.2-linux-x64.tgz
cd mongosh-2.4.2-linux-x64
chmod +x bin/mongosh

sudo cp bin/mongosh /usr/local/bin/
sudo cp bin/mongosh_crypt_v1.so /usr/local/lib/
mongosh --version


-- 4. 動作確認


mongosh mongodb://192.168.137.190:27002


show dbs

use db11

db.createCollection('tab1')
show collections

db.tab1.insertOne(
   { _id: 0, col1: "val10", col2 : 20, col3 : ["val310","val320"], col4: { col41: 410, col42: "val420" } }
)

db.tab1.countDocuments()
db.tab1.find()

 

 

 

 

(2025)

https://docs.ferretdb.io/installation/ferretdb/windows/


未サポートの模様

 

 

{16 追加}Oracle Connection Managerの構成

 


https://docs.oracle.com/cd/F19136_01/netag/configuring-oracle-connection-manager.html#GUID-AF8A511E-9AE6-4F4D-8E58-F28BC53F64E4

クライアントHOME=/u01/app/oracle/product/19.0.0/client_1
CMANポート=1525


-- 1. Connection Managerインストール


cd /tmp
unzip LINUX.X64_193000_client.zip

LANG=C ./client/runInstaller

Custom

Oracle Connection Manager
Oracle Net Listener


-- 2. cman.oraファイルの構成

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/client_1

cd $ORACLE_HOME/network/admin

cp samples/cman.ora .
vi cman.ora

cman_mmm111.example.com =
(configuration=
  (address=(protocol=tcp)(host=mmm111.example.com)(port=1525))
  (parameter_list =
    (registration_invited_nodes=mmm111.example.com)
    (idle_timeout=0)
    (inbound_connect_timeout=0)
    (session_timeout=0)
    (outbound_connect_timeout=0)
  )
  (rule_list=
    (rule=
       (src=*)(dst=*)(srv=*)(act=accept)
       (action_list=(aut=off)(moct=0)(mct=0)(mit=0)(conn_stats=on))
    )
  )
)

vi listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = mmm111.example.com)(PORT = 1525))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )


-- 3. Oracle Connection Managerの起動

 

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/client_1
$ORACLE_HOME/bin/lsnrctl status

$ORACLE_HOME/bin/cmctl STARTUP
$ORACLE_HOME/bin/cmctl show all
$ORACLE_HOME/bin/cmctl show services


$ORACLE_HOME/bin/cmctl SHUTDOWN


-- 4. Oracle Databaseサーバーの構成

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1

$ORACLE_HOME/bin/lsnrctl status
$ORACLE_HOME/bin/lsnrctl start

$ORACLE_HOME/bin/sqlplus / as sysdba

show parameter listener
alter system set REMOTE_LISTENER= '(DESCRIPTION=
  (ADDRESS_LIST=
   (ADDRESS=(PROTOCOL=tcp)(HOST= mmm111.example.com)(PORT=1525))))' scope=both sid='*';

show parameter listener
alter system register;


-- 5. クライアントの構成

export ORACLE_HOME=/u01/app/oracle/product/19.0.0/client_1

vi $ORACLE_HOME/network/admin/tnsnames.ora


orcl_cm=
 (DESCRIPTION=
  (ADDRESS=(PROTOCOL=tcp)(HOST=mmm111.example.com)(PORT=1525))
  (CONNECT_DATA=
     (SERVICE_NAME=orcl.example.com)))

 

$ORACLE_HOME/bin/sqlplus sys/oracle@orcl_cm as sysdba

 

 

 

 

1台RAC/DG

 

OS: Oracle Linux 8.10 

メモリ: 8GB
ディスク: 60GB + 20GB

DB名: moon
プライマリDBユニーク名: moon
スタンバイDBユニーク名: sun


プライマリOracleHome: /u01/app/oracle/product/19.0.0/dbhome_1
スタンバイOracleHome: /u01/app/oracle/product/19.0.0/dbhome_2


eth0=192.168.137.125 eth1=192.168.70.125 vip=192.168.137.126 scan=192.168.137.127


プライマリ SCAN/ローカルリスナーポート: 1521
スタンバイ ローカルリスナーポート: 1522

同一サーバにプライマリDBとスタンバイDBが存在するため、
PDB名が同一となり、サービス名が重複する。
そのため、スタンバイはSCANリスナー登録対象外とする


--------[1]RAC--------

-- 1. OS設定

systemctl disable firewalld
sed -i -e "s/^SELINUX=enforcing$/SELINUX=disabled/g" /etc/selinux/config


yum update -y
yum install oracle-database-preinstall-19c -y

※ ACFSを使用する場合、カーネルはuekではなくel8を使用する

grubby --info=ALL
ll /boot/vmlinuz*

grub2-set-default 2

reboot
uname -r

cat /sys/kernel/mm/transparent_hugepage/enabled

→always madvise [never] となっていればOK

groupadd -g 1001 asmadmin
groupadd -g 1002 asmdba
useradd -u 54322 -g oinstall -G asmadmin,asmdba grid


echo oracle | passwd --stdin oracle


echo grid | passwd --stdin grid

usermod -G asmadmin,asmdba,backupdba,racdba,dgdba,dba,oper,kmdba  oracle

vi /etc/pam.d/login
session     required      pam_limits.so


vi /etc/hosts
192.168.137.125       mmdb125.example.com mmdb125
192.168.70.125        mmdb125-priv.example.com mmdb125-priv
192.168.137.126       mmdb125-vip.example.com mmdb125-vip
192.168.137.127       scan125.example.com scan125

systemctl enable chronyd.service
systemctl start chronyd.service


mkdir -p /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/19.0.0/grid
mkdir /u01/app/oraInventory
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01


vi /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=moon1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/u01/app/19.0.0/grid/bin
umask 022
export NLS_LANG=American_America.AL32UTF8

vi /home/grid/.bash_profile
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=+ASM1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
umask 022
export NLS_LANG=American_America.AL32UTF8


cat /etc/udev/rules.d/99-vmware-scsi-timeout.rules
vi /etc/udev/rules.d/99-vmware-scsi-timeout.rules
KERNEL=="sdb",  SYMLINK+="oracleasm/asmdata21", OWNER="grid", GROUP="asmadmin", MODE="0660"

reboot

ll /dev/sd*

 

 

-- 2. GIインストール

gridユーザで実行

mkdir -p /u01/app/19.0.0/grid
chown grid:oinstall /u01/app/19.0.0/grid
cd /u01/app/19.0.0/grid
unzip /tmp/LINUX.X64_193000_grid_home.zip


su root
rpm -Uvh /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm
exit

export CV_ASSUME_DISTID='OL7'
LANG=C /u01/app/19.0.0/grid/gridSetup.sh


vi /root/.bash_profile

export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.0/grid

export PATH=$PATH:$ORACLE_HOME/bin
umask 022
export NLS_LANG=American_America.AL32UTF8

. /root/.bash_profile

crsctl stat res -t

 

-- 3. DBインストール

oracleユーザで実行

mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
chown oracle:oinstall /u01/app/oracle/product/19.0.0/dbhome_1
cd /u01/app/oracle/product/19.0.0/dbhome_1
unzip /tmp/LINUX.X64_193000_db_home.zip

export CV_ASSUME_DISTID='OL7'
LANG=C ./runInstaller

export CV_ASSUME_DISTID='OL7'
export NLS_LANG=American_America.AL32UTF8
LANG=C dbca

 


select * from dba_profiles;
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
alter profile default limit PASSWORD_LIFE_TIME unlimited;
alter profile default limit PASSWORD_LOCK_TIME unlimited;
alter profile default limit PASSWORD_GRACE_TIME unlimited;
alter profile default limit INACTIVE_ACCOUNT_TIME unlimited;
select * from dba_profiles where profile='DEFAULT';


vi $ORACLE_HOME/sqlplus/admin/glogin.sql
set lines 1000
set pages 5000
set trims on
set sqlprompt "&_connect_identifier(&_user)> "


vi ~/.bashrc
alias moon1='export ORACLE_SID=moon1'
alias sun1='export ORACLE_SID=sun1'
alias cdh='cd $ORACLE_HOME'
alias cdb='cd $ORACLE_BASE'
alias sql='sqlplus / as sysdba'

. ~/.bashrc

sql
show pdbs
alter pluggable database all open;
alter pluggable database all save state;
alter session set container=pdb01;
create user test identified by test;
grant dba to test;


crsctl disable crs


--------[2] DG--------

-- 4. ネットワーク設定

cd $ORACLE_HOME/network/admin
vi tnsnames.ora

MOON =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mmdb125-vip.example.com)(PORT = 1521) )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = moon.example.com)
    )
  )

  

PDB01RW =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = scan125.example.com)(PORT = 1521) )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb01.example.com)
    )
  )

 

SUN=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mmdb125-vip.example.com)(PORT = 1522) )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = sun.example.com)
    )
  )

 

PDB01RO =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mmdb125-vip.example.com)(PORT = 1522) )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdb01.example.com)
    )
  )

 

cat tnsnames.ora

echo "select instance_name from v\$instance;" |  sqlplus sys/oracle@MOON  as sysdba

echo "select instance_name from v\$instance;" |  sqlplus test/test@PDB01RW

 
-- 5. データガード前提条件の確認と設定


sql

show pdbs
archive log list

shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

archive log list

select FORCE_LOGGING from V$DATABASE ;
select flashback_on from v$database ;
select GROUP#, THREAD#, BYTES/1024/1024, MEMBERS from V$LOG order by 1, 2 ;

select GROUP#, THREAD#, BYTES/1024/1024 from V$STANDBY_LOG order by 1, 2;

col FILE_NAME for a60
select FILE_NAME, FORMAT, IS_ASM from V$PASSWORDFILE_INFO ;
※パスワードファイル名は後で使用するため、記録しておく
FILE_NAME                                                    FORMAT IS_AS
------------------------------------------------------------ ------ -----
+DATA/MOON/PASSWORD/pwdmoon.258.1196211043                   12     TRUE

alter database force logging ;
select FORCE_LOGGING from V$DATABASE ;


show parameter reco
alter system set db_recovery_file_dest_size = 5G scope=both sid='*';
alter system set db_recovery_file_dest = '+DATA' scope=both sid='*';
show parameter reco

alter database flashback on;

select flashback_on from v$database ;

スタンバイREDOは(REDOグループ数+1)個作成、メンバー数は1固定

alter database add standby logfile thread 1 size 200M;
alter database add standby logfile thread 1 size 200M;
alter database add standby logfile thread 1 size 200M;
alter database add standby logfile thread 1 size 200M;

select GROUP#, THREAD#, BYTES/1024/1024 from V$STANDBY_LOG order by 1, 2;

 

-- 6. プライマリDBの初期化パラメータ修正

 

set lines 300 pages 50000 tab off trim on
col NAME for a30
col VALUE for a150
select INST_ID, NAME, VALUE from GV$PARAMETER
 where upper(NAME) in (
         'LOG_ARCHIVE_CONFIG',
         'LOG_ARCHIVE_DEST_1',
         'LOG_ARCHIVE_DEST_2',
         'LOG_ARCHIVE_DEST_3',
         'LOG_ARCHIVE_DEST_STATE_1',
         'LOG_ARCHIVE_DEST_STATE_2',
         'LOG_ARCHIVE_DEST_STATE_3',
         'LOG_ARCHIVE_FORMAT',
         'REMOTE_LOGIN_PASSWORDFILE',
         'DB_RECOVERY_FILE_DEST',
         'DB_RECOVERY_FILE_DEST_SIZE',
         'FAL_CLIENT',
         'FAL_SERVER',
         'STANDBY_FILE_MANAGEMENT',
         'DB_NAME',
         'DB_UNIQUE_NAME',
         'AUDIT_FILE_DEST',
         'DIAGNOSTIC_DEST',
         'REMOTE_LISTENER',
         'CLUSTER_INTERCONNECTS')
 order by 2, 1 ;

 

alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(moon,sun)' scope=both sid='*' ;

alter system set LOG_ARCHIVE_DEST_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(ALL_LOGFILES,ALL_ROLES) MAX_FAILURE=1 REOPEN=5 DB_UNIQUE_NAME=moon ALTERNATE=LOG_ARCHIVE_DEST_2' scope=both sid='*' ;
alter system set LOG_ARCHIVE_DEST_2='location=+DATA valid_for=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=moon ALTERNATE=LOG_ARCHIVE_DEST_1' scope=both sid='*' ;

alter system set LOG_ARCHIVE_DEST_3='SERVICE=SUN ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sun' scope=both sid='*' ;
alter system set log_archive_dest_state_2='ALTERNATE' scope=both sid='*' ;

alter system set FAL_CLIENT='MOON' scope=both sid='*' ;
alter system set FAL_SERVER='SUN' scope=both sid='*' ;
alter system set STANDBY_FILE_MANAGEMENT='AUTO' scope=both sid='*' ;

 


-- 7. バックアップを格納するディレクトリを作成


asmcmd
cd +DATA
mkdir BKUP

 

 

-- 8. バックアップ取得

export NLS_DATE_FORMAT="YYYY/MM/DD HH24:MI:SS"
rman target /

※DBIDは後で使用するため、記録しておく
connected to target database: MOON (DBID=2950463275)


CONFIGURE DEVICE TYPE DISK PARALLELISM 2 ;

delete noprompt force archivelog all;

delete noprompt force backup of archivelog all ;
delete noprompt force backup of database ;
delete noprompt force backup of controlfile ;
delete noprompt force datafilecopy all ;


BACKUP
  DEVICE TYPE DISK FORMAT '+DATA/BKUP/%U'
  ARCHIVELOG ALL ;

BACKUP  
  DEVICE TYPE DISK FORMAT '+DATA/BKUP/%U'
  DATABASE ;


BACKUP
  DEVICE TYPE DISK FORMAT '+DATA/BKUP/%U' TAG 'controlfile'
  CURRENT CONTROLFILE ;

BACKUP
  DEVICE TYPE DISK FORMAT '+DATA/BKUP/%U' TAG 'spfile'
  SPFILE ;


BACKUP
  DEVICE TYPE DISK FORMAT '+DATA/BKUP/%U'
  ARCHIVELOG ALL ;


list backup summary;
list datafilecopy all ;


list backup of archivelog all ;

 

-- 9. パスワードファイルをスタンバイ側へコピー


su - grid

asmcmd

cp +DATA/MOON/PASSWORD/pwdmoon.258.1196211043     /tmp/orapwsun
exit

su - oracle

cd /tmp
cp orapwsun /u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwsun1

 

-- 10. 監査ファイルの保存先の作成

mkdir -p /u01/app/oracle/admin/sun/adump
mkdir -p /u01/app/oracle/diag/rdbms/sun/sun1


 

-- 11. 補助インスタンス用の初期化パラメータ・ファイルの作成

vi /tmp/pfileAUX.ora

*.DB_NAME='moon'
*.DB_UNIQUE_NAME='sun'
*.DB_BLOCK_SIZE=8192
*.MEMORY_TARGET=2g
*.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'


-- 12. 補助インスタンス起動

export ORACLE_SID=sun1
env | grep ORA

sqlplus / as sysdba

startup nomount pfile='/tmp/pfileAUX.ora' ;

Password Fileを読み込んでいることを確認

set lines 160 pages 50000 tab off trim on
col FILE_NAME for a60
select FILE_NAME, FORMAT, IS_ASM from V$PASSWORDFILE_INFO ;

exit


-- 13. RMANバックアップからスタンバイDBの作成

export ORACLE_SID=sun1
rman auxiliary /

duplicate database 'moon' DBID 2950463275 for standby 
  backup location '+DATA/BKUP/'
  dorecover
  spfile
    set DB_UNIQUE_NAME='sun'
    set LOG_ARCHIVE_DEST_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(ALL_LOGFILES,ALL_ROLES) MAX_FAILURE=1 REOPEN=5 DB_UNIQUE_NAME=sun ALTERNATE=LOG_ARCHIVE_DEST_2'
    set LOG_ARCHIVE_DEST_2='location=+DATA valid_for=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=sun ALTERNATE=LOG_ARCHIVE_DEST_1'
    set LOG_ARCHIVE_DEST_3='SERVICE=MOON ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=moon'
    set FAL_SERVER='MOON'
    set FAL_CLIENT='SUN'
    set AUDIT_FILE_DEST='/u01/app/oracle/admin/sun/adump'
    set INSTANCE_NUMBER='1'
    set CONTROL_FILES='+DATA/SUN/CONTROLFILE/standby_controlfile.ctl'
    set remote_listener='scan125.example.com:1522'
;


複製されたデータベースの名前、インスタンス名、ロールを確認

export ORACLE_SID=sun1
sqlplus / as sysdba

select NAME, DB_UNIQUE_NAME, OPEN_MODE, DATABASE_ROLE, FLASHBACK_ON from V$DATABASE ;

alter database flashback on ;
select NAME, DB_UNIQUE_NAME, OPEN_MODE, DATABASE_ROLE, FLASHBACK_ON from V$DATABASE ;


-- 14. SPFILE作成

create pfile='/tmp/pfileSTB.ora' from spfile ;
shutdown immediate ;

cp /tmp/pfileSTB.ora /tmp/pfileSTB.ora.bk
vi /tmp/pfileSTB.ora

アンダースコアで始まるパラメータを削除

次のパラメータが存在している場合は削除
*.instance_number
*.thread
*.undo_tablespace

インスタンス名を修正
moon1 -> sun1

*.dispatchers='(PROTOCOL=TCP) (SERVICE=moonXDB)'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=sunXDB)'


-- 15. SPFILEのASM配置

SPFILE格納用ディレクトリを作成
asmcmd

mkdir +DATA/SUN/parameterfile


export ORACLE_SID=sun1
sqlplus / as sysdba
create spfile='+DATA/SUN/parameterfile/spfilesun.ora' from pfile='/tmp/pfileSTB.ora' ;


-- 16. ポインターPFILE作成

rm -rf $ORACLE_HOME/dbs/spfilesun1.ora
echo "SPFILE='+DATA/SUN/parameterfile/spfilesun.ora'" > $ORACLE_HOME/dbs/initsun1.ora


 

-- 17. パスワードファイルのASM配置

asmcmd

mkdir +DATA/SUN/password

cp /u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwsun1 +DATA/SUN/password/orapwsun

 

 

-- 18. GIへのリソース登録

srvctl remove instance -db sun -instance sun1 
srvctl remove database -db sun 

srvctl add database -db sun -oraclehome /u01/app/oracle/product/19.0.0/dbhome_1 -dbtype RAC -dbname moon -role physical_standby -spfile "+DATA/SUN/parameterfile/spfilesun.ora" -pwfile "+DATA/SUN/password/orapwsun"
srvctl add instance -db sun -instance sun1 -node mmdb125
srvctl config database -db moon -all
srvctl config database -db sun -all
crsctl stat res -t

-- 19. スタンバイDBの起動

srvctl start database -db sun -startoption mount

 


export ORACLE_SID=sun1
sqlplus / as sysdba

alter database recover managed standby database disconnect from session ;

set linesize 170 pages 50000 tab off trim on
col VALUE for a32
select PROCESS,PID,STATUS,THREAD#,SEQUENCE# from V$MANAGED_STANDBY where PROCESS='MRP0';

select SOURCE_DB_UNIQUE_NAME, NAME, VALUE, UNIT from V$DATAGUARD_STATS ;


-- 20. スタンバイ側リスナー設定

export ORACLE_SID=sun1
sqlplus / as sysdba

show parameter listener
alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.137.126)(PORT=1522))' scope=both sid='*';
show parameter listener

srvctl stop database -d sun
srvctl start database -d sun
crsctl stat res -t


srvctl config listener -listener listener


netcaで1522リスナー追加

srvctl config listener -listener listener2


srvctl config scan -all

srvctl config scan_listener -all

 

-- 21. Data Guard構成確認

set linesize 250 pages 5000 tab off
col FORCE_LOGGING for a6
col FLASHBACK_ON for a6
select DBID, NAME, DB_UNIQUE_NAME, DATABASE_ROLE, PROTECTION_MODE, CURRENT_SCN, FLASHBACK_ON, FORCE_LOGGING from V$DATABASE ;


select * from V$DATAGUARD_CONFIG ;

 

set linesize 200 pages 5000 tab off
col DEST_NAME for a20
col DB_UNIQUE_NAME for a8
col TARGET for a8
col RECOVERY_MODE for a25
col GAP_STATUS for a10
select A.DEST_ID, A.DEST_NAME, A.DB_UNIQUE_NAME, B.DATABASE_MODE, B.RECOVERY_MODE, 
       A.TRANSMIT_MODE, A.AFFIRM, A.TARGET, A.STATUS, A.LOG_SEQUENCE, A.APPLIED_SCN, 
       B.GAP_STATUS, A.ERROR, B.ERROR
  from V$ARCHIVE_DEST A, V$ARCHIVE_DEST_STATUS B
 where A.DEST_ID=B.DEST_ID
   and A.TARGET in ('STANDBY', 'REMOTE') ;

 

set linesize 200 pages 5000 tab off
col PID for a10
select NAME, PID, TYPE, ROLE, ACTION, CLIENT_PID, CLIENT_ROLE, THREAD#, SEQUENCE#, BLOCK#, BLOCK_COUNT, DELAY_MINS, DEST_ID, DBID, DGID, INSTANCE
  from V$DATAGUARD_PROCESS 
 order by 1 ;


ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE OPEN;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
alter pluggable database all open;

echo "select instance_name from v\$instance;" |  sqlplus sys/oracle@SUN  as sysdba
echo "select instance_name from v\$instance;" |  sqlplus test/test@PDB01RO

 

crsctl stop crs
crsctl start crs -wait
crsctl stat res -t

 


-- 22. Oracle Data Guardブローカーのインストール

※プライマリとスタンバイで実施
alter system set dg_broker_start=true scope=both sid='*';

show parameter dg

ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='' scope=both sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='' scope=both sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='' scope=both sid='*';


show parameter log;

dgmgrl

connect sys/oracle

 


CREATE CONFIGURATION 'DRSolution' AS
PRIMARY DATABASE IS 'moon'
CONNECT IDENTIFIER IS MOON;

SHOW CONFIGURATION;

ADD DATABASE 'sun' AS
CONNECT IDENTIFIER IS SUN;

ENABLE CONFIGURATION;

show configuration verbose;
show database verbose 'moon';
show database verbose 'sun';

 

LANG=C netmgr


下記サービス追加
LISTENER
moon_DGMGRL.example.com
moon1

LISTENER2
sun_DGMGRL.example.com
sun1

srvctl stop listener -l listener
srvctl start listener -l listener

srvctl stop listener -l listener2
srvctl start listener -l listener2

 

 

 

 

{16 追加}ACFSの圧縮

 

https://docs.oracle.com/cd/F19136_01/ostmg/acfs-commands-compression.html#GUID-6E9EE86D-5FC9-4255-8F6F-3F56E6DEE9CE

 


/sbin/acfsutil compress on  /acfsmounts/acfs1

echo "Oracle ACFS File System11" > /acfsmounts/acfs1/myfile11
/sbin/acfsutil compress info /acfsmounts/acfs1/myfile11


/sbin/acfsutil compress off /acfsmounts/acfs1

 

{16 追加}ACFSのデフラグメンテーション

 


https://docs.oracle.com/cd/F19136_01/ostmg/acfs-commands-utilities.html#GUID-1B6CE1FB-48E9-480D-AD68-68C73952EE56

 

/sbin/acfsutil defrag dir -r /acfsmounts/acfs1

/sbin/acfsutil defrag file /acfsmounts/acfs1/myfile

 

{16 追加}ASMディスク・グループの名前変更

 

https://docs.oracle.com/cd/F19136_01/ostmg/maintain-diskgroups.html#GUID-45A0F079-2D23-47D3-A366-569076D2F845

renamedgを実行する前に、クラスタ内のすべてのノードでディスク・グループをディスマウントする必要があります。

 

su - grid


select * from gv$asm_diskgroup;

alter diskgroup DATA2 dismount FORCE;


renamedg dgname=DATA2 newdgname=DATA3 verbose=true


select * from gv$asm_diskgroup;

alter diskgroup DATA3 mount ;

 

{16 追加}Statspackを使用したパフォーマンス・データの表示

 

https://www.oracle.com/assets/how-to-get-statspack-3232083-ja.pdf

cat $ORACLE_HOME/rdbms/admin/spdoc.txt


ls -l  $ORACLE_HOME/rdbms/admin/sp*

 


sqlplus sys/oracle@localhost:1521/pdb21.example.com as sysdba


-- 1. インストール


SELECT user_id, username FROM dba_users
 WHERE username = 'PERFSTAT';

 

@?/rdbms/admin/spcreate.sql

 

-- 2. スナップショットの取得(手動)

conn perfstat/perfstat@localhost:1521/pdb21.example.com

execute statspack.snap


select snap_id,to_char(snap_time,'yy-mm-dd hh24:mi:ss') snap_time,
 snap_level from stats$snapshot order by snap_id;

 

-- 3. スナップショットの取得(自動)

conn sys/oracle@localhost:1521/pdb21.example.com as sysdba

show parameter job_queue_processes

@?/rdbms/admin/spauto.sql


-- 4. レポートの作成

 

conn perfstat/perfstat@localhost:1521/pdb21.example.com

@?/rdbms/admin/spreport.sql

 


-- 5. スナップショットの削除

conn perfstat/perfstat@localhost:1521/pdb21.example.com

@?/rdbms/admin/sppurge.sql

select snap_id,to_char(snap_time,'yy-mm-dd hh24:mi:ss') snap_time,
 snap_level from stats$snapshot order by snap_id;

 

 

 

 

{16 追加}暗号化されたPDBの切断および接続

 

https://docs.oracle.com/cd/F19136_01/asoag/managing-keystores-encryption-keys-in-united-mode.html#GUID-576582FE-7252-49BC-B795-121689258890

 

orcl:pdb11 -> PROD1:pdb11

-- 1. キーストアとCDBマスター暗号化キーの作成 ( orcl, PROD1 )

conn / as sysdba


show parameter wallet
show parameter tde

ALTER SYSTEM SET WALLET_ROOT = '/oradata/orcl' SCOPE = spfile SID = '*';
ALTER SYSTEM SET WALLET_ROOT = '/oradata/PROD1' SCOPE = spfile SID = '*';

shutdown immediate
startup


ALTER SYSTEM SET TDE_CONFIGURATION="KEYSTORE_CONFIGURATION=FILE" SCOPE = BOTH SID = '*';

show parameter wallet
show parameter tde

select * from v$encryption_wallet;

ADMINISTER KEY MANAGEMENT CREATE KEYSTORE IDENTIFIED BY oracle;


ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY oracle ;

ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY oracle WITH BACKUP USING 'test';

ADMINISTER KEY MANAGEMENT SET KEYSTORE close IDENTIFIED BY oracle ;


ADMINISTER KEY MANAGEMENT CREATE LOCAL AUTO_LOGIN KEYSTORE 
FROM KEYSTORE IDENTIFIED BY oracle;

shutdown immediate
startup

select * from v$encryption_wallet;

 


-- 2. PDBマスター暗号化キーの作成 ( orcl )

orcl:pdb11で下記を実行しmaster keyを作成

sqlplus sys/oracle@localhost:1523/pdb11.example.com as sysdba

ADMINISTER KEY MANAGEMENT SET  KEY
FORCE KEYSTORE
IDENTIFIED BY oracle
WITH BACKUP USING 'test';

select * from v$encryption_wallet;

 

 

-- 3. 既存表領域の暗号化 ( orcl )

sqlplus sys/oracle@localhost:1523/pdb11.example.com as sysdba


select TABLESPACE_NAME,ENCRYPTED from dba_tablespaces
order by TABLESPACE_NAME;


ALTER TABLESPACE SYSTEM ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE SYSAUX ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE UNDO_1 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE USERS  ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE USERTBS ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS01 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS02 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS03 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS04 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS05 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
ALTER TABLESPACE TBS55 ENCRYPTION ONLINE USING 'AES256' ENCRYPT;

select * from dba_temp_files;

create temporary tablespace TEMP2 tempfile '/oradata/orcl/pdb11/temp02.dbf
 size 10M autoextend on maxsize unlimited
 ENCRYPTION USING 'AES256' ENCRYPT;

 

select * from database_properties where PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE';
alter database default temporary tablespace TEMP2;

drop tablespace TEMP including contents and datafiles;

 

select * from V$ENCRYPTED_TABLESPACES
order by TS#;

 

-- 4. PDBの切断 ( orcl )

conn / as sysdba

alter pluggable database pdb11 close immediate;

show pdbs;


ALTER PLUGGABLE DATABASE pdb11 
UNPLUG INTO '/tmp/pdb11.pdb
ENCRYPT USING transport_secret; 


-- 5. PDBの接続 ( PROD1 )

conn / as sysdba

show pdbs;


CREATE PLUGGABLE DATABASE pdb11 
USING '/tmp/pdb11.pdb
KEYSTORE IDENTIFIED BY oracle
DECRYPT USING transport_secret;

alter pluggable database pdb11 open;

alter session set container=pdb11;

ADMINISTER KEY MANAGEMENT SET KEY
FORCE KEYSTORE
IDENTIFIED BY oracle
WITH BACKUP USING 'test';

select * from v$encryption_wallet;


select TABLESPACE_NAME,ENCRYPTED from dba_tablespaces
order by TABLESPACE_NAME;


select * from V$ENCRYPTED_TABLESPACES
order by TS#;

 

 

{16 追加}通常PDBのアプリケーションPDBへの変換




https://docs.oracle.com/cd/F32587_01/multi/administering-application-containers-with-sql-plus.html#GUID-27A78D0C-B90B-4BB9-A8D2-787353A667B1

 

sqlplus / as sysdba

select * from cdb_applications;

col name for a15

select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;


alter session set container=sales2;

CREATE PLUGGABLE DATABASE sales2pdb01 FROM pdb21;

ALTER PLUGGABLE DATABASE sales2pdb01 OPEN;


select * from PDB_PLUG_IN_VIOLATIONS;

ALTER SESSION SET CONTAINER=sales2pdb01;

@$ORACLE_HOME/rdbms/admin/pdb_to_apppdb.sql
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN;


ALTER PLUGGABLE DATABASE APPLICATION SALESAPP SYNC;
ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE OPEN ;

conn / as sysdba

col name for a15
select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;

select * from cdb_applications;

 

 

 

{16 追加}アプリケーション・コンテナの切断および接続

 


https://docs.oracle.com/cd/F19136_01/multi/creating-removing-application-containers-seeds-with-sql-plus.html#GUID-3A704871-D12B-49E1-98A9-61B6B1DCB187


切断する前に、アプリケーション・コンテナにアプリケーションPDBが接続されていない必要があり、クローズされている必要があります。

 

sqlplus / as sysdba


col name for a10

select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;

alter pluggable database sales close immediate;

drop pluggable database AMER including datafiles;
drop pluggable database EURO including datafiles;
drop pluggable database ASIA including datafiles;


ALTER PLUGGABLE DATABASE sales UNPLUG INTO '/oradata/PROD1/sales.pdb';


CREATE PLUGGABLE DATABASE sales3  AS APPLICATION CONTAINER as clone USING '/oradata/PROD1/sales.pdb
  COPY ;

alter pluggable database all open;
alter pluggable database all save state;

 

select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;

 

{16 追加}アプリケーション・コンテナのクローニング

https://docs.oracle.com/cd/F19136_01/multi/creating-removing-application-containers-seeds-with-sql-plus.html#GUID-3C6D4200-1FEC-4C0F-B335-EFDC655ADABC


sqlplus / as sysdba

alter pluggable database all open;
alter pluggable database all save state;

col name for a10

select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;

 

show parameter db_create_file_dest

CREATE PLUGGABLE DATABASE sales2 AS APPLICATION CONTAINER 
  from sales;

select 
 CON_ID
,NAME
,OPEN_MODE
,RESTRICTED
,APPLICATION_ROOT
,APPLICATION_PDB
,APPLICATION_SEED
,PDB_COUNT
,APPLICATION_ROOT_CON_ID
from v$pdbs
order by CON_ID;


alter pluggable database sales2 open;
alter pluggable database sales2 save state;

 

{16 追加}メンテナンス・ウィンドウの期間の変更

 


https://docs.oracle.com/cd/F19136_01/admin/managing-automated-database-maintenance-tasks.html#GUID-A4FA16ED-9575-4EBF-8EE1-904F58FD4D8E


sqlplus sys/oracle@pdb11 as sysdba


select * from DBA_AUTOTASK_WINDOW_CLIENTS;
select * from DBA_SCHEDULER_WINDOWS;


BEGIN
  dbms_scheduler.disable(
    name  => 'SATURDAY_WINDOW');
  dbms_scheduler.set_attribute(
    name      => 'SATURDAY_WINDOW',
    attribute => 'DURATION',
    value     => numtodsinterval(3, 'hour'));
  dbms_scheduler.enable(
    name => 'SATURDAY_WINDOW');
END;
/

 

select * from DBA_AUTOTASK_WINDOW_CLIENTS;
select * from DBA_SCHEDULER_WINDOWS;

 

BEGIN
  dbms_scheduler.disable(
    name  => 'SATURDAY_WINDOW');
  dbms_scheduler.set_attribute(
    name      => 'SATURDAY_WINDOW',
    attribute => 'repeat_interval',
    value     => 'freq=daily;byday=SAT;byhour=9;byminute=10; bysecond=20');
  dbms_scheduler.enable(
    name => 'SATURDAY_WINDOW');
END;
/

 

select * from DBA_AUTOTASK_WINDOW_CLIENTS;
select * from DBA_SCHEDULER_WINDOWS;