If you don't want call a function several times, you may wrap it into subselect and then treat its result as my_address_detail_t several times
FROM (SELECT SERVICE_TYPE, FN_GET_ADDRESS_DETAIL(USER_ID)
BTW, a believe even you write:
Assuming that these machines are sitting in the same network domain, have no firewalls between them and that you're running with everything "as standard", then you should be able to access the Database Instance running on PC1 from PC2 using these parameters in SQL Developer:
Connection Type: Basic
My guess is that there is a logon trigger that checks the application name. Apparently written by someone who doesn't understand that the name of the application can not be relied upon.
The following advice might get you in trouble, use with caution!
Oracle's JDBC driver lets you specify the application name through a connection property.
SQL Developer ...
The Oracle built in function called LAST_DAY can help you here.
It can be used with dates or timestamps and an example based on your table description is:
SELECT * FROM TABLE1
WHERE EXTRACT(DAY FROM DDATE) = EXTRACT(DAY FROM LAST_DAY(DDATE))
AND EXTRACT (MONTH FROM DDATE) = 1;
There are many ways to work with dates in Oracle but I like using EXTRACT as ...
No, it is not circular, alter database open is the 3rd step.
If you have a backup of that datafile, then restore and recover it.
If you do not have a backup, then do what the post you referenced tells you. Since your database is already mounted, you can skip step 1.
If the database is down, mount it.
Offline drop the ...
That is not valid syntax.
SQL> select count(t.*) as x from dual t;
select count(t.*) as x from dual t
ERROR at line 1:
ORA-01747: invalid user.table.column, table.column, or column specification
SQL> select count(*) as x from dual t;